# roots lifted from sdk.elf by sdklift.py (see the file header there). One mangled name per line.
# Every one of these is self-contained in the SDK: no system-service session, no SDK global set up by its static constructors.

_ZNK2nn3mii16CharInfoAccessor7IsValidEv
_ZNK2nn3mii16CharInfoAccessor11GetNicknameEPNS0_8NicknameEi
_ZNK2nn3mii16CharInfoAccessor13GetFontRegionEv
_ZNK2nn3mii16CharInfoAccessor16GetFavoriteColorEv
_ZNK2nn3mii16CharInfoAccessor9GetGenderEv
_ZNK2nn3mii16CharInfoAccessor9GetHeightEv
_ZNK2nn3mii16CharInfoAccessor8GetBuildEv
_ZNK2nn3mii16CharInfoAccessor11GetHairTypeEv
_ZNK2nn3mii16CharInfoAccessor15GetFacelineTypeEv
_ZNK2nn3mii16CharInfoAccessor12GetSkinColorEv
_ZN2nn3mii12GetSkinColorEiNS0_9GammaTypeE
_ZN2nn3mii16GetFavoriteColorENS0_13FavoriteColorENS0_9GammaTypeE
_ZNK2nn3mii21ParamCharInfoAccessor7IsValidEv
_ZNK2nn3mii21ParamCharInfoAccessor9GetGenderEv
_ZN2nn3mii12GetSkinColorENS0_13FacelineColorENS0_9GammaTypeE
_ZN2nn3mii14GetCommonColorENS0_11CommonColorENS0_9GammaTypeE
_ZN2nn3mii16GetNoselineColorENS0_9GammaTypeE
_ZNK2nn3mii21ParamCharInfoAccessor11GetHairFlipEv
_ZNK2nn3mii21ParamCharInfoAccessor11GetHairTypeEv
_ZNK2nn3mii21ParamCharInfoAccessor11GetNoseTypeEv
_ZNK2nn3mii21ParamCharInfoAccessor12GetBeardTypeEv
_ZNK2nn3mii21ParamCharInfoAccessor12GetGlassTypeEv
_ZNK2nn3mii21ParamCharInfoAccessor12GetHairColorEv
_ZNK2nn3mii21ParamCharInfoAccessor12GetNoseScaleEv
_ZNK2nn3mii21ParamCharInfoAccessor13GetBeardColorEv
_ZNK2nn3mii21ParamCharInfoAccessor13GetGlassColorEv
_ZNK2nn3mii21ParamCharInfoAccessor13GetGlassScaleEv
_ZNK2nn3mii21ParamCharInfoAccessor15GetFacelineTypeEv
_ZNK2nn3mii21ParamCharInfoAccessor16GetFacelineColorEv
_ZNK2nn3mii21ParamCharInfoAccessor16GetFavoriteColorEv
_ZNK2nn3mii21ParamCharInfoAccessor8GetNoseYEv
_ZNK2nn3mii21ParamCharInfoAccessor9GetGlassYEv
_ZN2nn3mii15GetWrinkleColorENS0_9GammaTypeE
_ZNK2nn3mii21ParamCharInfoAccessor15GetFacelineMakeEv
_ZNK2nn3mii21ParamCharInfoAccessor18GetFacelineWrinkleEv
_ZNK2nn3mii21ParamCharInfoAccessor9IsSpecialEv
_ZN2nn3mii12GetMoleColorENS0_9GammaTypeE
_ZN2nn3mii14GetEyeRedColorENS0_9GammaTypeE
_ZN2nn3mii15GetEyeBlueColorENS0_11CommonColorENS0_9GammaTypeE
_ZN2nn3mii16GetEyeGreenColorENS0_9GammaTypeE
_ZN2nn3mii16GetMouthRedColorENS0_11CommonColorENS0_9GammaTypeE
_ZN2nn3mii17GetMouthBlueColorENS0_9GammaTypeE
_ZN2nn3mii18GetExpressionCountEi
_ZN2nn3mii18GetMouthGreenColorENS0_11CommonColorENS0_9GammaTypeE
_ZN2nn3mii6detail18GetEyeRotateOffsetENS0_7EyeTypeE
_ZN2nn3mii6detail22GetEyebrowRotateOffsetENS0_11EyebrowTypeE
_ZNK2nn3mii21ParamCharInfoAccessor10GetEyeTypeEv
_ZNK2nn3mii21ParamCharInfoAccessor11GetEyeColorEv
_ZNK2nn3mii21ParamCharInfoAccessor11GetEyeScaleEv
_ZNK2nn3mii21ParamCharInfoAccessor11GetEyebrowXEv
_ZNK2nn3mii21ParamCharInfoAccessor11GetEyebrowYEv
_ZNK2nn3mii21ParamCharInfoAccessor11GetMoleTypeEv
_ZNK2nn3mii21ParamCharInfoAccessor12GetEyeAspectEv
_ZNK2nn3mii21ParamCharInfoAccessor12GetEyeRotateEv
_ZNK2nn3mii21ParamCharInfoAccessor12GetMoleScaleEv
_ZNK2nn3mii21ParamCharInfoAccessor12GetMouthTypeEv
_ZNK2nn3mii21ParamCharInfoAccessor12GetMustacheYEv
_ZNK2nn3mii21ParamCharInfoAccessor13GetMouthColorEv
_ZNK2nn3mii21ParamCharInfoAccessor13GetMouthScaleEv
_ZNK2nn3mii21ParamCharInfoAccessor14GetEyebrowTypeEv
_ZNK2nn3mii21ParamCharInfoAccessor14GetMouthAspectEv
_ZNK2nn3mii21ParamCharInfoAccessor15GetEyebrowColorEv
_ZNK2nn3mii21ParamCharInfoAccessor15GetEyebrowScaleEv
_ZNK2nn3mii21ParamCharInfoAccessor15GetMustacheTypeEv
_ZNK2nn3mii21ParamCharInfoAccessor16GetEyebrowAspectEv
_ZNK2nn3mii21ParamCharInfoAccessor16GetEyebrowRotateEv
_ZNK2nn3mii21ParamCharInfoAccessor16GetMustacheScaleEv
_ZNK2nn3mii21ParamCharInfoAccessor7GetEyeXEv
_ZNK2nn3mii21ParamCharInfoAccessor7GetEyeYEv
_ZNK2nn3mii21ParamCharInfoAccessor8GetMoleXEv
_ZNK2nn3mii21ParamCharInfoAccessor8GetMoleYEv
_ZNK2nn3mii21ParamCharInfoAccessor9GetMouthYEv
_ZN2nn3web22ShowOfflineHtmlPageArg16SetFooterEnabledEb
_ZN2nn3web22ShowOfflineHtmlPageArg21SetJsExtensionEnabledEb
_ZN2nn3web22ShowOfflineHtmlPageArg18SetWebAudioEnabledEb
_ZN2nn3web22ShowOfflineHtmlPageArg17SetPointerEnabledEb
_ZN2nn3web22ShowOfflineHtmlPageArg18SetPageFadeEnabledEb
_ZN2nn3web22ShowOfflineHtmlPageArg25SetTouchEnabledOnContentsEb
_ZN2nn3web22ShowOfflineHtmlPageArg17SetKeyRepeatFrameEii
_ZN2nn3web22ShowOfflineHtmlPageArg18SetBootDisplayKindENS0_22OfflineBootDisplayKindE
_ZN2nn3web22ShowOfflineHtmlPageArg17SetBackgroundKindERKNS0_21OfflineBackgroundKindE
_ZN2nn3web26OfflineHtmlPageReturnValueC1Ev
_ZN2nn3web36ShowOfflineHtmlPageArgWithPlayReportC1EPKc
_ZN2nn3web22ShowOfflineHtmlPageArgC1EPKc
_ZN2nn3web14ShowWebPageArgC1EPKc
_ZN2nn3web14ShowWebPageArg18SetBootDisplayKindENS0_18WebBootDisplayKindE
_ZN2nn3web14ShowWebPageArg17SetBackgroundKindENS0_17WebBackgroundKindE
_ZN2nn3web14ShowWebPageArg21SetJsExtensionEnabledEb
_ZN2nn3web14ShowWebPageArg18SetWebAudioEnabledEb
_ZN2nn3web14ShowWebPageArg17SetPointerEnabledEb
_ZN2nn3web14ShowWebPageArg18SetPageFadeEnabledEb
_ZN2nn3web14ShowWebPageArg25SetTouchEnabledOnContentsEb
_ZN2nn3web14ShowWebPageArg23SetMediaAutoPlayEnabledEb
_ZN2nn3web18SetShopJumpEnabledEPNS0_14ShowWebPageArgE
_ZN2nn3web14ShowWebPageArg6SetUidERKNS_7account3UidE
_ZN2nn3web14ShowWebPageArg14SetCallbackUrlEPKc
_ZN2nn3web14ShowWebPageArg18SetCallbackableUrlEPKc
_ZN2nn3web18WebPageReturnValueC1Ev
_ZNK2nn3web18WebPageReturnValue16GetWebExitReasonEv
_ZNK2nn3web18WebPageReturnValue10GetLastUrlEv
_ZN2nn3web19ShowYouTubeVideoArgC1EPKc
_ZN2nn3web19ShowYouTubeVideoArg30SetMediaPlayerAutoCloseEnabledEb
_ZN2nn3web35IsMediaPlayerAutoClosedByCompletionERKNS0_18WebPageReturnValueE
_ZN2nn3web16ShowLobbyPageArg17SetLobbyParameterEPKc
_ZN2nn3web16ShowLobbyPageArg6SetUidERKNS_7account3UidE
_ZN2nn3web16ShowLobbyPageArgC1Ev
_ZN2nn3web20LobbyPageReturnValueC1Ev
_ZNK2nn3web20LobbyPageReturnValue18GetLobbyExitReasonEv
_ZN2nn5album24MovieMakerMovieParameterC1Ev
_ZNK2nn5album24MovieMakerMovieParameter15GetAudioBitRateEv
_ZN2nn5album23GetAlbumFileCreatedTimeERKNS0_14AlbumFileEntryE
_ZN2nn5album35GetMovieMakerRequiredWorkMemorySizeEv
_ZN2nn5album40GetMovieMakerRequiredWorkMemoryAlignmentEv
_ZN2nn5album24MovieMakerMovieParameter13SetVideoWidthEi
_ZN2nn5album24MovieMakerMovieParameter14SetVideoHeightEi
_ZN2nn5album24MovieMakerMovieParameter17SetVideoFrameRateEi
_ZN2nn5album24MovieMakerMovieParameter24SetVideoKeyFrameIntervalEi
_ZN2nn5album24MovieMakerMovieParameter15SetVideoBitRateEi
_ZN2nn5album24MovieMakerMovieParameter15SetAudioBitRateEi
_ZN2nn5album24MovieMakerMovieParameter18SetAudioSampleRateEi
_ZN2nn5album24MovieMakerMovieParameter20SetAudioChannelCountEi
_ZN2nn5image11JpegEncoderC1Ev
_ZN2nn5image11JpegEncoder10SetQualityEi
_ZN2nn5image11JpegEncoder7AnalyzeEv
_ZNK2nn5image11JpegEncoder25GetAnalyzedWorkBufferSizeEv
_ZN2nn5image11JpegEncoderD1Ev
_ZN2nn5image11JpegEncoder12SetPixelDataEPKvNS0_11PixelFormatERKNS0_9DimensionEi
_ZN2nn5image11JpegEncoder6EncodeEPmPvmS3_mPNS0_11ExifBuilderE
_ZN2nn5image11ExifBuilder17GetWorkBufferSizeEv
_ZN2nn5image11ExifBuilderC1EPvm
_ZN2nn5image11ExifBuilder12SetThumbnailEPKvm
_ZN2nn5image11ExifBuilder7AnalyzeEv
_ZN2nn5image11JpegEncoder16SetSamplingRatioENS0_17JpegSamplingRatioE
_ZN2nn5image11ExifBuilderD1Ev
_ZN2nn5image11JpegDecoderC1Ev
_ZN2nn5image11JpegDecoder12SetImageDataEPKvm
_ZN2nn5image11JpegDecoder7AnalyzeEv
_ZNK2nn5image11JpegDecoder20GetAnalyzedDimensionEv
_ZNK2nn5image11JpegDecoder25GetAnalyzedWorkBufferSizeEv
_ZN2nn5image11JpegDecoder6DecodeEPvmiS2_m
_ZN2nn5image11JpegDecoderD1Ev
_ZN2nn5swkbd24InitializeKeyboardConfigEPNS0_14KeyboardConfigE
_ZN2nn5swkbd10MakePresetEPNS0_14KeyboardConfigENS0_6PresetE
_ZN2nn5swkbd12SetGuideTextEPNS0_14KeyboardConfigEPKDs
_ZN2nn5swkbd13SetHeaderTextEPNS0_14KeyboardConfigEPKDs
_ZN2nn5swkbd10SetSubTextEPNS0_14KeyboardConfigEPKDs
_ZN2nn5swkbd25GetRequiredWorkBufferSizeEb
_ZN2nn5swkbd34GetRequiredTextCheckWorkBufferSizeEv
_ZN2nn5swkbd27GetRequiredStringBufferSizeEv
_ZNK2nn7friends6Friend11GetPresenceEv
_ZNK2nn7friends14FriendPresence9GetStatusEv
_ZNK2nn7friends7Profile11GetNicknameEv
_ZNK2nn7friends6Friend12GetAccountIdEv
_ZNK2nn7friends7Profile12GetAccountIdEv
_ZN2nn6socket8InetAtonEPKcPNS0_6InAddrE
_ZN2nn6socket8InetNtoaE7in_addr
_ZN2nn6socket8InetNtopEiPKvPcj
_ZN2nn6socket8InetPtonEiPKcPv
_ZNK2nn7account25CachedNintendoAccountInfo10GetCountryEPm
_ZNK2nn7account25CachedNintendoAccountInfo9GetGenderEPm
_ZNK2nn7account25CachedNintendoAccountInfo11GetBirthdayEPm
_ZNK2nn3hid18SixAxisSensorState13GetQuaternionEPNS_4util4neon12Vector4fTypeE
_ZN2nn3ldn20MakeBroadcastAddressENS0_11Ipv4AddressENS0_10SubnetMaskE
_ZN2nn3ngc12CountNumbersEPKt

