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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x443110
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [section..data]
test eax, eax
je 0x441974
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
ja 0x44198d
jmp 0x4419a8
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
jbe 0x4419a8
cmp dword [eax], 1
mov ecx, eax
jne 0x4419a8
add ecx, 4
cmp dword [ecx], 0x7fffffff
jb 0x441a8a
jmp 0x441b2d
mov eax, dword [section..data]
test eax, eax
je 0x4419c9
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4419e1
mov esi, eax
cmp eax, 1
je 0x441a92
jmp 0x441a22
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
jne 0x4419bc
push 4
push 0x14
call fcn.0043c290
add esp, 8
test eax, eax
je 0x441b53
mov dword [eax], 0
mov dword [eax + 0x10], 0x61c000
mov esi, eax
mov eax, dword [section..data]
test eax, eax
jne 0x441a1a
push section..data
call fcn.004eaa60
add esp, 4
push esi
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp dword [esi], 0
lea ecx, [esi + 4]
mov dword [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], 0
je 0x441a7e
test eax, eax
je 0x441a7e
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x28], eax
push eax
mov dword [ebp - 0x24], edx
call dword [edx]
add esp, 4
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 4]
test eax, eax
je 0x441b1e
push dword [ecx + 8]
push eax
push dword [ebp - 0x28]
call fcn.0043c2a0
add esp, 0xc
mov ecx, dword [ebp - 0x20]
cmp dword [ecx], 0x7fffffff
jae 0x441b2d
cmp dword [ecx + 4], 0
mov al, 2
jne 0x441b0c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx]
movsd xmm0, qword [edx]
movsd xmm1, qword [esi]
movsd xmm2, qword [edi]
movsd xmm3, qword [eax]
mov edx, dword [ecx + 0x90]
test edx, edx
je 0x441acd
mov eax, dword [edx + 0x28]
test eax, eax
je 0x441acd
add edx, 0x28
mov ecx, edx
jmp 0x441ada
mov eax, dword [ecx + 0x80]
test eax, eax
je 0x441b0a
sub ecx, 0xffffff80
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x10], 1
sub esp, 0x24
movsd qword [esp + 0x1c], xmm3
movsd qword [esp + 0x14], xmm2
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
mov dword [esp], eax
call dword [ecx + 0x10]
add esp, 0x24
jmp 0x441b0c
mov al, 1
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x20]
cmp dword [ecx], 0x7fffffff
jb 0x441a8a
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x576f60
push 0x576edc
push eax
push 0x18
push 0x576ec4
call fcn.005708f0
add esp, 0x14
ud2
push 4
push 0x14
call fcn.00570650
add esp, 8
ud2
Function at 0x441c20
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x443120
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [section..data]
test eax, eax
je 0x441c64
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
ja 0x441c7d
jmp 0x441c98
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
jbe 0x441c98
cmp dword [eax], 1
mov ecx, eax
jne 0x441c98
add ecx, 4
cmp dword [ecx], 0x7fffffff
jb 0x441d76
jmp 0x441deb
mov eax, dword [section..data]
test eax, eax
je 0x441cb9
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x441cd1
mov esi, eax
cmp eax, 1
je 0x441d7e
jmp 0x441d12
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
jne 0x441cac
push 4
push 0x14
call fcn.0043c290
add esp, 8
test eax, eax
je 0x441e11
mov dword [eax], 0
mov dword [eax + 0x10], 0x61c000
mov esi, eax
mov eax, dword [section..data]
test eax, eax
jne 0x441d0a
push section..data
call fcn.004eaa60
add esp, 4
push esi
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp dword [esi], 0
lea ecx, [esi + 4]
mov dword [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], 0
je 0x441d6e
test eax, eax
je 0x441d6e
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x28], eax
push eax
mov dword [ebp - 0x24], edx
call dword [edx]
add esp, 4
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 4]
test eax, eax
je 0x441de0
push dword [ecx + 8]
push eax
push dword [ebp - 0x28]
call fcn.0043c2a0
add esp, 0xc
mov ecx, dword [ebp - 0x20]
cmp dword [ecx], 0x7fffffff
jae 0x441deb
cmp dword [ecx + 4], 0
mov al, 2
jne 0x441dce
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [ecx]
mov ecx, dword [esi]
mov esi, dword [edi]
mov edi, dword [esi + 0x90]
imul ecx, dword [edx]
test edi, edi
je 0x441dad
mov edx, dword [edi + 0x20]
test edx, edx
je 0x441dad
add edi, 0x20
mov esi, edi
jmp 0x441db7
mov edx, dword [esi + 0x78]
test edx, edx
je 0x441dcc
add esi, 0x78
mov esi, dword [esi + 4]
mov dword [ebp - 0x10], 1
push ecx
push eax
push edx
call dword [esi + 0x10]
add esp, 0xc
jmp 0x441dce
mov al, 1
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x20]
cmp dword [ecx], 0x7fffffff
jb 0x441d76
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x576f60
push 0x576edc
push eax
push 0x18
push 0x576ec4
call fcn.005708f0
add esp, 0x14
ud2
push 4
push 0x14
call fcn.00570650
add esp, 8
ud2
Function at 0x441ed0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x443130
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [section..data]
test eax, eax
je 0x441f14
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
ja 0x441f2d
jmp 0x441f46
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
jbe 0x441f46
cmp dword [eax], 1
jne 0x441f46
add eax, 4
cmp dword [eax], 0x7fffffff
jb 0x442020
jmp 0x44207f
mov eax, dword [section..data]
test eax, eax
je 0x441f67
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x441f7f
mov esi, eax
cmp eax, 1
je 0x44202a
jmp 0x441fc0
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
jne 0x441f5a
push 4
push 0x14
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4420a5
mov dword [eax], 0
mov dword [eax + 0x10], 0x61c000
mov esi, eax
mov eax, dword [section..data]
test eax, eax
jne 0x441fb8
push section..data
call fcn.004eaa60
add esp, 4
push esi
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp dword [esi], 0
lea eax, [esi + 4]
mov dword [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], 0
je 0x442018
test ecx, ecx
je 0x442018
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x28], ecx
push ecx
mov dword [ebp - 0x24], edx
call dword [edx]
add esp, 4
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 4]
test eax, eax
je 0x442074
push dword [ecx + 8]
push eax
push dword [ebp - 0x28]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x7fffffff
jae 0x44207f
cmp dword [eax + 4], 0
je 0x44202a
xor eax, eax
jmp 0x442060
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
add ecx, 0x58
mov dword [ebp - 0x10], 1
push eax
push esi
push edx
push ecx
call fcn.0043cef0
add esp, 0x10
xor esi, esi
cmp eax, 1
mov eax, 1
sbb esi, esi
or esi, edx
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov dword fs:[0], ecx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x7fffffff
jb 0x442020
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x576f60
push 0x576edc
push eax
push 0x18
push 0x576ec4
call fcn.005708f0
add esp, 0x14
ud2
push 4
push 0x14
call fcn.00570650
add esp, 8
ud2
Function at 0x442170
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x443140
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [section..data]
test eax, eax
je 0x4421b4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
ja 0x4421cd
jmp 0x4421e6
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
jbe 0x4421e6
cmp dword [eax], 1
jne 0x4421e6
add eax, 4
cmp dword [eax], 0x7fffffff
jb 0x4422c0
jmp 0x442317
mov eax, dword [section..data]
test eax, eax
je 0x442207
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x44221f
mov esi, eax
cmp eax, 1
je 0x4422ca
jmp 0x442260
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
jne 0x4421fa
push 4
push 0x14
call fcn.0043c290
add esp, 8
test eax, eax
je 0x44233d
mov dword [eax], 0
mov dword [eax + 0x10], 0x61c000
mov esi, eax
mov eax, dword [section..data]
test eax, eax
jne 0x442258
push section..data
call fcn.004eaa60
add esp, 4
push esi
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp dword [esi], 0
lea eax, [esi + 4]
mov dword [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], 0
je 0x4422b8
test ecx, ecx
je 0x4422b8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x28], ecx
push ecx
mov dword [ebp - 0x24], edx
call dword [edx]
add esp, 4
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 4]
test eax, eax
je 0x44230c
push dword [ecx + 8]
push eax
push dword [ebp - 0x28]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x7fffffff
jae 0x442317
cmp dword [eax + 4], 0
je 0x4422ca
xor eax, eax
jmp 0x4422f8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], 1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x34]
push eax
call fcn.00440220
add esp, 4
mov esi, eax
mov eax, 1
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov dword fs:[0], ecx
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x7fffffff
jb 0x4422c0
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x34]
push 0x576f60
push 0x576edc
push eax
push 0x18
push 0x576ec4
call fcn.005708f0
add esp, 0x14
ud2
push 4
push 0x14
call fcn.00570650
add esp, 8
ud2
Function at 0x442400
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x443150
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [section..data]
test eax, eax
je 0x442444
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
ja 0x44245d
jmp 0x442476
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
jbe 0x442476
cmp dword [eax], 1
jne 0x442476
add eax, 4
cmp dword [eax], 0x7fffffff
jb 0x442550
jmp 0x4425b3
mov eax, dword [section..data]
test eax, eax
je 0x442497
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4424af
mov esi, eax
cmp eax, 1
je 0x442556
jmp 0x4424f0
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
jne 0x44248a
push 4
push 0x14
call fcn.0043c290
add esp, 8
test eax, eax
je 0x4425d9
mov dword [eax], 0
mov dword [eax + 0x10], 0x61c000
mov esi, eax
mov eax, dword [section..data]
test eax, eax
jne 0x4424e8
push section..data
call fcn.004eaa60
add esp, 4
push esi
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp dword [esi], 0
lea eax, [esi + 4]
mov dword [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], 0
je 0x442548
test ecx, ecx
je 0x442548
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x20], ecx
push ecx
mov dword [ebp - 0x28], edx
call dword [edx]
add esp, 4
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4425a8
push dword [ecx + 8]
push eax
push dword [ebp - 0x20]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0x7fffffff
jae 0x4425b3
cmp dword [eax + 4], 0
jne 0x44258a
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], 0xffffffff
lea edx, [ebp - 0x34]
push eax
push ecx
push edx
call fcn.004432e0
add esp, 0xc
cmp dword [ebp - 0x34], 1
jne 0x44258e
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push 0x576efc
call fcn.00440580
add esp, 0xc
xor eax, eax
jmp 0x442596
mov edx, dword [ebp - 0x30]
mov eax, 1
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0x7fffffff
jb 0x442550
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x34]
push 0x576f60
push 0x576edc
push eax
push 0x18
push 0x576ec4
call fcn.005708f0
add esp, 0x14
ud2
push 4
push 0x14
call fcn.00570650
add esp, 8
ud2
Function at 0x442610
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x443160
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [section..data]
test eax, eax
je 0x442654
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
ja 0x44266d
jmp 0x442686
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
jbe 0x442686
cmp dword [eax], 1
jne 0x442686
add eax, 4
cmp dword [eax], 0x7fffffff
jb 0x442768
jmp 0x4427f3
mov eax, dword [section..data]
test eax, eax
je 0x4426a7
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4426bf
mov esi, eax
cmp eax, 1
je 0x442772
jmp 0x442700
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
jne 0x44269a
push 4
push 0x14
call fcn.0043c290
add esp, 8
test eax, eax
je 0x442819
mov dword [eax], 0
mov dword [eax + 0x10], 0x61c000
mov esi, eax
mov eax, dword [section..data]
test eax, eax
jne 0x4426f8
push section..data
call fcn.004eaa60
add esp, 4
push esi
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp dword [esi], 0
lea eax, [esi + 4]
mov dword [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], 0
je 0x44275c
test ecx, ecx
je 0x44275c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x28], ecx
push ecx
mov dword [ebp - 0x24], edx
call dword [edx]
add esp, 4
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4427e4
push dword [ecx + 8]
push eax
push dword [ebp - 0x28]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x7fffffff
jae 0x4427f3
cmp dword [eax + 4], 0
je 0x442772
xor eax, eax
jmp 0x4427d0
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
mov ecx, dword [eax]
mov edi, dword [eax + 0xc]
mov edx, dword [eax + 4]
mov esi, dword [esi]
mov eax, dword [ecx]
mov ecx, dword [edi]
imul esi, dword [edx]
mov edx, dword [ecx + 0x90]
test edx, edx
je 0x4427a3
cmp dword [edx], 0
je 0x4427a3
mov ecx, edx
mov dword [ebp - 0x10], 1
jmp 0x4427ab
add ecx, 0x58
cmp dword [ecx], 0
je 0x4427cb
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x10], 1
push esi
push eax
push edx
call dword [ecx + 0x10]
add esp, 0xc
mov esi, 0x10000001
test eax, eax
jne 0x4427cb
mov esi, edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov dword fs:[0], ecx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x7fffffff
jb 0x442768
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x576f60
push 0x576edc
push eax
push 0x18
push 0x576ec4
call fcn.005708f0
add esp, 0x14
ud2
push 4
push 0x14
call fcn.00570650
add esp, 8
ud2
Function at 0x4428e0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x443170
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [section..data]
test eax, eax
je 0x442924
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
ja 0x44293d
jmp 0x442956
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
jbe 0x442956
cmp dword [eax], 1
jne 0x442956
add eax, 4
cmp dword [eax], 0x7fffffff
jb 0x442a30
jmp 0x442a95
mov eax, dword [section..data]
test eax, eax
je 0x442977
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x44298f
mov esi, eax
cmp eax, 1
je 0x442a36
jmp 0x4429d0
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
jne 0x44296a
push 4
push 0x14
call fcn.0043c290
add esp, 8
test eax, eax
je 0x442abb
mov dword [eax], 0
mov dword [eax + 0x10], 0x61c000
mov esi, eax
mov eax, dword [section..data]
test eax, eax
jne 0x4429c8
push section..data
call fcn.004eaa60
add esp, 4
push esi
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp dword [esi], 0
lea eax, [esi + 4]
mov dword [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], 0
je 0x442a28
test ecx, ecx
je 0x442a28
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x20], ecx
push ecx
mov dword [ebp - 0x28], edx
call dword [edx]
add esp, 4
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
test eax, eax
je 0x442a8a
push dword [ecx + 8]
push eax
push dword [ebp - 0x20]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0x7fffffff
jae 0x442a95
cmp dword [eax + 4], 0
jne 0x442a72
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], 0xffffffff
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [ebp - 0x38]
movsd qword [ebp - 0x30], xmm1
movsd qword [ebp - 0x38], xmm0
push eax
call fcn.004431b0
add esp, 4
test eax, eax
je 0x442a86
push edx
push eax
push 0x576efc
call fcn.00440580
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, 1
jmp 0x442a74
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0x7fffffff
jb 0x442a30
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x38]
push 0x576f60
push 0x576edc
push eax
push 0x18
push 0x576ec4
call fcn.005708f0
add esp, 0x14
ud2
push 4
push 0x14
call fcn.00570650
add esp, 8
ud2
Function at 0x442af0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x443180
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [section..data]
test eax, eax
je 0x442b34
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
ja 0x442b4d
jmp 0x442b66
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, 1
jbe 0x442b66
cmp dword [eax], 1
jne 0x442b66
add eax, 4
cmp dword [eax], 0x7fffffff
jb 0x442c44
jmp 0x442cb6
mov eax, dword [section..data]
test eax, eax
je 0x442b87
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x442b9f
mov esi, eax
cmp eax, 1
je 0x442c4e
jmp 0x442be0
push section..data
call fcn.004eaa60
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
jne 0x442b7a
push 4
push 0x14
call fcn.0043c290
add esp, 8
test eax, eax
je 0x442cdc
mov dword [eax], 0
mov dword [eax + 0x10], 0x61c000
mov esi, eax
mov eax, dword [section..data]
test eax, eax
jne 0x442bd8
push section..data
call fcn.004eaa60
add esp, 4
push esi
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp dword [esi], 0
lea eax, [esi + 4]
mov dword [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], 0
je 0x442c3c
test ecx, ecx
je 0x442c3c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x28], ecx
push ecx
mov dword [ebp - 0x24], edx
call dword [edx]
add esp, 4
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 4]
test eax, eax
je 0x442cab
push dword [ecx + 8]
push eax
push dword [ebp - 0x28]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x7fffffff
jae 0x442cb6
cmp dword [eax + 4], 0
je 0x442c4e
xor eax, eax
jmp 0x442c97
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov esi, dword [esi]
mov eax, dword [eax]
mov ecx, dword [ecx]
imul esi, dword [edx]
add eax, 0x58
mov dword [ebp - 0x10], 1
push esi
push ecx
push eax
call fcn.0043cd90
add esp, 0xc
mov ecx, eax
mov esi, 0x10000001
and ecx, 0x100
cmp ecx, 1
sbb esi, 0
test al, 1
mov eax, 1
cmove esi, edx
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov dword fs:[0], ecx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x7fffffff
jb 0x442c44
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x576f60
push 0x576edc
push eax
push 0x18
push 0x576ec4
call fcn.005708f0
add esp, 0x14
ud2
push 4
push 0x14
call fcn.00570650
add esp, 8
ud2