joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10044050
Capabilities:
Get thread local storage value

Disassembly:
push edi
mov edi, dword [ecx]
test edi, edi
je 0x1004408a
mov eax, dword [0x101237bc]
mov ecx, dword [eax]
push esi
mov esi, dword [0x101e7834]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 4]
push edi
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push esi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
pop esi
pop edi
ret

Function at 0x100444e0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x10]
cmp dword [eax], 0
mov eax, dword [eax + 0xc]
jne 0x10044553
test eax, eax
jle 0x1004454d
push ebx
lea ebx, [eax*4]
mov eax, dword [0x101237bc]
mov ecx, dword [eax]
push edi
mov edi, dword [0x101e7834]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 4]
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push edi
call eax
add esp, 0xc
push 4
push ebx
mov ecx, eax
call dword [0x101237a0]
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov edx, dword [eax]
mov dword [eax + 4], edx
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
pop edi
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x10]
mov eax, dword [edx + 0xc]
pop ebx
pop esi
ret
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 0xc]
pop esi
ret

Function at 0x10044560
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x10114919
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x14], ebp
cmp ecx, edi
je 0x100445d8
lea esi, [ebp + 4]
lea ebx, [ebx]
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 4]
cmp eax, dword [edx + 8]
jae 0x100445b9
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [esp + 0x44]
add dword [eax + 4], esi
jmp 0x100445d2
cmp eax, ebp
je 0x100445c5
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [esp + 0x44]
add dword [edx + 4], esi
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 4]
mov dword [eax + 8], edx
add ecx, esi
cmp ecx, edi
jne 0x100445a0
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
mov dword [esi], ebp
mov dword [esi + 4], ebp
mov dword [esi + 8], ebp
mov dword [esi + 0xc], ebp
mov dword [esi + 0x10], eax
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], 1
cmp ebx, ebp
je 0x10044634
mov ecx, dword [0x101237bc]
mov edx, dword [ecx]
mov edi, dword [0x101e7834]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 4]
push ebx
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push edi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov eax, esi
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
Function at 0x10044960
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x10114961
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x18], ebx
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
mov byte [esp + 0x14], bl
mov eax, dword [esp + 0x14]
push eax
sub esp, 0x14
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x2c], esp
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x48]
push edx
push eax
mov esi, 1
push ebp
mov dword [esp + 0x48], esi
call fcn.10044560
add esp, 0x24
mov edi, dword [esp + 0x38]
mov dword [esp + 0x18], esi
mov byte [esp + 0x24], bl
cmp edi, ebx
je 0x10044a13
mov ecx, dword [0x101237bc]
mov edx, dword [ecx]
mov esi, dword [0x101e7834]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 4]
push edi
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push esi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov eax, ebp
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
Function at 0x10044a30
Capabilities:
Get thread local storage value