# replaces the trap in nnsdk.c
_ZN2nn4util14DecompressZlibEPvmPKvmS1_m

# nn::mii: accessor constructors (copy + ReplaceCharInfoIfNecessary) and the building blocks the mii
# service itself is made of (same library); nnmii.c drives them for Database::BuildDefault/BuildRandom/Convert
_ZN2nn3mii16CharInfoAccessorC1ERKNS0_8CharInfoE
_ZN2nn3mii21ParamCharInfoAccessorC1ERKNS0_8CharInfoE
_ZNK2nn3mii16CharInfoAccessor7IsValidEv
_ZN2nn3mii6detail11UtilityImplC1Ev
_ZN2nn3mii6detail12StoreDataRaw12BuildDefaultEPNS1_11UtilityImplEi
_ZN2nn3mii6detail12StoreDataRaw11BuildRandomEPNS1_11UtilityImplERKNS0_10RandomDescE
_ZN2nn3mii6detail11CharInfoRaw19SetFromStoreDataRawERKNS1_12StoreDataRawE
_ZNK2nn3mii6detail11CharInfoRaw7IsValidEv
_ZNK2nn3mii6detail16Ver3StoreDataRaw7IsValidEv
_ZNK2nn3mii6detail16Ver3StoreDataRaw16BuildToStoreDataEPNS1_12StoreDataRawEPNS1_11UtilityImplE
_ZN2nn3mii6detail13GetDefaultMiiEi
# region code is only asked when special Miis are enabled (a global nothing sets here): [sdk] 0x2f1eac
# close5: answered by nnmii.c settings_GetRegionCode (console setting -> Windows location)
cut _ZN2nn8settings6system13GetRegionCodeEPNS1_10RegionCodeE
trap _ZN2nn8settings6detail13GetRegionCodeEPi
# the console's Mii author id (settings service): answered by nnmii.c
cut _ZN2nn8settings6system14GetMiiAuthorIdEPNS_4util4UuidE

