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

Disassembly:
test ecx, ecx
je 0x410fb5
ret
push esi
mov eax, 0x49c320
push ebx
sub esp, 0x14
call fcn.00408500
mov ecx, 0x4739c0
mov dword [eax], 0x49c340
mov esi, dword [eax + 0xc]
mov ebx, eax
mov dword [eax + 8], str.NilAccessDefect
call fcn.00408260
mov dword [ebx + 0xc], eax
test esi, esi
je 0x410fff
mov eax, dword [esi - 8]
lea edx, [esi - 8]
sub eax, 8
mov dword [esi - 8], eax
cmp eax, 7
ja 0x410fff
mov eax, edx
call fcn.004052b0
mov dword [esp + 8], 0x31
mov edx, str.NilAccessDefect
mov ecx, ebx
mov dword [esp + 4], str.fatal.nim
mov dword [esp], str.sysFatal
call fcn.004099c0
sub esp, 0xc
lea esi, [esi]
lea esi, [esi]

Function at 0x411030
Capabilities:
Get thread local storage value

Disassembly:
push esi
push ebx
sub esp, 0x14
mov eax, dword [0x4937d0]
cmp eax, 0xdab
jg 0x41112d
mov dword [eax*4 + 0x490120], 0x407370
lea edx, [eax + 1]
mov dword [0x4937d0], edx
cmp edx, 0xdac
je 0x411160
add eax, 2
mov esi, dword [0x49c308]
mov dword [edx*4 + 0x490120], 0x407330
mov dword [0x4937d0], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
sub esp, 4
call fcn.00467e70
cmp eax, 0x3e88
jg 0x411137
call fcn.004044d0
mov dword [esp + 4], 0x40a120
mov dword [esp], 2
call sub.msvcrt.dll_signal
mov dword [esp + 4], 0x40a120
mov dword [esp], 0xb
call sub.msvcrt.dll_signal
mov dword [esp + 4], 0x40a120
mov dword [esp], 0x16
call sub.msvcrt.dll_signal
mov dword [esp + 4], 0x40a120
mov dword [esp], 8
call sub.msvcrt.dll_signal
mov dword [esp + 4], 0x40a120
mov dword [esp], 4
call sub.msvcrt.dll_signal
mov dword [esp], 0x496e94
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
sub esp, 4
add esp, 0x14
pop ebx
pop esi
ret
mov ecx, 0x407370
call fcn.004031a0
mov dword [esp], 2
call dword [0x4720c4]
mov dword [esp + 4], str.too_large_thread_local_storage_size_requested__nuse__d:_nimTlsSizeX__to_setup_even_more_or_stop_using_unittest.nim
mov dword [esp], eax
call fcn.00403160
mov dword [esp], 1
call sub.msvcrt.dll_exit
mov ecx, 0x407330
call fcn.004031a0
lea esi, [esi]

Function at 0x412130
Capabilities:
Hash data using murmur3

Disassembly:
xor edx, edx
test ecx, ecx
je 0x412138
mov edx, dword [ecx]
add ecx, 8
jmp 0x411f30
Function at 0x412c30
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x412c90
imul ebx, ebx, 3
jo 0x412d04
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x412cc8
mov ecx, 0x49d220
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x412c4d
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x412c74
call fcn.00409ba0
jmp 0x412c56

Function at 0x412d10
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x412d70
imul ebx, ebx, 3
jo 0x412de4
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x412da8
mov ecx, 0x49d160
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x412d2d
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x412d54
call fcn.00409ba0
jmp 0x412d36

Function at 0x412df0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x412e50
imul ebx, ebx, 3
jo 0x412ec4
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x412e88
mov ecx, 0x49d100
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x412e0d
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x412e34
call fcn.00409ba0
jmp 0x412e16
Function at 0x412ed0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x412f30
imul ebx, ebx, 3
jo 0x412fa4
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x412f68
mov ecx, 0x49d0a0
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x412eed
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x412f14
call fcn.00409ba0
jmp 0x412ef6

Function at 0x415180
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x4151e0
imul ebx, ebx, 3
jo 0x415254
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x415218
mov ecx, 0x49cf80
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x41519d
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x4151c4
call fcn.00409ba0
jmp 0x4151a6

