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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push edi
push dword [0x728f98]
xor ebx, ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, ebx
je 0x5fa0ce
mov edi, dword [eax + 0x16c]
jmp 0x5fa0d0
xor edi, edi
cmp edi, ebx
jne 0x5fa0e4
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa166
push edi
push ebx
push ebx
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], ebx
call fcn.0063ab78
test eax, eax
je 0x5fa153
mov eax, dword [ebp + 0x10]
and eax, 0x11c
cmp eax, dword [ebp + 0x10]
jne 0x5fa153
push esi
mov esi, dword [ebp + 8]
cmp esi, ebx
je 0x5fa11d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
shr eax, 2
test al, 1
je 0x5fa11d
mov ecx, esi
jmp 0x5fa11f
xor ecx, ecx
cmp ecx, ebx
pop esi
je 0x5fa153
cmp edi, dword [ecx + 8]
je 0x5fa130
push 0x8004001e
jmp 0x5fa158
cmp dword [ebp + 0xc], ebx
je 0x5fa153
mov eax, dword [ebp + 0x10]
shr eax, 8
test al, 1
jne 0x5fa15e
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0063e8d6
mov dword [ebp - 4], 1
jmp 0x5fa15e
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [ebp - 0x10]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop edi
pop ebx
leave
ret 0xc

Function at 0x5fa16f
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push esi
push edi
push dword [0x728f98]
xor edi, edi
mov dword [ebp - 4], edi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, edi
je 0x5fa194
mov esi, dword [eax + 0x16c]
jmp 0x5fa196
xor esi, esi
cmp esi, edi
jne 0x5fa1aa
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa24e
push esi
push edi
push 1
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], edi
call fcn.0063ab78
test eax, eax
jne 0x5fa1ca
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa246
push ebx
mov ebx, dword [ebp + 8]
cmp ebx, edi
je 0x5fa1e4
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
shr eax, 2
test al, 1
je 0x5fa1e4
mov ecx, ebx
jmp 0x5fa1e6
xor ecx, ecx
cmp ecx, edi
jne 0x5fa1f1
push 0x80070057
jmp 0x5fa1fb
cmp esi, dword [ecx + 8]
je 0x5fa203
push 0x8004001e
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa245
cmp dword [esi + 0x10], edi
je 0x5fa239
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x20], 0x10
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0x800c
call fcn.005f9d8d
xor ecx, ecx
test eax, eax
setge cl
mov dword [ebp - 4], ecx
jmp 0x5fa245
call fcn.0063ce58
mov dword [ebp - 4], 1
pop ebx
lea ecx, [ebp - 0x10]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop edi
pop esi
leave
ret 4
Function at 0x5fa283
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
push edi
push dword [0x728f98]
xor edi, edi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, edi
je 0x5fa2a5
mov esi, dword [eax + 0x16c]
jmp 0x5fa2a7
xor esi, esi
cmp esi, edi
jne 0x5fa2b8
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa300
push esi
push edi
push edi
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], edi
call fcn.0063ab78
test eax, eax
jne 0x5fa2d7
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa2f8
push dword [ebp + 8]
call fcn.005f946e
cmp eax, edi
je 0x5fa2ca
cmp esi, dword [eax + 8]
je 0x5fa2ef
push 0x8004001e
jmp 0x5fa2cf
cmp dword [ebp + 0xc], edi
jne 0x5fa2ca
movzx edi, byte [eax + 0x14]
lea ecx, [ebp - 0xc]
call fcn.0063ab31
mov eax, edi
pop edi
pop esi
leave
ret 8