Disassembly:
sub esp, 0x14
push ebx
mov ebx, dword [esp + 0x2c]
push ebp
push esi
mov esi, dword [esp + 0x38]
push edi
mov edi, dword [esp + 0x34]
cmp edi, ebx
jg 0x10044af1
mov ecx, esi
call fcn.100444e0
cmp edi, eax
jg 0x10044af1
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov ebx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
sub esp, 0x14
mov eax, esp
xor ebp, ebp
mov dword [eax], ebp
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov edx, dword [esi + 0x10]
mov dword [esp + 0x48], esp
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x3c]
push ebx
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.10044960
add esp, 0x20
lea ecx, [esp + 0x10]
call fcn.10044050
mov edi, dword [esp + 0x30]
mov eax, edi
sub eax, ebx
sar eax, 2
cmp eax, ebp
jle 0x10044ac1
mov edx, dword [esp + 0x28]
add eax, eax
add eax, eax
push eax
push ebx
push eax
push edx
call fcn.100ed62a
add esp, 0x10
mov esi, dword [esi + 0x10]
mov edx, dword [esi]
mov eax, dword [esi + 4]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
sub edi, ecx
cmp eax, ebp
jle 0x10044ae7
push ecx
push edx
push ecx
push edi
call fcn.100ed62a
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov ecx, esi
call fcn.100444e0
cmp ebx, eax
jg 0x10044bdb
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov edi, dword [esp + 0x2c]
mov dword [eax + 4], ecx
sub esp, 0x14
mov eax, esp
xor ebp, ebp
mov dword [eax], ebp
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov edx, dword [esi + 0x10]
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], esp
push eax
lea ecx, [esp + 0x28]
push edi
push ecx
call fcn.10044960
mov eax, dword [esp + 0x30]
add esp, 0x20
cmp eax, ebp
je 0x10044b84
mov edx, dword [0x101237bc]
mov ebx, dword [0x101e7834]
mov dword [esp + 0x34], eax
mov eax, dword [edx]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 4]
lea edx, [edx + ecx*4]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x34]
push edx
push ecx
push eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
push ebx
call ecx
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov ebx, dword [esp + 0x28]
sub edi, ebx
sar edi, 2
cmp edi, ebp
jle 0x10044baa
mov ecx, dword [esp + 0x30]
lea eax, [edi*4]
push eax
push ebx
push eax
sub ecx, eax
push ecx
call fcn.100ed62a
add esp, 0x10
mov esi, dword [esi + 0x10]
mov edx, dword [esi]
mov eax, dword [esi + 4]
sub eax, edx
sar eax, 2
cmp eax, ebp
lea ecx, [eax*4]
lea esi, [ecx + ebx]
jle 0x10044bd1
push ecx
push edx
push ecx
push ebx
call fcn.100ed62a
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp esi, eax
je 0x10044bff
mov ecx, dword [esp + 0x30]
cmp eax, ecx
je 0x10044bff
mov edx, dword [esp + 0x34]
push edx
push ecx
push eax
push esi
call fcn.10042a10
add esp, 0x10
pop edi
lea eax, [esi + ebx*4]
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
Function at 0x10045140
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x101149c8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
xor esi, esi
lea eax, [edi + edi]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x30], esi
jg 0x10045212
mov eax, dword [esp + 0x5c]
push eax
sub esp, 0x14
mov eax, esp
lea ecx, [edx + edi*4]
mov dword [esp + 0x6c], esp
lea ebp, [ecx + edi*4]
push ebp
push ecx
push ecx
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov ebx, dword [esp + 0x74]
push edx
lea ecx, [esp + 0x3c]
push ecx
mov dword [eax + 0x10], ebx
call fcn.10044c10
mov ebx, dword [esp + 0x40]
mov edx, dword [eax + 0x10]
add esp, 0x2c
mov dword [esp + 0x50], edx
cmp ebx, esi
je 0x100451fb
mov eax, dword [0x101237bc]
mov ecx, dword [eax]
mov esi, dword [0x101e7834]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 4]
push ebx
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push esi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
xor esi, esi
mov ecx, dword [esp + 0x58]
lea eax, [edi + edi]
sub ecx, eax
cmp ecx, eax
mov edx, ebp
mov dword [esp + 0x58], ecx
jge 0x10045182
cmp dword [esp + 0x58], edi
jg 0x10045248
sub esp, 0x14
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov ecx, dword [esp + 0x64]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x6c], esp
push eax
push edx
lea ecx, [esp + 0x30]
push ecx
call fcn.10044960
add esp, 0x20
jmp 0x10045280
mov ecx, dword [esp + 0x5c]
push ecx
sub esp, 0x14
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x70], esp
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x54]
push eax
lea edi, [edx + edi*4]
push edi
push edi
push edx
lea ecx, [esp + 0x3c]
push ecx
call fcn.10044c10
add esp, 0x2c
mov ebx, dword [esp + 0x14]
cmp ebx, esi
je 0x100452ba
mov edx, dword [0x101237bc]
mov eax, dword [edx]
mov edi, dword [0x101e7834]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 4]
push ebx
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push edi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x30], 0xffffffff
cmp edi, esi
je 0x100452fc
mov ecx, dword [0x101237bc]
mov edx, dword [ecx]
mov esi, dword [0x101e7834]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 4]
push edi
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push esi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
Function at 0x100458b0
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x10114a07
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
mov dword [esi], vtable.i3AI.0
mov dword [esp + 0x20], 1
call sym.i3FrameworkDx.dll_public:_void___thiscall_i3AI::RemoveAIStateAll_void_
mov eax, dword [esi + 0x138]
mov edi, dword [0x101237d8]
xor ebx, ebx
cmp eax, ebx
je 0x10045913
push 0x51
push str......._srci3Frameworki3AI.cpp
push eax
call edi
add esp, 0xc
mov dword [esi + 0x138], ebx
mov eax, dword [esi + 0x13c]
cmp eax, ebx
je 0x10045930
push 0x52
push str......._srci3Frameworki3AI.cpp
push eax
call edi
add esp, 0xc
mov dword [esi + 0x13c], ebx
mov ecx, dword [esi + 0x140]
cmp ecx, ebx
je 0x10045946
call dword [0x10123858]
mov dword [esi + 0x140], ebx
mov ebp, dword [esi + 0x12c]
mov byte [esp + 0x20], bl
cmp ebp, ebx
je 0x10045985
mov eax, dword [0x101237bc]
mov ecx, dword [eax]
mov edi, dword [0x101e7834]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 4]
push ebp
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push edi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov ecx, esi
mov dword [esp + 0x20], 0xffffffff
call dword [0x10123794]
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret

Function at 0x10045c20
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x10114a98
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
cmp esi, edi
je 0x10045cd6
mov ecx, edi
sub ecx, esi
sar ecx, 2
lea eax, [ecx + 1]
cdq
sub eax, edx
sar eax, 1
xor ebx, ebx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x3c]
push edx
push eax
push ecx
push edi
push esi
mov dword [esp + 0x40], ebx
call fcn.10045b60
mov edi, dword [esp + 0x24]
add esp, 0x14
mov dword [esp + 0x2c], 0xffffffff
cmp edi, ebx
je 0x10045cd6
mov ecx, dword [0x101237bc]
mov edx, dword [ecx]
mov esi, dword [0x101e7834]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 4]
push edi
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push esi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x20
ret
Function at 0x100491b0
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [0x101237bc]
mov ecx, dword [eax]
push esi
mov esi, dword [0x101e7834]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 4]
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push esi
call eax
mov esi, dword [esp + 0x14]
add esp, 0xc
push 1
lea ecx, [esi + 9]
push ecx
mov ecx, eax
call dword [0x101237a0]
test eax, eax
je 0x10049201
mov dword [eax + 4], esi
mov dword [eax], 1
mov byte [eax + esi + 8], 0
pop esi
ret 4
xor eax, eax
pop esi
ret 4

Function at 0x100492c0
Capabilities:
Get thread local storage value