# nn::bcat objects (replace the do-nothing constructors of nnsdk.c): the progress object is a mutex plus plain fields
_ZN2nn4bcat21DeliveryCacheProgressC1Ev
_ZN2nn4bcat21DeliveryCacheProgressD1Ev
_ZN2nn4bcat21DeliveryCacheProgress6UpdateEv
_ZN2nn4bcat17DeliveryCacheFileC1Ev
_ZN2nn4bcat22DeliveryCacheDirectoryC1Ev
# nn::ec
_ZN2nn2ec19ShopServiceAccessor13AsyncResponseC1Ev
_ZN2nn5image11JpegDecoderD0Ev
_ZN2nn5image11JpegEncoderD0Ev
_ZN2nn5image11ExifBuilderD0Ev
_ZNK2nn4bcat21DeliveryCacheProgress9GetStatusEv
_ZNK2nn4bcat21DeliveryCacheProgress13GetWholeTotalEv
_ZNK2nn4bcat21DeliveryCacheProgress18GetWholeDownloadedEv
_ZNK2nn4bcat21DeliveryCacheProgress9GetResultEv
_ZN2nn5swkbd14SetInitialTextEPNS0_15ShowKeyboardArgEPKDs
_ZN2nn5swkbd20SetTextCheckCallbackEPNS0_15ShowKeyboardArgEPFNS0_15TextCheckResultEPvPmPNS0_6StringEE