Function at 0x5fa308
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push edi
push dword [0x728f98]
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, ebx
je 0x5fa32a
mov edi, dword [eax + 0x16c]
jmp 0x5fa32c
xor edi, edi
cmp edi, ebx
jne 0x5fa33d
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa3ae
push edi
push ebx
push 1
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], ebx
call fcn.0063ab78
test eax, eax
jne 0x5fa35d
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa3a6
push esi
mov esi, dword [ebp + 8]
cmp esi, ebx
je 0x5fa377
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
shr eax, 2
test al, 1
je 0x5fa377
mov eax, esi
jmp 0x5fa379
xor eax, eax
test eax, eax
pop esi
je 0x5fa350
cmp edi, dword [eax + 8]
je 0x5fa38a
push 0x8004001e
jmp 0x5fa355
mov ecx, dword [ebp + 0x14]
and ecx, 7
cmp ecx, dword [ebp + 0x14]
jne 0x5fa350
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.0063e450
mov ebx, eax
lea ecx, [ebp - 0xc]
call fcn.0063ab31
pop edi
mov eax, ebx
pop ebx
leave
ret 0x10

Function at 0x5fa3b6
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
and dword [ebp - 4], 0
push esi
push dword [0x728f98]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x5fa3d9
mov esi, dword [eax + 0x16c]
jmp 0x5fa3db
xor esi, esi
test esi, esi
jne 0x5fa3ec
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa44f
and dword [ebp - 0x10], 0
push esi
push 0
push 0
lea ecx, [ebp - 0x10]
call fcn.0063ab78
test eax, eax
jne 0x5fa40e
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa447
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x5fa428
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
shr eax, 2
test al, 1
je 0x5fa428
mov eax, edi
jmp 0x5fa42a
xor eax, eax
test eax, eax
pop edi
je 0x5fa401
cmp esi, dword [eax + 8]
je 0x5fa43b
push 0x8004001e
jmp 0x5fa406
push dword [ebp + 0xc]
push eax
call fcn.0063f54e
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x10]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop esi
leave
ret 8
Function at 0x5fa457
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
and dword [ebp - 4], 0
push esi
push dword [0x728f98]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x5fa47a
mov esi, dword [eax + 0x16c]
jmp 0x5fa47c
xor esi, esi
test esi, esi
jne 0x5fa48d
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa4f0
and dword [ebp - 0x10], 0
push esi
push 0
push 0
lea ecx, [ebp - 0x10]
call fcn.0063ab78
test eax, eax
jne 0x5fa4af
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa4e8
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x5fa4c9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
shr eax, 2
test al, 1
je 0x5fa4c9
mov eax, edi
jmp 0x5fa4cb
xor eax, eax
test eax, eax
pop edi
je 0x5fa4a2
cmp esi, dword [eax + 8]
je 0x5fa4dc
push 0x8004001e
jmp 0x5fa4a7
push dword [ebp + 0xc]
push eax
call fcn.0063f5d4
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x10]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop esi
leave
ret 8

Function at 0x5fa4f8
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
push dword [0x728f98]
xor esi, esi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, esi
je 0x5fa519
mov eax, dword [eax + 0x16c]
jmp 0x5fa51b
xor eax, eax
cmp eax, esi
jne 0x5fa52c
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa567
push eax
push esi
push esi
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], esi
call fcn.0063ab78
test eax, eax
je 0x5fa554
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x5fa554
cmp dword [eax], 0x20
jne 0x5fa554
push eax
call fcn.00640210
mov esi, eax
jmp 0x5fa55f
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [ebp - 0xc]
call fcn.0063ab31
mov eax, esi
pop esi
leave
ret 4