Disassembly:
push edi
mov edi, dword [esp + 0xc]
cmp dword [esp + 8], edi
je 0x10049358
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
mov ebp, dword [edi - 4]
sub edi, 4
push 1
push ebp
mov dword [esp + 0x20], edi
sub ebx, 4
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov esi, dword [ebx]
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
dec eax
test eax, 0x7fffffff
jne 0x10049349
mov eax, dword [esi]
shr eax, 0x1f
test al, 1
je 0x10049314
mov ecx, dword [0x101e7840]
push esi
call fcn.10029ed0
mov eax, dword [0x101237bc]
mov ecx, dword [eax]
mov edi, dword [0x101e7834]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 4]
push esi
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push edi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov edi, dword [esp + 0x18]
mov dword [ebx], ebp
cmp edi, dword [esp + 0x14]
jne 0x100492d6
pop esi
pop ebp
mov eax, ebx
pop ebx
pop edi
ret
mov eax, dword [esp + 0x10]
pop edi
ret
Function at 0x1004db60
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x10114f3e
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
mov dword [esi], vtable.i3Framework.0
mov dword [esp + 0x20], 5
call sym.i3FrameworkDx.dll_protected:_void___thiscall_i3Framework::_DestroyUI_void_
mov ecx, esi
call sym.i3FrameworkDx.dll_public:_void___thiscall_i3Framework::RemoveAllStageInfo_void_
mov ecx, esi
call sym.i3FrameworkDx.dll_public:_void___thiscall_i3Framework::RemoveAllLayer_void_
mov edi, dword [esi + 0x168]
mov ebx, dword [esi + 0x16c]
lea ebp, [esi + 0x168]
cmp edi, ebx
je 0x1004dbd6
mov ecx, edi
call fcn.10029f60
add edi, 4
cmp edi, ebx
jne 0x1004dbc2
mov eax, dword [ebp]
mov dword [ebp + 4], eax
mov ecx, dword [esi + 0x200]
mov edi, dword [0x10123858]
xor ebx, ebx
cmp ecx, ebx
je 0x1004dbf0
call edi
mov dword [esi + 0x200], ebx
mov ecx, dword [esi + 0x1fc]
cmp ecx, ebx
je 0x1004dc02
call edi
mov dword [esi + 0x1fc], ebx
mov ecx, dword [esi + 0x1c8]
cmp ecx, ebx
je 0x1004dc14
call edi
mov dword [esi + 0x1c8], ebx
mov ecx, dword [esi + 0x1d0]
cmp ecx, ebx
je 0x1004dc26
call edi
mov dword [esi + 0x1d0], ebx
mov ecx, dword [esi + 0x198]
cmp ecx, ebx
je 0x1004dc38
call edi
mov dword [esi + 0x198], ebx
mov ecx, dword [esi + 0x194]
cmp ecx, ebx
je 0x1004dc4a
call edi
mov dword [esi + 0x194], ebx
mov ecx, dword [esi + 0x19c]
cmp ecx, ebx
je 0x1004dc5c
call edi
mov dword [esi + 0x19c], ebx
mov ecx, dword [esi + 0x1c4]
cmp ecx, ebx
je 0x1004dc6e
call edi
mov dword [esi + 0x1c4], ebx
lea ecx, [esi + 0x1d4]
mov dword [0x101e8da0], ebx
mov byte [esp + 0x20], 4
call fcn.10018370
lea ecx, [esi + 0x1a0]
mov byte [esp + 0x20], 3
call sym.i3FrameworkDx.dll_public_virtual:_void___thiscall_i3StageStack::destructor_void_
mov ecx, ebp
mov byte [esp + 0x20], 2
call fcn.1002bcb0
mov ebp, dword [esi + 0x158]
mov byte [esp + 0x20], 1
cmp ebp, ebx
je 0x1004dce1
mov ecx, dword [0x101237bc]
mov edx, dword [ecx]
mov edi, dword [0x101e7834]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 4]
push ebp
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push edi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov ebp, dword [esi + 0x14c]
mov byte [esp + 0x20], bl
cmp ebp, ebx
je 0x1004dd21
mov ecx, dword [0x101237bc]
mov edx, dword [ecx]
mov edi, dword [0x101e7834]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 4]
push ebp
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push edi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov ecx, esi
mov dword [esp + 0x20], 0xffffffff
call sym.i3FrameworkDx.dll_public_virtual:_void___thiscall_i3GameNode::destructor_void_
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
Function at 0x1004e290
Capabilities:
Get thread local storage value

Disassembly:
mov dword [ecx], vtable.i3InputDispatchManager.0
jmp sym.i3FrameworkDx.dll_public_virtual:_void___thiscall_i3GameObjBase::destructor_void_

