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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1010fc6d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x50
push esi
push edi
mov eax, dword [0x10163164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x10], 0
je 0x100463ae
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x10046265
push dword [ebx + 8]
push 0x100467a0
push edi
call eax
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
mov eax, dword [ecx + 8]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x54], eax
lea eax, [ecx + 0x10]
mov dword [ecx + 0xc], 0
lea ecx, [ebp - 0x50]
push eax
movq qword [ebp - 0x60], xmm0
call fcn.10029930
mov dword [ebp - 4], 0
lea eax, [ebp - 0x11]
push dword [0x1017537c]
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x100462b8
mov ecx, dword [eax + 4]
jmp 0x100462ba
xor ecx, ecx
push ecx
push dword [ebp - 0x20]
mov edx, 0x34
call fcn.1002b430
movq xmm0, qword [ebp - 0x60]
mov esi, eax
add esp, 8
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x50]
movq qword [esi + 4], xmm0
mov ecx, dword [ebp - 0x58]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x54], 0
mov dword [esi + 0x10], ecx
lea ecx, [esi + 0x14]
push eax
call fcn.10029930
mov dword [esi], 0x10046a40
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x28], 0
call fcn.10046720
mov dword [ebp - 4], 1
cmp dword [ebp - 0x40], 0
je 0x10046330
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x50]
push ecx
mov eax, dword [eax]
call eax
add esp, 4
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x1004637b
push ecx
lea ecx, [eax + 0x18]
mov dword [ebp - 0x54], 0
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], eax
call fcn.1002a4d0
mov eax, dword [ebp - 0x18]
add esp, 4
test eax, eax
je 0x10046369
mov eax, dword [eax]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 4
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x1004637b
mov eax, dword [eax]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 4
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 3
push eax
push edi
call dword [ebp - 0x20]
add esp, 8
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1004624f
push 0
push eax
mov eax, dword [eax]
call eax
add esp, 8
jmp 0x1004624f
lea ecx, [ebp - 0x2c]
call fcn.10027870
mov dword [ebp - 4], 5
call fcn.10029eb0
int3
Function at 0x100463e0
Capabilities:
Get thread local storage value