Function at 0x5fa599
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
push dword [0x728f98]
xor esi, esi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, esi
je 0x5fa5ba
mov eax, dword [eax + 0x16c]
jmp 0x5fa5bc
xor eax, eax
cmp eax, esi
jne 0x5fa5cd
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa611
push eax
push esi
push esi
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], esi
call fcn.0063ab78
test eax, eax
je 0x5fa5fe
cmp dword [ebp + 8], 0x8b
ja 0x5fa5fe
call fcn.005f8b27
mov eax, dword [eax + 0x24]
push dword [ebp + 8]
mov ecx, eax
call fcn.005f94f4
mov esi, eax
jmp 0x5fa609
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [ebp - 0xc]
call fcn.0063ab31
mov eax, esi
pop esi
leave
ret 4
Function at 0x5fa643
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
and dword [ebp - 4], 0
push esi
push dword [0x728f98]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x5fa666
mov esi, dword [eax + 0x16c]
jmp 0x5fa668
xor esi, esi
test esi, esi
jne 0x5fa679
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa6e6
and dword [ebp - 0x14], 0
push esi
push 0
push 0
lea ecx, [ebp - 0x14]
call fcn.0063ab78
test eax, eax
jne 0x5fa695
push 0x80070057
jmp 0x5fa6d8
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x5fa6af
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
shr eax, 2
test al, 1
je 0x5fa6af
mov ecx, edi
jmp 0x5fa6b1
xor ecx, ecx
test ecx, ecx
pop edi
je 0x5fa68e
cmp esi, dword [ecx + 8]
je 0x5fa6c2
push 0x8004001e
jmp 0x5fa6d8
lea eax, [ebp - 8]
push eax
call fcn.0063926b
test eax, eax
jl 0x5fa6d7
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
jmp 0x5fa6de
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [ebp - 0x14]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop esi
leave
ret 4

Function at 0x5fa6ee
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
push dword [0x728f98]
xor esi, esi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, esi
je 0x5fa70f
mov eax, dword [eax + 0x16c]
jmp 0x5fa711
xor eax, eax
cmp eax, esi
jne 0x5fa722
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa753
push eax
push esi
push esi
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], esi
call fcn.0063ab78
test eax, eax
jne 0x5fa741
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa74b
push dword [ebp + 8]
call fcn.0063954e
mov esi, eax
lea ecx, [ebp - 0xc]
call fcn.0063ab31
mov eax, esi
pop esi
leave
ret 4
Function at 0x5fa814
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push edi
push dword [0x728f98]
xor edi, edi
mov dword [ebp - 4], edi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, edi
je 0x5fa839
mov ebx, dword [eax + 0x16c]
jmp 0x5fa83b
xor ebx, ebx
cmp ebx, edi
jne 0x5fa84f
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa9f4
push ebx
push edi
push 1
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], edi
call fcn.0063ab78
test eax, eax
jne 0x5fa872
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fa9ec
push esi
mov esi, dword [ebp + 0x10]
cmp esi, edi
je 0x5fa9e0
mov ecx, dword [esi + 0x10]
mov edx, ecx
mov eax, 0xfffff
and edx, eax
cmp edx, ecx
jne 0x5fa9e0
mov ecx, dword [esi + 0x14]
mov edx, ecx
and edx, eax
cmp edx, ecx
jne 0x5fa9e0
mov eax, dword [esi + 8]
movzx ecx, al
cmp ecx, eax
jne 0x5fa9e0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
and eax, 0xf
dec eax
mov dword [ebp - 0xc], ecx
je 0x5fa97a
sub eax, 4
je 0x5fa907
dec eax
dec eax
jne 0x5fa9e0
cmp dword [ebp + 8], edi
jne 0x5fa9e0
cmp ecx, edi
je 0x5fa9e0
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.006406a2
cmp eax, edi
jl 0x5fa901
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
jmp 0x5fa9eb
push eax
jmp 0x5fa9e5
mov edi, dword [ebp + 8]
test edi, edi
je 0x5fa937
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
shr eax, 2
and al, 1
neg al
sbb eax, eax
and eax, edi
test eax, eax
je 0x5fa9e0
cmp ebx, dword [eax + 8]
je 0x5fa953
push 0x8004001e
jmp 0x5fa9e5
call fcn.005f8b27
test eax, eax
je 0x5fa943
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + 8]
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
test eax, eax
je 0x5fa9e0
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 0xc]
push ecx
mov ecx, eax
call fcn.0063a1dc
test eax, eax
jl 0x5fa96e
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
jmp 0x5fa975
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, dword [ebp + 8]
jmp 0x5fa9b2
cmp dword [ebp + 8], edi
je 0x5fa9e0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5fa9e0
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 8]
call fcn.0064056b
cmp eax, edi
jl 0x5fa9a8
mov eax, dword [ebp + 0x10]
mov dword [ebp - 4], eax
jmp 0x5fa9af
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x5fa9eb
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5fa9c8
mov edx, dword [edi]
push eax
push dword [esi + 8]
mov ecx, edi
call dword [edx + 0x18]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x5fa9eb
push 0
push eax
push dword [esi + 0x10]
mov ecx, edi
call fcn.00639998
test eax, eax
jge 0x5fa9eb
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop esi
lea ecx, [ebp - 0x18]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop edi
pop ebx
leave
ret 0xc
Function at 0x5fa9fd
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
push dword [0x728f98]
xor esi, esi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, esi
je 0x5faa1e
mov eax, dword [eax + 0x16c]
jmp 0x5faa20
xor eax, eax
cmp eax, esi
jne 0x5faa31
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5faa5f
push eax
push esi
push esi
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], esi
call fcn.0063ab78
test eax, eax
jne 0x5faa50
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5faa57
call fcn.0063dba8
mov esi, eax
lea ecx, [ebp - 0xc]
call fcn.0063ab31
mov eax, esi
pop esi
leave
ret