Function at 0x1004ebb0
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x10114fd6
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x14]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x10], ebx
mov dword [ebx], vtable.i3InstanceManager.0
mov dword [esp + 0x1c], 1
call sym.i3FrameworkDx.dll_public:_void___thiscall_i3InstanceManager::Destroy_void_
mov edi, dword [ebx + 0x154]
mov byte [esp + 0x1c], 0
test edi, edi
je 0x1004ec2d
mov eax, dword [0x101237bc]
mov ecx, dword [eax]
mov esi, dword [0x101e7834]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 4]
push edi
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push esi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov ecx, ebx
mov dword [esp + 0x1c], 0xffffffff
call sym.i3FrameworkDx.dll_public_virtual:_void___thiscall_i3GameNode::destructor_void_
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x10
ret
Function at 0x10052200
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x10115343
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
mov dword [esi], vtable.i3ResourceManager.0
push 1
mov dword [esp + 0x24], 3
call sym.i3FrameworkDx.dll_public:_void___thiscall_i3ResourceManager::RemoveAllResource_int_
cmp dword [esi + 0x160], 0
je 0x10052273
mov ecx, dword [sym.i3FrameworkDx.dll_class_i3ClassMeta__i3QueueFileInfo::s_pClassMetai3QueueFileInfo]
push 0
call dword [0x10123328]
mov ecx, dword [esi + 0x160]
test ecx, ecx
je 0x10052269
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [esi + 0x160], 0
mov ebp, dword [esi + 0x1dc]
mov ebx, dword [0x1012379c]
mov byte [esp + 0x20], 2
test ebp, ebp
je 0x100522b5
mov eax, dword [0x101237bc]
mov ecx, dword [eax]
mov edi, dword [0x101e7834]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 4]
push ebp
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push edi
call eax
add esp, 0xc
mov ecx, eax
call ebx
lea ecx, [esi + 0x170]
mov byte [esp + 0x20], 1
call dword [0x10123778]
mov ebp, dword [esi + 0x154]
mov byte [esp + 0x20], 0
test ebp, ebp
je 0x10052303
mov ecx, dword [0x101237bc]
mov edx, dword [ecx]
mov edi, dword [0x101e7834]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 4]
push ebp
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push edi
call eax
add esp, 0xc
mov ecx, eax
call ebx
mov ecx, esi
mov dword [esp + 0x20], 0xffffffff
call sym.i3FrameworkDx.dll_public_virtual:_void___thiscall_i3GameNode::destructor_void_
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
Function at 0x10053fc0
Capabilities:
Create directory
Get common file path

Disassembly:
sub esp, 0xc14
mov eax, dword [0x101e6198]
xor eax, esp
mov dword [esp + 0xc10], eax
push esi
push 0x3ff
lea eax, [esp + 0x419]
push 0
push eax
mov esi, ecx
mov byte [esp + 0x420], 0
call fcn.100ed5b0
push 0x3ff
lea ecx, [esp + 0x825]
push 0
push ecx
mov byte [esp + 0x82c], 0
call fcn.100ed5b0
push 0x3ff
lea edx, [esp + 0x31]
push 0
push edx
mov byte [esp + 0x38], 0
call fcn.100ed5b0
add esp, 0x24
lea eax, [esp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea ecx, [esp + 0x414]
push ecx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov ecx, 0x400
lea eax, [esp + 0x14]
nop
mov byte [eax], 0
inc eax
sub ecx, 1
jne 0x10054050
push 0x400
lea edx, [esp + 0x418]
push edx
lea eax, [esp + 0x1c]
push eax
call dword [0x101237e0]
lea ecx, [esp + 0x20]
push str.ScreenShot
push ecx
call dword [0x1012332c]
add esp, 0x14
push 0
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
movzx eax, word [esp + 0x10]
movzx ecx, word [esp + 0xe]
movzx edx, word [esp + 0xc]
push eax
movzx eax, word [esp + 0xe]
push ecx
movzx ecx, word [esp + 0xe]
push edx
movzx edx, word [esp + 0x10]
push eax
push ecx
push edx
lea eax, [esp + 0x82c]
push str.ScreenShot_SC_d_02d_02d__02d_02d_02d
push eax
call fcn.100ee115
mov edx, dword [esi + 0x190]
add esp, 0x20
push 0x101307f4
lea ecx, [esp + 0x818]
push ecx
mov ecx, dword [edx + 0x18]
call dword [0x10123a20]
mov ecx, dword [esp + 0xc14]
pop esi
xor ecx, esp
call fcn.100ed375
add esp, 0xc14
ret

Function at 0x10058d80
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x101155b9
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x14]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x10], esi
mov dword [esi], vtable.i3GameRes.0
mov eax, dword [esi + 0x130]
mov dword [esp + 0x1c], 0
cmp eax, dword [esi + 0x134]
je 0x10058dcc
mov dword [esi + 0x134], eax
mov ebx, eax
test ebx, ebx
je 0x10058e03
mov eax, dword [0x101237bc]
mov ecx, dword [eax]
mov edi, dword [0x101e7834]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 4]
push ebx
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push edi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov ecx, esi
mov dword [esp + 0x1c], 0xffffffff
call dword [0x10123794]
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x10
ret