Disassembly:
push ecx
push esi
push edi
mov edi, ecx
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x100463fb
add ecx, 4
call fcn.10045b40
mov dword [edi + 8], 0
mov esi, dword [edi + 4]
test esi, esi
je 0x1004643f
push dword [0x1017537c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x1004642f
mov edx, dword [eax + 4]
test edx, edx
je 0x1004642f
mov eax, 4
nop
cmp dword [edx + eax*4], 0
lea ecx, [edx + eax*4]
je 0x10046443
inc eax
cmp eax, 6
jl 0x10046420
push esi
call fcn.100b88ab
add esp, 4
mov dword [edi + 4], 0
pop edi
pop esi
pop ecx
ret
mov al, byte [esi + 0x30]
mov byte [esi], al
mov dword [ecx], esi
mov dword [edi + 4], 0
pop edi
pop esi
pop ecx
ret
Function at 0x10046490
Capabilities:
Get thread local storage value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1010fcb5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x40
push esi
push edi
mov eax, dword [0x10163164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ecx]
mov dword [ecx], 0
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
lea esi, [ecx + 0xc]
mov dword [ebp - 4], 0
cmp dword [esi + 0x10], 0
je 0x10046616
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x1004651a
lea ecx, [ebp - 0x30]
push ecx
push fcn.10044050
push esi
call eax
add esp, 0xc
jmp 0x100465b7
mov eax, dword [ecx + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 1
lea eax, [ebp - 0x11]
push dword [0x1017537c]
mov dword [ebp - 0x3c], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x10046552
mov ecx, dword [eax + 4]
jmp 0x10046554
xor ecx, ecx
push ecx
push dword [ebp - 0x24]
mov edx, 0x14
call fcn.1002b430
mov ecx, dword [ebp - 0x20]
add esp, 8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xc], ecx
lea ecx, [ebp - 0x3c]
mov dword [eax], 0x10046bf0
mov dword [ebp - 0x1c], eax
call fcn.10043ef0
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 3
push eax
push esi
call dword [ebp - 0x24]
add esp, 8
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x100465b7
mov ecx, dword [eax]
push 0
push eax
call ecx
add esp, 8
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x10046602
push ecx
lea ecx, [eax + 0x18]
mov dword [ebp - 0x30], 0
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.1002a4d0
mov eax, dword [ebp - 0x1c]
add esp, 4
test eax, eax
je 0x100465f0
mov eax, dword [eax]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 4
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x10046602
mov eax, dword [eax]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea ecx, [ebp - 0x50]
call fcn.10027870
mov byte [ebp - 4], 5
call fcn.10029eb0
int3
Function at 0x10046630
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1010da00
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x10163164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [edi + 8]
test esi, esi
je 0x100466b2
mov dword [ebp - 4], 0
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x10046699
mov dword [ebp - 0x10], ecx
lea edx, [ebp - 0x10]
push ecx
add ecx, 0x18
mov dword [esi + 0x10], 0
call fcn.1002a4d0
mov eax, dword [ebp - 0x10]
add esp, 4
test eax, eax
je 0x10046699
mov eax, dword [eax]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 4
mov eax, dword [esi + 0x10]
test eax, eax
je 0x100466ab
mov eax, dword [eax]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 4
mov dword [edi + 8], 0
mov esi, dword [edi + 4]
test esi, esi
je 0x100466f4
push dword [0x1017537c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x100466e4
mov edx, dword [eax + 4]
test edx, edx
je 0x100466e4
mov eax, 4
cmp dword [edx + eax*4], 0
lea ecx, [edx + eax*4]
je 0x10046705
inc eax
cmp eax, 6
jl 0x100466d5
push esi
call fcn.100b88ab
add esp, 4
mov dword [edi + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov al, byte [esi + 0x18]
mov byte [esi], al
mov dword [ecx], esi
jmp 0x100466ed

Function at 0x10046720
Capabilities:
Get thread local storage value

Disassembly:
push ecx
push esi
push edi
mov edi, ecx
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x1004673b
add ecx, 4
call fcn.10045f70
mov dword [edi + 8], 0
mov esi, dword [edi + 4]
test esi, esi
je 0x1004677f
push dword [0x1017537c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x1004676f
mov edx, dword [eax + 4]
test edx, edx
je 0x1004676f
mov eax, 4
nop
cmp dword [edx + eax*4], 0
lea ecx, [edx + eax*4]
je 0x10046783
inc eax
cmp eax, 6
jl 0x10046760
push esi
call fcn.100b88ab
add esp, 4
mov dword [edi + 4], 0
pop edi
pop esi
pop ecx
ret
mov al, byte [esi + 0x34]
mov byte [esi], al
mov dword [ecx], esi
mov dword [edi + 4], 0
pop edi
pop esi
pop ecx
ret
Function at 0x10046890
Capabilities:
Get thread local storage value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1010fd45
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x48
push esi
push edi
mov eax, dword [0x10163164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movq xmm0, qword [ecx]
mov edx, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
movq qword [ebp - 0x28], xmm0
movq qword [ebp - 0x44], xmm0
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x3c], edx
mov dword [ecx + 0xc], 0
mov dword [ebp - 0x38], edi
lea esi, [ecx + 0x10]
mov dword [ebp - 4], 0
cmp dword [esi + 0x10], 0
je 0x10046a20
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x10046921
lea ecx, [ebp - 0x44]
push ecx
push fcn.100467b0
push esi
call eax
add esp, 0xc
jmp 0x100469c1
mov eax, dword [ecx + 8]
mov dword [ebp - 0x20], eax
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x4c], edi
mov byte [ebp - 4], 1
lea eax, [ebp - 0x11]
push dword [0x1017537c]
mov dword [ebp - 0x34], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x10046958
mov ecx, dword [eax + 4]
jmp 0x1004695a
xor ecx, ecx
push ecx
push dword [ebp - 0x20]
mov edx, 0x18
call fcn.1002b430
movq xmm0, qword [ebp - 0x28]
add esp, 8
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], 0
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
lea ecx, [ebp - 0x34]
mov dword [eax + 0x10], edi
mov dword [eax], 0x10046cd0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], 0
call fcn.10046630
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 3
push eax
push esi
call dword [ebp - 0x20]
add esp, 8
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x100469c1
mov ecx, dword [eax]
push 0
push eax
call ecx
add esp, 8
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x10046a0c
push ecx
lea ecx, [eax + 0x18]
mov dword [ebp - 0x38], 0
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], eax
call fcn.1002a4d0
mov eax, dword [ebp - 0x18]
add esp, 4
test eax, eax
je 0x100469fa
mov eax, dword [eax]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x10046a0c
mov eax, dword [eax]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea ecx, [ebp - 0x34]
call fcn.10027870
mov byte [ebp - 4], 5
call fcn.10029eb0
int3
Function at 0x10047780
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x41c
mov eax, dword [0x10163164]
xor eax, esp
mov dword [esp + 0x418], eax
push ebx
push esi
lea eax, [esp + 0x1c]
mov dword [esp + 0x10], ecx
push edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0x400
push 0
push 0
lea eax, [esp + 0x18]
mov dword [esp + 0x14], 0
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 0
push eax
push 1
lea eax, [esp + 0x2c]
push eax
push dword [ecx]
call dword [sym.imp.WS2_32.dll_WSARecv]
mov ebx, eax
call fcn.10008d10
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
cmp edi, 0x40
jne 0x10047802
mov edi, 0x2746
call fcn.10008d10
mov esi, eax
jmp 0x1004782a
cmp edi, 0x4d2
jne 0x10047818
mov edi, 0x274d
call fcn.10008d10
mov esi, eax
jmp 0x1004782a
cmp edi, 0x2738
je 0x10047830
mov eax, esi
cmp edi, 0xea
je 0x10047830
test ebx, ebx
jne 0x1004784f
jmp 0x10047832
mov eax, esi
mov ecx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [esp + 0xc]
xor edi, edi
cmp eax, 0x400
je 0x100477b1
test eax, eax
jg 0x10047892
je 0x1004787b
call fcn.10008d10
mov ecx, dword [esi + 4]
cmp ecx, dword [eax + 4]
jne 0x10047864
cmp edi, 0x2733
je 0x10047892
call fcn.10008d10
mov ecx, dword [esi + 4]
add eax, 4
cmp ecx, dword [eax]
jne 0x1004787b
cmp edi, 0x4d5
je 0x10047892
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x418]
xor ecx, esp
call fcn.100b8868
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x424]
mov al, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100b8868
mov esp, ebp
pop ebp
ret
Function at 0x100486c0
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 4]
add eax, 0x18
lock inc dword [eax]
cmp byte [ebp + 0x18], 0
push 0
je 0x100486f3
mov ecx, dword [edi + 4]
push 0
push dword [ebp + 0x1c]
call fcn.100287e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0xffffffff
jne 0x10048716
mov ecx, dword [edi + 4]
push 0x2719
push dword [ebp + 0x1c]
call fcn.100287e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ebx, dword [ebp + 0x1c]
lea ecx, [esp + 0x10]
push ebx
push dword [ebp + 0x14]
mov dword [esp + 0x18], 0
push ecx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call dword [sym.imp.WS2_32.dll_WSASend]
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x4d2
mov ecx, 0x274d
cmove eax, ecx
test esi, esi
je 0x1004876e
cmp eax, 0x3e5
je 0x1004876e
push dword [esp + 0xc]
mov ecx, dword [edi + 4]
push eax
push ebx
call fcn.100287e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [edi + 4]
push ebx
call fcn.10028770
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18