Function at 0x5faa64
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push edi
push dword [0x728f98]
xor ebx, ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, ebx
je 0x5faa89
mov edi, dword [eax + 0x16c]
jmp 0x5faa8b
xor edi, edi
cmp edi, ebx
jne 0x5faa9f
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fab5f
push edi
push ebx
push 1
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], ebx
call fcn.0063ab78
test eax, eax
jne 0x5faac2
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fab57
push esi
mov esi, dword [ebp + 8]
cmp esi, ebx
je 0x5faada
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
shr eax, 2
test al, 1
je 0x5faada
mov ebx, esi
test ebx, ebx
jne 0x5faae5
push 0x80070057
jmp 0x5faaef
cmp edi, dword [ebx + 8]
je 0x5faaf7
push 0x8004001e
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fab56
mov ecx, ebx
call fcn.005f8d40
mov esi, eax
test esi, esi
je 0x5fab56
call fcn.0063dba8
and dword [ebp + 8], 0
mov edi, eax
test edi, edi
je 0x5fab2c
mov ecx, edi
call fcn.005f8d40
cmp eax, esi
mov dword [ebp + 8], eax
jne 0x5fab2c
push edi
mov ecx, ebx
call fcn.006394d8
mov dword [ebp - 4], eax
cmp byte [ebp + 0xc], 0
je 0x5fab56
cmp dword [ebp - 4], 0
jne 0x5fab56
test edi, edi
je 0x5fab41
cmp dword [ebp + 8], esi
je 0x5fab56
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x5fab56
push eax
mov ecx, ebx
call fcn.006394d8
mov dword [ebp - 4], eax
pop esi
lea ecx, [ebp - 0x10]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop edi
pop ebx
leave
ret 8
Function at 0x5fab68
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
and dword [ebp - 4], 0
push edi
push dword [0x728f98]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x5fab8b
mov edi, dword [eax + 0x16c]
jmp 0x5fab8d
xor edi, edi
test edi, edi
jne 0x5faba1
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fac42
and dword [ebp - 0x10], 0
push edi
push 0
push 1
lea ecx, [ebp - 0x10]
call fcn.0063ab78
test eax, eax
jne 0x5fabc3
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fac3a
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x5fabd9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
shr eax, 2
test al, 1
jne 0x5fabdb
xor esi, esi
test esi, esi
jne 0x5fabe6
push 0x80070057
jmp 0x5fac15
cmp edi, dword [esi + 8]
je 0x5fabf2
push 0x8004001e
jmp 0x5fac15
cmp dword [edi + 0x10], 0
je 0x5fac1d
mov ecx, esi
call fcn.005f8d40
test eax, eax
je 0x5fac1d
mov ecx, esi
call fcn.005f8d40
test byte [eax + 0x54], 0x20
je 0x5fac1d
push 0x8004001f
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fac39
mov ecx, esi
call fcn.005f8d40
test eax, eax
je 0x5fac39
push dword [ebp + 0x10]
mov ecx, eax
push dword [ebp + 0xc]
push esi
call fcn.0063b899
mov dword [ebp - 4], eax
pop esi
lea ecx, [ebp - 0x10]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop edi
leave
ret 0xc