# nn::mem::StandardAllocator (nlib nmalloc) is lifted whole; what it needs below the SDK's own code is cut here and
# answered by nnsdk2.c (sdk_host_override): the pthread key / once API (musl's version keeps its data in the ThreadType,
# which the host's nn::os model does not fill) and the nn::os memory functions that end in kernel calls.
cut pthread_once
cut pthread_key_create
cut pthread_getspecific
cut pthread_setspecific
cut _ZN2nn2os19AllocateMemoryBlockEPmm
cut _ZN2nn2os15FreeMemoryBlockEmm
cut _ZN2nn2os19SetMemoryPermissionEmmNS0_16MemoryPermissionE
cut _ZN2nn2os18SetMemoryAttributeEmmNS0_15MemoryAttributeE
cut _ZN2nn2os17FreeAddressRegionEm
cut _ZN2nn2os29IsVirtualAddressMemoryEnabledEv
# [sdk 0x2e4df0..0x2e4e28] TlsHeapCentral::GetMappedMemStats_ asks the kernel (GetInfo 0x15 / 0x16, [sdk 0x337cc0]) only for an
# allocator WITHOUT a buffer (flag at +0x2c); the game always gives a buffer. Reaching it stops the program instead of inventing
# the console's memory figures.
trap _ZN2nn2os15QueryMemoryInfoEPNS0_10MemoryInfoE