Function at 0x10048780
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 4]
add eax, 0x18
lock inc dword [eax]
cmp byte [ebp + 0x18], 0
push 0
je 0x100487b5
mov ecx, dword [esi + 4]
push 0
push dword [ebp + 0x1c]
call fcn.100287e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jne 0x100487d8
mov ecx, dword [esi + 4]
push 0x2719
push dword [ebp + 0x1c]
call fcn.100287e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x1c]
push edi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ecx
call dword [sym.imp.WS2_32.dll_WSARecv]
mov ebx, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x40
jne 0x10048816
mov eax, 0x2746
jmp 0x10048823
cmp eax, 0x4d2
mov ecx, 0x274d
cmove eax, ecx
test ebx, ebx
je 0x10048845
cmp eax, 0x3e5
je 0x10048845
push dword [esp + 0x10]
mov ecx, dword [esi + 4]
push eax
push edi
call fcn.100287e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [esi + 4]
push edi
call fcn.10028770
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
Function at 0x1004eeb0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push dword [0x1017537c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x1004eedf
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004eedf
mov eax, 8
nop
cmp dword [ecx + eax*4], 0
lea edx, [ecx + eax*4]
je 0x1004eeee
inc eax
cmp eax, 0xa
jl 0x1004eed0
push dword [ebp + 8]
call fcn.100b88ab
add esp, 4
pop ebp
ret 8
mov ecx, dword [ebp + 8]
mov al, byte [ecx + 0x9c]
mov byte [ecx], al
mov dword [edx], ecx
pop ebp
ret 8

Function at 0x1004ef00
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push dword [0x1017537c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x1004ef2f
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004ef2f
mov eax, 8
nop
cmp dword [ecx + eax*4], 0
lea edx, [ecx + eax*4]
je 0x1004ef3e
inc eax
cmp eax, 0xa
jl 0x1004ef20
push dword [ebp + 8]
call fcn.100b88ab
add esp, 4
pop ebp
ret 8
mov ecx, dword [ebp + 8]
mov al, byte [ecx + 0x7c]
mov byte [ecx], al
mov dword [edx], ecx
pop ebp
ret 8

Function at 0x1004ef50
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push dword [0x1017537c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x1004ef7f
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004ef7f
mov eax, 8
nop
cmp dword [ecx + eax*4], 0
lea edx, [ecx + eax*4]
je 0x1004ef8e
inc eax
cmp eax, 0xa
jl 0x1004ef70
push dword [ebp + 8]
call fcn.100b88ab
add esp, 4
pop ebp
ret 8
mov ecx, dword [ebp + 8]
mov al, byte [ecx + 0x74]
mov byte [ecx], al
mov dword [edx], ecx
pop ebp
ret 8

Function at 0x1004efa0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push dword [0x1017537c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x1004efcf
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004efcf
mov eax, 8
nop
cmp dword [ecx + eax*4], 0
lea edx, [ecx + eax*4]
je 0x1004efde
inc eax
cmp eax, 0xa
jl 0x1004efc0
push dword [ebp + 8]
call fcn.100b88ab
add esp, 4
pop ebp
ret 8
mov ecx, dword [ebp + 8]
mov al, byte [ecx + 0x78]
mov byte [ecx], al
mov dword [edx], ecx
pop ebp
ret 8

Function at 0x1004eff0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push dword [0x1017537c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x1004f01f
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004f01f
mov eax, 8
nop
cmp dword [ecx + eax*4], 0
lea edx, [ecx + eax*4]
je 0x1004f02e
inc eax
cmp eax, 0xa
jl 0x1004f010
push dword [ebp + 8]
call fcn.100b88ab
add esp, 4
pop ebp
ret 8
mov ecx, dword [ebp + 8]
mov al, byte [ecx + 0x80]
mov byte [ecx], al
mov dword [edx], ecx
pop ebp
ret 8
Function at 0x10054a70
Capabilities:
Get thread local storage value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10110dd6
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xd8
mov eax, dword [0x10163164]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea esi, [edi + 8]
mov dword [ebp - 4], 0
cmp dword [esi + 0x10], 0
je 0x10054ade
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x30]
push esi
push ecx
call eax
add esp, 8
jmp 0x10054af3
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x18], eax
push edi
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 1
call fcn.100576d0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x20], 0
je 0x10054c39
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x10054b38
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0x30]
push 0x10058070
push ecx
call eax
add esp, 0xc
jmp 0x10054bf8
mov edi, dword [ecx + 8]
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xe8]
call fcn.100576d0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x81]
push dword [0x1017537c]
mov dword [ebp - 0x94], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x10054b6f
mov ecx, dword [eax + 4]
jmp 0x10054b71
xor ecx, ecx
push ecx
push dword [ebp - 0x88]
mov edx, 0x58
call fcn.1002b430
mov esi, eax
mov dword [ebp - 0x8c], 0
add esp, 8
lea eax, [ebp - 0xe8]
lea ecx, [esi + 4]
push eax
call fcn.100576d0
mov dword [esi], 0x10059640
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x90], 0
call fcn.10057f70
lea ecx, [ebp - 0xe8]
call fcn.10050080
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x30]
push eax
call edi
add esp, 8
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x10054bf8
mov ecx, dword [eax]
push 0
push eax
call ecx
add esp, 8
lea ecx, [ebp - 0x80]
call fcn.10050080
mov dword [ebp - 4], 7
cmp dword [ebp - 0x20], 0
je 0x10054c1b
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
call eax
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100b8868
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea ecx, [ebp - 0x94]
call fcn.10027870
mov byte [ebp - 4], 6
call fcn.10029eb0
int3
Function at 0x10055050
Capabilities:
Get thread local storage value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10110ed6
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xd0
mov eax, dword [0x10163164]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea esi, [edi + 8]
mov dword [ebp - 4], 0
cmp dword [esi + 0x10], 0
je 0x100550be
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x30]
push esi
push ecx
call eax
add esp, 8
jmp 0x100550d3
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x18], eax
push edi
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 1
call fcn.100577e0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x20], 0
je 0x10055216
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x10055118
lea ecx, [ebp - 0x7c]
push ecx
lea ecx, [ebp - 0x30]
push 0x10058090
push ecx
call eax
add esp, 0xc
jmp 0x100551d5
mov edi, dword [ecx + 8]
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0xe0]
call fcn.100577e0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x7d]
push dword [0x1017537c]
mov dword [ebp - 0x90], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x1005514c
mov ecx, dword [eax + 4]
jmp 0x1005514e
xor ecx, ecx
push ecx
push dword [ebp - 0x84]
mov edx, 0x54
call fcn.1002b430
mov esi, eax
mov dword [ebp - 0x88], 0
add esp, 8
lea eax, [ebp - 0xe0]
lea ecx, [esi + 4]
push eax
call fcn.100577e0
mov dword [esi], 0x10059780
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x8c], 0
call fcn.10057ef0
lea ecx, [ebp - 0xe0]
call fcn.1004ffb0
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x30]
push eax
call edi
add esp, 8
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x100551d5
mov ecx, dword [eax]
push 0
push eax
call ecx
add esp, 8
lea ecx, [ebp - 0x7c]
call fcn.1004ffb0
mov dword [ebp - 4], 7
cmp dword [ebp - 0x20], 0
je 0x100551f8
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
call eax
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100b8868
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea ecx, [ebp - 0x90]
call fcn.10027870
mov byte [ebp - 4], 6
call fcn.10029eb0
int3