Function at 0x415260
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x4152c0
imul ebx, ebx, 3
jo 0x415334
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x4152f8
mov ecx, 0x49d180
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x41527d
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x4152a4
call fcn.00409ba0
jmp 0x415286
Function at 0x4179b0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x417a10
imul ebx, ebx, 3
jo 0x417a84
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x417a48
mov ecx, 0x49cf20
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x4179cd
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x4179f4
call fcn.00409ba0
jmp 0x4179d6

Function at 0x417a90
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x417af0
imul ebx, ebx, 3
jo 0x417b64
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x417b28
mov ecx, 0x49ce60
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x417aad
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x417ad4
call fcn.00409ba0
jmp 0x417ab6

Function at 0x417b70
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x417bd0
imul ebx, ebx, 3
jo 0x417c44
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x417c08
mov ecx, 0x49ce00
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x417b8d
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x417bb4
call fcn.00409ba0
jmp 0x417b96
Function at 0x417c50
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x417cb0
imul ebx, ebx, 3
jo 0x417d24
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x417ce8
mov ecx, 0x49cda0
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x417c6d
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x417c94
call fcn.00409ba0
jmp 0x417c76

Function at 0x417d30
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x417d90
imul ebx, ebx, 3
jo 0x417e04
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x417dc8
mov ecx, 0x49ce80
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x417d4d
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x417d74
call fcn.00409ba0
jmp 0x417d56

Function at 0x418210
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x418270
imul ebx, ebx, 3
jo 0x4182e4
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x4182a8
mov ecx, 0x49cd60
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x41822d
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x418254
call fcn.00409ba0
jmp 0x418236
Function at 0x427050
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, edx
xor edx, edx
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x34
call fcn.00406e10
mov dword [esi + 4], 0
test ebx, ebx
js 0x4270b0
imul ebx, ebx, 3
jo 0x427124
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
add ecx, 4
call fcn.00412140
mov dword [esi + 4], 0
mov edx, eax
test eax, eax
js 0x4270e8
mov ecx, 0x49eba0
call fcn.00409ca0
add esp, 0x34
mov ecx, esi
pop ebx
mov edx, eax
pop esi
jmp fcn.00406e10
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
jmp 0x42706d
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.0040b690
mov edx, dword [esp + 0x2c]
jmp 0x427094
call fcn.00409ba0
jmp 0x427076

Function at 0x427e10
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push edi
push esi
mov esi, ecx
push ebx
mov ebx, edx
sub esp, 0x1c
mov eax, dword [edx]
test eax, eax
je 0x427cd6
mov ecx, dword [eax - 8]
lea edi, [eax - 8]
lea edx, [ecx - 8]
mov dword [eax - 8], edx
cmp edx, 7
jbe 0x427d78
mov dword [ebx], 0
mov edi, dword [esi + 4]
test edi, edi
je 0x427ce7
add dword [edi - 8], 8
mov eax, dword [ebx + 4]
test eax, eax
je 0x427cff
mov ecx, dword [eax - 8]
lea ebp, [eax - 8]
lea edx, [ecx - 8]
mov dword [eax - 8], edx
cmp edx, 7
jbe 0x427d58
mov dword [ebx + 4], edi
mov edi, dword [esi + 4]
test edi, edi
je 0x427d39
mov edx, dword [edi]
test edx, edx
je 0x427d1c
mov ecx, 0x476240
call fcn.00401700
mov edi, dword [esi + 4]
add dword [ebx - 8], 8
mov eax, dword [edi]
test eax, eax
je 0x427d37
mov edx, dword [eax - 8]
lea ebp, [eax - 8]
sub edx, 8
mov dword [eax - 8], edx
cmp edx, 7
jbe 0x427da0
mov dword [edi], ebx
lea ecx, [esi + 4]
mov edx, ebx
call fcn.00406e10
mov eax, dword [esi]
test eax, eax
je 0x427dc0
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], ebp
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
jmp 0x427cff
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], edi
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
jmp 0x427cd6
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], ebp
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
jmp 0x427d37
add esp, 0x1c
mov edx, ebx
mov ecx, esi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00406e10
push edi
mov edi, edx
push esi
mov esi, ecx
push ebx
sub esp, 0x10
mov dword [esp + 4], 0x28
mov dword [esp], 0x49ecc0
call fcn.00408420
mov dword [esp], 0x4a0900
mov edx, edi
lea ecx, [eax + 8]
mov ebx, eax
call fcn.0040ae60
mov edx, ebx
mov ecx, esi
sub esp, 4
add esp, 0x10
pop ebx
pop esi
pop edi
jmp 0x427cb0