# >>> audit block (generated by tools_audit/lift_select.py; do not edit by hand)
# functions the game defines itself: the SDK's references to them go to the game (ELF interposition)
cut Libz_SigloMiddlewareInfo
cut _ZN2nn2os5MutexD2Ev
cut _ZNSt3__113__tree_removeIPNS_16__tree_node_baseIPvEEEEvT_S5_
cut _ZNSt3__127__tree_balance_after_insertIPNS_16__tree_node_baseIPvEEEEvT_S5_
cut _ZNSt3__16__treeINS_12__value_typeImiEENS_19__map_value_compareImS2_NS_4lessImEELb1EEENS_9allocatorIS2_EEE7destroyEPNS_11__tree_nodeIS2_PvEE
cut _ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_
cut _ZdaPv
cut _ZdaPvRKSt9nothrow_t
cut _ZdaPvm
cut _ZdlPv
cut _ZdlPvRKSt9nothrow_t
cut _ZdlPvm
cut _Znam
cut _ZnamRKSt9nothrow_t
cut _Znwm
cut _ZnwmRKSt9nothrow_t
cut __cxa_pure_virtual
cut __nnDetailNintendoSdkRuntimeObjectFileRefer
cut nndetailRoGetRoDataEnd
cut nndetailRoGetRoDataStart
cut sched_getcpu
# real SDK code installed over a host re-implementation (plan/FAKE_AUDIT.md, part 2)
_ZN2nn2os13ConvertToTickENS_8TimeSpanE
lift _ZN2nn2os13ConvertToTickENS_8TimeSpanE
_ZN2nn2os17ConvertToTimeSpanENS0_4TickE
lift _ZN2nn2os17ConvertToTimeSpanENS0_4TickE
_ZN2nn2os22GetSystemTickFrequencyEv
lift _ZN2nn2os22GetSystemTickFrequencyEv
_ZN2nn3err18ErrorResultVariantC1ERKNS0_9ErrorCodeE
lift _ZN2nn3err18ErrorResultVariantC1ERKNS0_9ErrorCodeE
_ZN2nn3err18ErrorResultVariantC1ERKNS_6ResultE
lift _ZN2nn3err18ErrorResultVariantC1ERKNS_6ResultE
_ZN2nn3err18ErrorResultVariantC1Ev
lift _ZN2nn3err18ErrorResultVariantC1Ev
_ZN2nn3err18ErrorResultVariantaSERKNS0_9ErrorCodeE
lift _ZN2nn3err18ErrorResultVariantaSERKNS0_9ErrorCodeE
_ZN2nn3err18ErrorResultVariantaSERKNS_6ResultE
lift _ZN2nn3err18ErrorResultVariantaSERKNS_6ResultE
_ZN2nn3hid23GetSixAxisSensorHandlesEPNS0_19SixAxisSensorHandleEiRKjNS_4util10BitFlagSetILi32ENS0_12NpadStyleTagEEE
lift _ZN2nn3hid23GetSixAxisSensorHandlesEPNS0_19SixAxisSensorHandleEiRKjNS_4util10BitFlagSetILi32ENS0_12NpadStyleTagEEE
_ZN2nn3hid25GetVibrationDeviceHandlesEPNS0_21VibrationDeviceHandleEiRKjNS_4util10BitFlagSetILi32ENS0_12NpadStyleTagEEE
lift _ZN2nn3hid25GetVibrationDeviceHandlesEPNS0_21VibrationDeviceHandleEiRKjNS_4util10BitFlagSetILi32ENS0_12NpadStyleTagEEE
_ZN2nn3ldn15MakeIpv4AddressEhhhh
lift _ZN2nn3ldn15MakeIpv4AddressEhhhh
_ZN2nn3mem17StandardAllocator10InitializeEPvm
lift _ZN2nn3mem17StandardAllocator10InitializeEPvm
_ZN2nn3mem17StandardAllocator10ReallocateEPvm
lift _ZN2nn3mem17StandardAllocator10ReallocateEPvm
_ZN2nn3mem17StandardAllocator4FreeEPv
lift _ZN2nn3mem17StandardAllocator4FreeEPv
_ZN2nn3mem17StandardAllocator8AllocateEm
lift _ZN2nn3mem17StandardAllocator8AllocateEm
_ZN2nn3mem17StandardAllocator8AllocateEmm
lift _ZN2nn3mem17StandardAllocator8AllocateEmm
_ZN2nn3mem17StandardAllocator8FinalizeEv
lift _ZN2nn3mem17StandardAllocator8FinalizeEv
_ZN2nn3mem17StandardAllocatorC1Ev
lift _ZN2nn3mem17StandardAllocatorC1Ev
_ZN2nn3mem19NumberLineAllocator10InitializeEPFPvmS2_ES2_PFvS2_S2_ES2_b
lift _ZN2nn3mem19NumberLineAllocator10InitializeEPFPvmS2_ES2_PFvS2_S2_ES2_b
_ZN2nn3mem19NumberLineAllocator4FreeEi
lift _ZN2nn3mem19NumberLineAllocator4FreeEi
_ZN2nn3mem19NumberLineAllocator8AddRangeEii
lift _ZN2nn3mem19NumberLineAllocator8AddRangeEii
_ZN2nn3mem19NumberLineAllocator8AllocateEPii
lift _ZN2nn3mem19NumberLineAllocator8AllocateEPii
_ZN2nn3mii6detail15BufferAllocator7AdvanceEm
lift _ZN2nn3mii6detail15BufferAllocator7AdvanceEm
_ZN2nn3mii6detail15BufferAllocator7AlignUpEm
lift _ZN2nn3mii6detail15BufferAllocator7AlignUpEm
_ZN2nn3mii6detail15BufferAllocatorC1EPvm
lift _ZN2nn3mii6detail15BufferAllocatorC1EPvm
_ZN2nn3mii6detail15BufferAllocatorD1Ev
lift _ZN2nn3mii6detail15BufferAllocatorD1Ev
_ZN2nn3mii6detail25CalculateSizeAndAlignment20AddSizeWithAlignmentEmm
lift _ZN2nn3mii6detail25CalculateSizeAndAlignment20AddSizeWithAlignmentEmm
_ZN2nn3mii6detail25CalculateSizeAndAlignment20AddSizeWithAlignmentEmmi
lift _ZN2nn3mii6detail25CalculateSizeAndAlignment20AddSizeWithAlignmentEmmi
_ZN2nn3mii6detail25CalculateSizeAndAlignment7AddSizeEm
lift _ZN2nn3mii6detail25CalculateSizeAndAlignment7AddSizeEm
_ZN2nn3mii6detail25CalculateSizeAndAlignmentC1Ev
lift _ZN2nn3mii6detail25CalculateSizeAndAlignmentC1Ev
_ZN2nn3mii6detail25CalculateSizeAndAlignmentD1Ev
lift _ZN2nn3mii6detail25CalculateSizeAndAlignmentD1Ev
_ZN2nn4lmem15CreateFrameHeapEPvmi
lift _ZN2nn4lmem15CreateFrameHeapEPvmi
_ZN2nn4lmem16DestroyFrameHeapEPNS0_6detail8HeapHeadE
lift _ZN2nn4lmem16DestroyFrameHeapEPNS0_6detail8HeapHeadE
_ZN2nn4lmem21AllocateFromFrameHeapEPNS0_6detail8HeapHeadEmi
lift _ZN2nn4lmem21AllocateFromFrameHeapEPNS0_6detail8HeapHeadEmi
_ZN2nn4time11IsValidDateEiii
lift _ZN2nn4time11IsValidDateEiii
_ZN2nn4time12GetDayOfWeekEiii
lift _ZN2nn4time12GetDayOfWeekEiii
_ZN2nn4time13ClockSnapshotC1Ev
lift _ZN2nn4time13ClockSnapshotC1Ev
_ZN2nn4time18ToPosixTimeFromUtcERKNS0_12CalendarTimeE
lift _ZN2nn4time18ToPosixTimeFromUtcERKNS0_12CalendarTimeE
_ZN2nn4time19ToCalendarTimeInUtcERKNS0_9PosixTimeE
lift _ZN2nn4time19ToCalendarTimeInUtcERKNS0_9PosixTimeE
_ZN2nn4timegtERKNS0_12CalendarTimeES3_
lift _ZN2nn4timegtERKNS0_12CalendarTimeES3_
_ZN2nn4util11ReferSymbolEPKv
lift _ZN2nn4util11ReferSymbolEPKv
_ZN2nn4util15RelocationTable8RelocateEv
lift _ZN2nn4util15RelocationTable8RelocateEv
_ZN2nn4util16BinaryFileHeader13GetFirstBlockEv
lift _ZN2nn4util16BinaryFileHeader13GetFirstBlockEv
_ZN2nn4util16BinaryFileHeader18GetRelocationTableEv
lift _ZN2nn4util16BinaryFileHeader18GetRelocationTableEv
_ZN2nn4util27ConvertCharacterUtf8ToUtf32EPjPKc
lift _ZN2nn4util27ConvertCharacterUtf8ToUtf32EPjPKc
_ZN2nn4util30PickOutCharacterFromUtf8StringEPcPPKc
lift _ZN2nn4util30PickOutCharacterFromUtf8StringEPcPPKc
_ZN2nn4util8BitArray5resetEv
lift _ZN2nn4util8BitArray5resetEv
_ZN2nn4util8SNPrintfEPcmPKcz
lift _ZN2nn4util8SNPrintfEPcmPKcz
_ZN2nn4util9VSNPrintfEPcmPKcSt9__va_list
lift _ZN2nn4util9VSNPrintfEPcmPKcSt9__va_list
_ZN2nn5prepo10PlayReport10SetEventIdEPKc
lift _ZN2nn5prepo10PlayReport10SetEventIdEPKc
_ZN2nn5prepo10PlayReport3AddEPKcRKNS0_10Any64BitIdE
lift _ZN2nn5prepo10PlayReport3AddEPKcRKNS0_10Any64BitIdE
_ZN2nn5prepo10PlayReport3AddEPKcS3_
lift _ZN2nn5prepo10PlayReport3AddEPKcS3_
_ZN2nn5prepo10PlayReport3AddEPKcd
lift _ZN2nn5prepo10PlayReport3AddEPKcd
_ZN2nn5prepo10PlayReport3AddEPKcl
lift _ZN2nn5prepo10PlayReport3AddEPKcl
_ZN2nn5prepo10PlayReport9SetBufferEPvm
lift _ZN2nn5prepo10PlayReport9SetBufferEPvm
_ZN2nn5prepo10PlayReportC1Ev
lift _ZN2nn5prepo10PlayReportC1Ev
_ZN2nn6crypto6detail7Md5Impl10InitializeEv
lift _ZN2nn6crypto6detail7Md5Impl10InitializeEv
_ZN2nn6crypto6detail7Md5Impl6UpdateEPKvm
lift _ZN2nn6crypto6detail7Md5Impl6UpdateEPKvm
_ZN2nn6crypto6detail7Md5Impl7GetHashEPvm
lift _ZN2nn6crypto6detail7Md5Impl7GetHashEPvm
_ZN2nn6crypto6detail7Md5ImplD1Ev
lift _ZN2nn6crypto6detail7Md5ImplD1Ev
_ZN2nn6socket9InetHtonlEj
lift _ZN2nn6socket9InetHtonlEj
_ZN2nn6socket9InetHtonsEt
lift _ZN2nn6socket9InetHtonsEt
_ZN2nn6socket9InetNtohlEj
lift _ZN2nn6socket9InetNtohlEj
_ZN2nn6socket9InetNtohsEt
lift _ZN2nn6socket9InetNtohsEt
_ZN2nn7account9GetUserIdEPNS0_3UidERKNS0_10UserHandleE
lift _ZN2nn7account9GetUserIdEPNS0_3UidERKNS0_10UserHandleE
_ZN2nn7friends12AsyncContextC1Ev
lift _ZN2nn7friends12AsyncContextC1Ev
_ZN2nn7friends12UserPresenceC1Ev
lift _ZN2nn7friends12UserPresenceC1Ev
_ZN2nn7friends17NotificationQueueC1Ev
lift _ZN2nn7friends17NotificationQueueC1Ev
_ZN2nn7friends6FriendC1Ev
lift _ZN2nn7friends6FriendC1Ev
_ZN2nn7friends7ProfileC1Ev
lift _ZN2nn7friends7ProfileC1Ev
_ZNK2nn3err18ErrorResultVariant8GetStateEv
lift _ZNK2nn3err18ErrorResultVariant8GetStateEv
_ZNK2nn3err18ErrorResultVariantcvNS0_9ErrorCodeEEv
lift _ZNK2nn3err18ErrorResultVariantcvNS0_9ErrorCodeEEv
_ZNK2nn3err18ErrorResultVariantcvNS_6ResultEEv
lift _ZNK2nn3err18ErrorResultVariantcvNS_6ResultEEv
_ZNK2nn3mem17StandardAllocator16GetTotalFreeSizeEv
lift _ZNK2nn3mem17StandardAllocator16GetTotalFreeSizeEv
_ZNK2nn3mii6detail25CalculateSizeAndAlignment7GetSizeEv
lift _ZNK2nn3mii6detail25CalculateSizeAndAlignment7GetSizeEv
_ZNK2nn4util16BinaryFileHeader11GetFileSizeEv
lift _ZNK2nn4util16BinaryFileHeader11GetFileSizeEv
_ZNK2nn4util16BinaryFileHeader11IsRelocatedEv
lift _ZNK2nn4util16BinaryFileHeader11IsRelocatedEv
_ZNK2nn4util16BinaryFileHeader12GetAlignmentEv
lift _ZNK2nn4util16BinaryFileHeader12GetAlignmentEv
_ZNK2nn4util16BinaryFileHeader13GetFirstBlockEv
lift _ZNK2nn4util16BinaryFileHeader13GetFirstBlockEv
_ZNK2nn4util16BinaryFileHeader15IsEndianReverseEv
lift _ZNK2nn4util16BinaryFileHeader15IsEndianReverseEv
_ZNK2nn4util16BinaryFileHeader16IsAlignmentValidEv
lift _ZNK2nn4util16BinaryFileHeader16IsAlignmentValidEv
_ZNK2nn4util16BinaryFileHeader16IsSignatureValidEl
lift _ZNK2nn4util16BinaryFileHeader16IsSignatureValidEl
_ZNK2nn4util17BinaryBlockHeader12GetBlockSizeEv
lift _ZNK2nn4util17BinaryBlockHeader12GetBlockSizeEv
_ZNK2nn4util17BinaryBlockHeader12GetNextBlockEv
lift _ZNK2nn4util17BinaryBlockHeader12GetNextBlockEv
_ZNK2nn7friends6Friend7IsValidEv
lift _ZNK2nn7friends6Friend7IsValidEv
_ZNK2nn7friends7Profile7IsValidEv
lift _ZNK2nn7friends7Profile7IsValidEv
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEcm
lift _ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEcm
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEcm
lift _ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEcm
_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm
lift _ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm
_ZNKSt3__119__shared_weak_count13__get_deleterERKSt9type_info
lift _ZNKSt3__119__shared_weak_count13__get_deleterERKSt9type_info
_ZNSt3__112__next_primeEm
lift _ZNSt3__112__next_primeEm
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseEmm
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5eraseEmm
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4_
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4_
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev
_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSERKS5_
lift _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSERKS5_
_ZNSt3__114__shared_countD2Ev
lift _ZNSt3__114__shared_countD2Ev
_ZNSt3__115recursive_mutex4lockEv
lift _ZNSt3__115recursive_mutex4lockEv
_ZNSt3__115recursive_mutex6unlockEv
lift _ZNSt3__115recursive_mutex6unlockEv
_ZNSt3__115recursive_mutex8try_lockEv
lift _ZNSt3__115recursive_mutex8try_lockEv
_ZNSt3__115recursive_mutexC1Ev
lift _ZNSt3__115recursive_mutexC1Ev
_ZNSt3__115recursive_mutexC2Ev
lift _ZNSt3__115recursive_mutexC2Ev
_ZNSt3__115recursive_mutexD1Ev
lift _ZNSt3__115recursive_mutexD1Ev
_ZNSt3__115recursive_mutexD2Ev
lift _ZNSt3__115recursive_mutexD2Ev
_ZNSt3__118condition_variable10notify_allEv
lift _ZNSt3__118condition_variable10notify_allEv
_ZNSt3__118condition_variable10notify_oneEv
lift _ZNSt3__118condition_variable10notify_oneEv
_ZNSt3__118condition_variable15__do_timed_waitERNS_11unique_lockINS_5mutexEEENS_6chrono10time_pointINS5_12system_clockENS5_8durationIxNS_5ratioILl1ELl1000000000EEEEEEE
lift _ZNSt3__118condition_variable15__do_timed_waitERNS_11unique_lockINS_5mutexEEENS_6chrono10time_pointINS5_12system_clockENS5_8durationIxNS_5ratioILl1ELl1000000000EEEEEEE
_ZNSt3__118condition_variable4waitERNS_11unique_lockINS_5mutexEEE
lift _ZNSt3__118condition_variable4waitERNS_11unique_lockINS_5mutexEEE
_ZNSt3__118condition_variableD1Ev
lift _ZNSt3__118condition_variableD1Ev
_ZNSt3__119__shared_weak_count14__release_weakEv
lift _ZNSt3__119__shared_weak_count14__release_weakEv
_ZNSt3__119__shared_weak_count4lockEv
lift _ZNSt3__119__shared_weak_count4lockEv
_ZNSt3__119__shared_weak_countD2Ev
lift _ZNSt3__119__shared_weak_countD2Ev
_ZNSt3__15alignEmmRPvRm
lift _ZNSt3__15alignEmmRPvRm
_ZNSt3__15mutex4lockEv
lift _ZNSt3__15mutex4lockEv
_ZNSt3__15mutex6unlockEv
lift _ZNSt3__15mutex6unlockEv
_ZNSt3__15mutex8try_lockEv
lift _ZNSt3__15mutex8try_lockEv
_ZNSt3__15mutexD1Ev
lift _ZNSt3__15mutexD1Ev
_ZNSt3__16__sortIRNS_6__lessIffEEPfEEvT0_S5_T_
lift _ZNSt3__16__sortIRNS_6__lessIffEEPfEEvT0_S5_T_
_ZNSt3__16__sortIRNS_6__lessIiiEEPiEEvT0_S5_T_
lift _ZNSt3__16__sortIRNS_6__lessIiiEEPiEEvT0_S5_T_
_ZNSt3__16__sortIRNS_6__lessIjjEEPjEEvT0_S5_T_
lift _ZNSt3__16__sortIRNS_6__lessIjjEEPjEEvT0_S5_T_
_ZNSt3__16__sortIRNS_6__lessIyyEEPyEEvT0_S5_T_
lift _ZNSt3__16__sortIRNS_6__lessIyyEEPyEEvT0_S5_T_
_ZNSt3__16chrono12steady_clock3nowEv
lift _ZNSt3__16chrono12steady_clock3nowEv
_ZNSt3__16chrono12system_clock3nowEv
lift _ZNSt3__16chrono12system_clock3nowEv
_ZNSt3__19to_stringEi
lift _ZNSt3__19to_stringEi
_ZNSt3__19to_stringEj
lift _ZNSt3__19to_stringEj
_ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_
lift _ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_
__errno_location
lift __errno_location
__floatditf
lift __floatditf
__lttf2
lift __lttf2
__multf3
lift __multf3
__subtf3
lift __subtf3
acosf
lift acosf
asinf
lift asinf
atan2f
lift atan2f
atanf
lift atanf
atof
lift atof
atoi
lift atoi
atol
lift atol
bsearch
lift bsearch
ceilf
lift ceilf
clock
lift clock
cosf
lift cosf
erfcf
lift erfcf
exp2
lift exp2
exp2f
lift exp2f
expf
lift expf
ffsl
lift ffsl
floorf
lift floorf
fmod
lift fmod
fmodf
lift fmodf
frexpf
lift frexpf
getenv
lift getenv
gettimeofday
lift gettimeofday
gmtime
lift gmtime
isalnum
lift isalnum
iscntrl
lift iscntrl
ispunct
lift ispunct
isspace
lift isspace
isxdigit
lift isxdigit
localeconv
lift localeconv
log10f
lift log10f
log2f
lift log2f
logf
lift logf
memchr
lift memchr
memcmp
lift memcmp
memcpy
lift memcpy
memmove
lift memmove
memset
lift memset
memset_s
lift memset_s
modff
lift modff
nnResultGetDescription
lift nnResultGetDescription
nnResultGetModule
lift nnResultGetModule
nnResultIsFailure
lift nnResultIsFailure
nnResultIsSuccess
lift nnResultIsSuccess
nnsocketInetHtons
lift nnsocketInetHtons
nnsocketInetNtohs
lift nnsocketInetNtohs
pow
lift pow
powf
lift powf
pthread_cond_broadcast
lift pthread_cond_broadcast
pthread_cond_destroy
lift pthread_cond_destroy
pthread_join
lift pthread_join
pthread_mutex_destroy
lift pthread_mutex_destroy
pthread_mutex_init
lift pthread_mutex_init
pthread_mutex_lock
lift pthread_mutex_lock
pthread_mutex_trylock
lift pthread_mutex_trylock
pthread_mutex_unlock
lift pthread_mutex_unlock
pthread_mutexattr_destroy
lift pthread_mutexattr_destroy
pthread_mutexattr_init
lift pthread_mutexattr_init
pthread_mutexattr_settype
lift pthread_mutexattr_settype
qsort
lift qsort
rand
lift rand
sin
lift sin
sinf
lift sinf
snprintf
lift snprintf
sprintf
lift sprintf
sqrt
lift sqrt
sqrtf
lift sqrtf
srand
lift srand
sscanf
lift sscanf
strcasecmp
lift strcasecmp
strcat
lift strcat
strchr
lift strchr
strcmp
lift strcmp
strcoll
lift strcoll
strcpy
lift strcpy
strcspn
lift strcspn
strdup
lift strdup
strerror
lift strerror
strlen
lift strlen
strncasecmp
lift strncasecmp
strncat
lift strncat
strncmp
lift strncmp
strncpy
lift strncpy
strnlen
lift strnlen
strpbrk
lift strpbrk
strrchr
lift strrchr
strspn
lift strspn
strstr
lift strstr
strtof
lift strtof
strtol
lift strtol
strtoul
lift strtoul
strtoull
lift strtoull
swprintf
lift swprintf
tanf
lift tanf
time
lift time
tolower
lift tolower
toupper
lift toupper
vsnprintf
lift vsnprintf
wmemcpy
lift wmemcpy
# <<< audit block