Function at 0x5fac4a
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
and dword [ebp - 4], 0
push edi
push dword [0x728f98]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x5fac6d
mov edi, dword [eax + 0x16c]
jmp 0x5fac6f
xor edi, edi
test edi, edi
jne 0x5fac83
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fad27
and dword [ebp - 0x10], 0
push edi
push 0
push 1
lea ecx, [ebp - 0x10]
call fcn.0063ab78
test eax, eax
jne 0x5faca5
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fad1f
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x5facbb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
shr eax, 2
test al, 1
jne 0x5facbd
xor esi, esi
test esi, esi
jne 0x5facc8
push 0x80070057
jmp 0x5facf7
cmp edi, dword [esi + 8]
je 0x5facd4
push 0x8004001e
jmp 0x5facf7
cmp dword [edi + 0x10], 0
je 0x5facff
mov ecx, esi
call fcn.005f8d40
test eax, eax
je 0x5facff
mov ecx, esi
call fcn.005f8d40
test byte [eax + 0x54], 0x20
je 0x5facff
push 0x8004001f
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fad1e
mov ecx, esi
call fcn.005f8d40
test eax, eax
je 0x5fad1e
mov ecx, dword [ebp + 0xc]
neg ecx
sbb ecx, ecx
and ecx, esi
push ecx
mov ecx, eax
call fcn.0063b835
mov dword [ebp - 4], eax
pop esi
lea ecx, [ebp - 0x10]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop edi
leave
ret 8
Function at 0x5fad2f
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push dword [0x728f98]
xor esi, esi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, esi
je 0x5fad54
mov ebx, dword [eax + 0x16c]
jmp 0x5fad56
xor ebx, ebx
cmp ebx, esi
jne 0x5fad6a
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fae1b
push ebx
push esi
push esi
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], esi
call fcn.0063ab78
test eax, eax
jne 0x5fad8c
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fae13
push edi
mov edi, dword [ebp + 8]
cmp edi, esi
je 0x5fada2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
shr eax, 2
test al, 1
jne 0x5fada4
xor edi, edi
cmp edi, esi
je 0x5fae07
cmp ebx, dword [edi + 8]
je 0x5fadb4
push 0x8004001e
jmp 0x5fae0c
cmp dword [ebp + 0x14], esi
jne 0x5fae07
mov eax, dword [ebp + 0xc]
and eax, 0xfffff
cmp eax, dword [ebp + 0xc]
jne 0x5fae07
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x5fae07
cmp dword [ebx + 0x10], 0
je 0x5fadf2
mov ecx, edi
call fcn.005f8d40
test eax, eax
je 0x5fadf2
mov ecx, edi
call fcn.005f8d40
test byte [eax + 0x54], 0x20
je 0x5fadf2
push 0x8004001f
jmp 0x5fae0c
push dword [ebp + 0xc]
mov ecx, edi
call fcn.005fa793
mov dword [esi], eax
mov dword [ebp - 4], 1
jmp 0x5fae12
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
lea ecx, [ebp - 0x10]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop esi
pop ebx
leave
ret 0x10