Function at 0x427e60
Capabilities:
Get thread local storage value

Disassembly:
push ebx
xor edx, edx
mov ebx, ecx
sub esp, 8
call fcn.00406e10
add esp, 8
lea ecx, [ebx + 4]
xor edx, edx
pop ebx
jmp fcn.00406e10
Function at 0x43c000
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push edi
push esi
mov esi, ecx
push ebx
sub esp, 0x3c
mov ecx, dword [ecx]
mov dword [esp + 0x2c], edx
test ecx, ecx
je 0x43c0d0
mov ebx, dword [ecx]
test ebx, ebx
je 0x43c0d0
jg 0x43c080
jmp 0x43c0fe
movzx eax, byte [ecx + ebx + 8]
cmp al, 0x2f
je 0x43c078
cmp al, 0x5c
je 0x43c078
cmp al, 0x2e
jne 0x43c0e0
cmp edi, 1
je 0x43c0e0
mov edx, dword [ecx]
lea ebp, [edi - 2]
cmp ebp, edx
jb 0x43c068
sub edx, 1
mov dword [esp], ebp
mov dword [esp + 4], edx
call fcn.0040a570
mov ecx, dword [esi]
movzx eax, byte [ecx + ebp + 8]
cmp al, 0x5c
je 0x43c078
cmp al, 0x2f
jne 0x43c0e0
lea esi, [esi]
test ebx, ebx
je 0x43c175
mov eax, dword [ecx]
mov edi, ebx
sub ebx, 1
cmp eax, ebx
ja 0x43c030
sub eax, 1
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040a570
mov ecx, dword [esi]
movzx eax, byte [ecx + ebx + 8]
cmp al, 0x5c
je 0x43c078
cmp al, 0x2f
je 0x43c078
mov edx, dword [ecx]
cmp edx, ebx
ja 0x43c03d
sub edx, 1
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0040a570
mov ecx, dword [esi]
movzx eax, byte [ecx + ebx + 8]
jmp 0x43c03d
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [esp + 0x2c], 0
jne 0x43c13a
mov edx, edi
call fcn.00408790
add esp, 0x3c
mov ecx, esi
mov edx, eax
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00406e10
cmp byte [esp + 0x2c], 0
je 0x43c166
mov eax, ebx
mov dword [esp + 0x10], 0x7fffffff
mov edi, ebx
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040b690
mov ecx, dword [esi]
mov edx, edi
call fcn.00408790
mov ecx, esi
mov edx, eax
call fcn.00406e10
mov ecx, dword [esi]
mov edx, 0x5c
call fcn.00408ff0
add esp, 0x3c
mov ecx, esi
pop ebx
mov edx, eax
pop esi
pop edi
pop ebp
jmp fcn.00406e10
mov ecx, 0x477808
call fcn.0040a4d0
jmp 0x43c0ee
cmp byte [esp + 0x2c], 0
je 0x43c166
xor edi, edi
jmp 0x43c13a
Function at 0x458450
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov edx, 0x47ae00
push ebx
mov ebx, ecx
sub esp, 0x14
call fcn.00422bc0
test al, al
jne 0x4584d0
call fcn.0043c9b0
mov ecx, ebx
mov edx, eax
call fcn.0043c2d0
mov esi, eax
test eax, eax
je 0x4584e0
mov eax, dword [eax]
lea ecx, [eax + 7]
call fcn.00408490
lea ecx, [esi + 8]
mov ebx, eax
mov eax, dword [eax]
lea eax, [ebx + eax + 8]
mov dword [eax], 0x656c6966
mov dword [eax + 4], 0x2f2f3a
mov eax, dword [ebx]
lea edx, [eax + 7]
mov dword [ebx], edx
lea edx, [ebx + eax + 0xf]
mov eax, dword [esi]
mov dword [esp + 4], ecx
add eax, 1
mov dword [esp], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esi]
add dword [ebx], eax
add esp, 0x14
mov eax, ebx
pop ebx
pop esi
ret
add esp, 0x14
mov ecx, ebx
pop ebx
pop esi
jmp fcn.0040a4d0
mov ecx, 7
call fcn.00408490
mov ebx, eax
mov eax, dword [eax]
lea eax, [ebx + eax + 8]
mov dword [eax], 0x656c6966
mov dword [eax + 4], 0x2f2f3a
mov eax, ebx
add dword [ebx], 7
add esp, 0x14
pop ebx
pop esi
ret
Function at 0x45ae40
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov word [esp + 0x1a], cx
cmp edx, 1
je 0x45af38
cmp edx, 2
jne 0x45af20
mov ebx, dword [0x4d4c00]
test ebx, ebx
je 0x45af20
mov eax, dword [ebx]
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x45af20
mov ebp, ebx
xor esi, esi
test ebp, ebp
je 0x45b0a8
mov eax, dword [ebp]
cmp eax, esi
jbe 0x45b040
mov eax, dword [ebp + esi*8 + 0xc]
test eax, eax
je 0x45b061
mov edi, dword [eax]
test edi, edi
jle 0x45b076
movsx edx, word [esp + 0x1a]
xor ebx, ebx
mov dword [esp + 0x14], edx
jmp 0x45aee5
mov ecx, dword [eax]
cmp ecx, ebx
jbe 0x45af30
mov edx, dword [esp + 0x14]
cmp edx, dword [eax + ebx*8 + 8]
je 0x45af08
add ebx, 1
cmp edi, dword [eax]
je 0x45aed9
mov ecx, 0x47b080
call fcn.00401700
cmp edi, ebx
jle 0x45b070
mov eax, dword [ebp + esi*8 + 0xc]
test eax, eax
jne 0x45aeb8
mov ecx, 0xffffffff
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.0040a570
mov eax, dword [ebp + esi*8 + 0xc]
mov edx, dword [esp + 0x14]
cmp edx, dword [eax + ebx*8 + 8]
jne 0x45aec8
mov ecx, dword [ebp + esi*8 + 8]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040a4d0
add esp, 0x2c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
sub ecx, 1
jmp 0x45aeee
mov ebx, dword [0x4d4c04]
test ebx, ebx
je 0x45af20
mov eax, dword [ebx]
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x45af20
mov ebp, ebx
xor esi, esi
test ebp, ebp
je 0x45b006
mov eax, dword [ebp]
cmp eax, esi
jbe 0x45b020
mov eax, dword [ebp + esi*8 + 0xc]
test eax, eax
je 0x45afde
mov edi, dword [eax]
test edi, edi
jle 0x45b0af
movsx edx, word [esp + 0x1a]
xor ebx, ebx
mov dword [esp + 0x14], edx
jmp 0x45afb5
mov ecx, dword [eax]
cmp ecx, ebx
jbe 0x45afd0
mov edx, dword [esp + 0x14]
cmp edx, dword [eax + ebx*8 + 8]
je 0x45af08
add ebx, 1
cmp edi, dword [eax]
je 0x45afad
mov ecx, 0x47b080
call fcn.00401700
cmp edi, ebx
jle 0x45afd8
mov eax, dword [ebp + esi*8 + 0xc]
test eax, eax
jne 0x45af88
mov ecx, 0xffffffff
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.0040a570
mov eax, dword [ebp + esi*8 + 0xc]
jmp 0x45af8e
sub ecx, 1
jmp 0x45afbe
mov ebp, dword [0x4d4c04]
add esi, 1
test ebp, ebp
je 0x45b010
mov eax, dword [esp + 0x1c]
cmp eax, dword [ebp]
jne 0x45b010
cmp dword [esp + 0x1c], esi
jle 0x45af20
mov ebp, dword [0x4d4c04]
test ebp, ebp
jne 0x45af58
mov eax, 0xffffffff
jmp 0x45b023
mov ecx, 0x47b080
call fcn.00401700
jmp 0x45afee
sub eax, 1
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0040a570
mov ebp, dword [0x4d4c04]
jmp 0x45af63
sub eax, 1
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0040a570
mov ebp, dword [0x4d4c00]
mov eax, dword [ebp + esi*8 + 0xc]
test eax, eax
jne 0x45ae9d
add esi, 1
jmp 0x45b07d
mov ebp, dword [0x4d4c00]
add esi, 1
test ebp, ebp
je 0x45b086
mov eax, dword [esp + 0x1c]
cmp eax, dword [ebp]
je 0x45b090
mov ecx, 0x47b080
call fcn.00401700
cmp dword [esp + 0x1c], esi
jle 0x45af20
mov ebp, dword [0x4d4c00]
test ebp, ebp
jne 0x45ae86
mov eax, 0xffffffff
jmp 0x45b043
add esi, 1
jmp 0x45afe5