# NVN texture storage (fake-closure round 3, 2026-10-08): nvnTextureBuilderGetStorageAlignment [0x4278b0] and
# nvnTextureBuilderGetStorageSize [0x428760] are the SDK's own code; so is the GPU "kind" choice they end in:
# NvRmGpuDeviceChooseKind [0x3fbbc0] -> device slot +0x30 [0x408e10: object at device +0x140] -> chip object slot +0x80
# [0x401ae0] and the choosers of that class (method table 0xc114e8). nvn_sdk.c gives them the device fields.
addr 4278b0 nvnTextureBuilderGetStorageAlignment
addr 428760 nvnTextureBuilderGetStorageSize
addr 427a10 nvnTextureBuilderGetStorageClass
addr 408e10
addr 401ae0
addr 402730
addr 401c70
addr 401d20
addr 401e00
addr 402300
addr 401e80
addr 402190
addr 4023b0
addr 4023c0
addr 4025f0
addr 402650
addr 402660
addr 402740
addr 402670
addr 402680
addr 4026d0
addr 4026e0
addr 4026f0
addr 402700
addr 402710
addr 402720
addr 402750
# NVN texture storage class / sparse tile layout (close4 helper D, 2026-10-09): the SDK's own code, run by nvn_sdk.c on
# a real-layout NVNtextureBuilder / NVNtexture (the texture's layout block is written by [0x427ed0], lifted above).
addr 427b30 nvnTextureBuilderGetRawStorageClass
addr 429870 nvnTextureGetRawStorageClass
addr 428c00 nvnTextureGetStorageClass
addr 4290b0 nvnTextureBuilderGetSparseTileLayout
addr 429150 nvnTextureGetSparseTileLayout

# close5 (c5b): C stdio = musl's own code (sdk.elf): the stream functions the game imports, on musl's FILE objects.
# Bottom of the closure: __nnmusl_File* -> nn::fs (host handlers, cut as game imports), __nnmusl_ConsoleWrite 0x5191e8 ->
# nndetailDiagPutImplForC (the debug log: host override in nnlibc2.c), nn::fs::SetFileSize (O_TRUNC; host override in nnlibc2.c).
cut nndetailDiagPutImplForC
cut _ZN2nn2fs11SetFileSizeENS0_10FileHandleEl
printf
lift printf
fprintf
lift fprintf
fopen
lift fopen
freopen
lift freopen
fclose
lift fclose
fread
lift fread
getc
lift getc
feof
lift feof
ferror
lift ferror
fflush
lift fflush
write
lift write
fwrite
fputs
fseek
ftell
fgets
ungetc
__nnmusl_stdin_lock_init
__nnmusl_stdout_lock_init
__nnmusl_stderr_lock_init
__stdout_write
__stdout_close
__stdout_seek
__stdin_read
__stdio_close
__stdio_read
__stdio_write
__stdio_seek