Function at 0x5fae24
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
and dword [ebp - 4], 0
push edi
push dword [0x728f98]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x5fae47
mov edi, dword [eax + 0x16c]
jmp 0x5fae49
xor edi, edi
test edi, edi
jne 0x5fae5d
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5faf06
and dword [ebp - 0x10], 0
push edi
push 0
push 1
lea ecx, [ebp - 0x10]
call fcn.0063ab78
test eax, eax
jne 0x5fae7f
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5faefe
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x5fae95
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
shr eax, 2
test al, 1
jne 0x5fae97
xor esi, esi
test esi, esi
jne 0x5faea2
push 0x80070057
jmp 0x5faef7
cmp edi, dword [esi + 8]
je 0x5faeae
push 0x8004001e
jmp 0x5faef7
cmp dword [edi + 0x10], 0
je 0x5faed3
mov ecx, esi
call fcn.005f8d40
test eax, eax
je 0x5faed3
mov ecx, esi
call fcn.005f8d40
test byte [eax + 0x54], 0x20
je 0x5faed3
push 0x8004001f
jmp 0x5faef7
fld dword [ebp + 0x10]
push ecx
push ecx
fstp dword [esp + 4]
mov ecx, esi
fld dword [ebp + 0xc]
fstp dword [esp]
call fcn.0063c275
test eax, eax
jl 0x5faef6
mov dword [ebp - 4], 1
jmp 0x5faefd
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop esi
lea ecx, [ebp - 0x10]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop edi
leave
ret 0xc
Function at 0x5faf0e
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
and dword [ebp - 4], 0
push edi
push dword [0x728f98]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x5faf31
mov edi, dword [eax + 0x16c]
jmp 0x5faf33
xor edi, edi
test edi, edi
jne 0x5faf47
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fafe8
and dword [ebp - 0x10], 0
push edi
push 0
push 1
lea ecx, [ebp - 0x10]
call fcn.0063ab78
test eax, eax
jne 0x5faf69
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fafe0
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x5faf7f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
shr eax, 2
test al, 1
jne 0x5faf81
xor esi, esi
test esi, esi
jne 0x5faf8c
push 0x80070057
jmp 0x5fafd9
cmp edi, dword [esi + 8]
je 0x5faf98
push 0x8004001e
jmp 0x5fafd9
cmp dword [edi + 0x10], 0
je 0x5fafbd
mov ecx, esi
call fcn.005f8d40
test eax, eax
je 0x5fafbd
mov ecx, esi
call fcn.005f8d40
test byte [eax + 0x54], 0x20
je 0x5fafbd
push 0x8004001f
jmp 0x5fafd9
fld dword [ebp + 0xc]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.0063c37d
test eax, eax
jl 0x5fafd8
mov dword [ebp - 4], 1
jmp 0x5fafdf
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop esi
lea ecx, [ebp - 0x10]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop edi
leave
ret 8

Function at 0x5faff0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push dword [0x728f98]
xor ebx, ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, ebx
je 0x5fb015
mov esi, dword [eax + 0x16c]
jmp 0x5fb017
xor esi, esi
cmp esi, ebx
jne 0x5fb02b
push 0x80040014
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fb103
push esi
push ebx
push 1
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
call fcn.0063ab78
test eax, eax
jne 0x5fb04e
push 0x80070057
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5fb0fb
push edi
mov edi, dword [ebp + 8]
push edi
call fcn.005f946e
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x5fb069
push 0x80070057
jmp 0x5fb0f4
cmp esi, dword [eax + 8]
je 0x5fb075
push 0x8004001e
jmp 0x5fb0f4
push dword [ebp + 0x10]
call fcn.005f946e
cmp eax, ebx
mov dword [ebp + 8], eax
je 0x5fb05f
cmp esi, dword [eax + 8]
jne 0x5fb06e
mov ebx, dword [ebp + 0xc]
cmp ebx, 1
jge 0x5fb095
test ebx, ebx
jg 0x5fb0fa
test ebx, ebx
jl 0x5fb0fa
cmp dword [esi + 0x10], 0
je 0x5fb0da
test edi, edi
je 0x5fb0b5
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
shr eax, 2
test al, 1
je 0x5fb0b5
mov esi, edi
jmp 0x5fb0b7
xor esi, esi
test esi, esi
je 0x5fb0d3
mov ecx, esi
call fcn.005f8d40
test eax, eax
je 0x5fb0da
mov ecx, esi
call fcn.005f8d40
test byte [eax + 0x54], 0x20
je 0x5fb0da
push 0x8004001f
jmp 0x5fb0f4
push dword [ebp + 8]
mov ecx, dword [ebp - 8]
push ebx
call fcn.00640917
test eax, eax
jl 0x5fb0f3
mov dword [ebp - 4], 1
jmp 0x5fb0fa
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
lea ecx, [ebp - 0x14]
call fcn.0063ab31
mov eax, dword [ebp - 4]
pop esi
pop ebx
leave
ret 0xc