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

Disassembly:
push esi
mov esi, ecx
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x5f40d2
test al, 4
jne 0x5f40c7
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x34
cmp ax, cx
je 0x5f40aa
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x34
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f40e0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.005fea50
mov eax, dword [esp + 8]
test al, 1
je 0x5f4132
test al, 4
jne 0x5f4127
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x5f410a
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x40
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f4140
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x5f4192
test al, 4
jne 0x5f4187
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x54
cmp ax, cx
je 0x5f416a
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x54
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f41a0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x38], 0
test eax, eax
js 0x5f41ca
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 2
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x34]
call dword [eax + 0x10]
lea ecx, [esi + 0xc]
mov dword [esi + 0x34], 0
mov dword [esi + 0x3c], connect
call fcn.0045d990
lea ecx, [esi + 8]
call fcn.0045d990
mov eax, dword [esp + 8]
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f4238
test al, 4
jne 0x5f422d
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x5f4210
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x40
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x5f4240
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
lea ecx, [esi + 0x10]
call fcn.0045d990
mov eax, dword [esp + 8]
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f429b
test al, 4
jne 0x5f4290
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x20
cmp ax, cx
je 0x5f4273
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x20
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f42b0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x5f42bf
call fcn.0045c160
mov ecx, esi
mov dword [esi + 0x2c], 0
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x5f4317
test al, 4
jne 0x5f430c
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x38
cmp ax, cx
je 0x5f42ef
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x38
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f4380
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x5f43d2
test al, 4
jne 0x5f43c7
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x70
cmp ax, cx
je 0x5f43aa
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x70
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f43e0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x48]
mov dword [esi + 0x44], 0
test eax, eax
js 0x5f440d
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x40]
call dword [eax + 0x10]
mov ecx, esi
mov dword [esi + 0x40], 0
mov dword [esi + 0x48], connect
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x5f446f
test al, 4
jne 0x5f4461
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0xa0
cmp ax, cx
je 0x5f4444
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0xa0
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x5f4480
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.005f3680
mov eax, dword [esp + 8]
test al, 1
je 0x5f44d2
test al, 4
jne 0x5f44c7
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x20
cmp ax, cx
je 0x5f44aa
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x20
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f44e4
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f4533
test al, 4
jne 0x5f4528
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x5f450b
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x40
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f4540
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.005f9820
mov eax, dword [esp + 8]
test al, 1
je 0x5f4592
test al, 4
jne 0x5f4587
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x1c
cmp ax, cx
je 0x5f456a
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x1c
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f45a0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.005f9c10
mov eax, dword [esp + 8]
test al, 1
je 0x5f45f2
test al, 4
jne 0x5f45e7
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x4c
cmp ax, cx
je 0x5f45ca
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x4c
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f4604
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f4653
test al, 4
jne 0x5f4648
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x18
cmp ax, cx
je 0x5f462b
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x18
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x5f4660
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.005f3740
mov eax, dword [esp + 8]
test al, 1
je 0x5f46b2
test al, 4
jne 0x5f46a7
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x68
cmp ax, cx
je 0x5f468a
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x68
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f46c0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x5f46cf
call fcn.0045c160
mov ecx, esi
mov dword [esi + 0x34], 0
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x5f472a
test al, 4
jne 0x5f471c
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x80
cmp ax, cx
je 0x5f46ff
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x80
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f4730
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.005f37c0
mov eax, dword [esp + 8]
test al, 1
je 0x5f4782
test al, 4
jne 0x5f4777
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x30
cmp ax, cx
je 0x5f475a
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x30
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f4794
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f47e3
test al, 4
jne 0x5f47d8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x18
cmp ax, cx
je 0x5f47bb
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x18
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f47f0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
lea ecx, [esi + 0x14]
call fcn.0045d990
lea ecx, [esi + 0x10]
call fcn.0045d990
mov eax, dword [esp + 8]
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f4853
test al, 4
jne 0x5f4848
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x20
cmp ax, cx
je 0x5f482b
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x20
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x5f4864
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f48b3
test al, 4
jne 0x5f48a8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x5f488b
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x40
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f48c4
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f4913
test al, 4
jne 0x5f4908
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0xc
cmp ax, cx
je 0x5f48eb
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0xc
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f4924
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f4973
test al, 4
jne 0x5f4968
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0xc
cmp ax, cx
je 0x5f494b
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0xc
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f49e0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x5f49ef
call fcn.0045c160
mov dword [esi + 0x3c], 0
mov eax, dword [esi + 0x38]
mov dword [esi + 0x34], 0
test eax, eax
js 0x5f4a1d
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 2
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x30]
call dword [eax + 0x10]
mov ecx, esi
mov dword [esi + 0x30], 0
mov dword [esi + 0x38], connect
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x5f4a7c
test al, 4
jne 0x5f4a71
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x48
cmp ax, cx
je 0x5f4a54
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x48
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x5f4a94
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f4ae3
test al, 4
jne 0x5f4ad8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x50
cmp ax, cx
je 0x5f4abb
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x50
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f4af0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.005f3850
mov eax, dword [esp + 8]
test al, 1
je 0x5f4b45
test al, 4
jne 0x5f4b37
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0xd0
cmp ax, cx
je 0x5f4b1a
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0xd0
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f4b50
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
lea ecx, [esi + 0x10]
call fcn.0045d990
mov eax, dword [esp + 8]
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f4bab
test al, 4
jne 0x5f4ba0
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x5f4b83
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x14
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x5f5744
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkaRaycastInterface.0
test al, 1
je 0x5f577d
test al, 4
jne 0x5f5772
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 4
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, esi
pop esi
ret 4
push 4
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f5794
Capabilities:
Get thread local storage value

Disassembly:
sub ecx, 8
jmp method.hkbDefaultRaycastInterface.virtual_0
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi + 8], vtable.hkaRaycastInterface.0
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5f57ea
test al, 4
jne 0x5f57df
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x5f57c2
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x14
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f5860
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push esi
mov esi, dword [esp + 8]
push edi
mov edi, dword [esi + 0x50]
test edi, edi
jne 0x5f58a4
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0x58
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, 0x58
mov word [eax + 4], cx
mov ecx, eax
call fcn.0059bbb0
mov edi, eax
mov ecx, esi
push edi
call fcn.00598440
mov ecx, edi
call fcn.0045c160
cmp dword [edi + 0x54], 0
jne 0x5f58e3
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0x38
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, 0x38
mov word [eax + 4], cx
mov ecx, eax
call fcn.005f7b90
mov esi, eax
mov ecx, edi
push esi
call fcn.0059be30
pop edi
mov ecx, esi
pop esi
jmp fcn.0045c160
pop edi
pop esi
ret

Function at 0x5f5cc0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov ecx, dword [esp + 8]
push esi
mov esi, dword [esp + 8]
push edi
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x54]
push dword [eax + 0x24]
push dword [eax + 0x20]
call fcn.00704fb0
mov edi, eax
mov ecx, esi
push edi
call fcn.00598550
test edi, edi
je 0x5f5cf2
mov ecx, edi
pop edi
pop esi
jmp fcn.0045c160
pop edi
pop esi
ret

Function at 0x5f5d00
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov ecx, dword [esp + 8]
push esi
mov esi, dword [esp + 8]
push edi
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x54]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.00704fb0
mov edi, eax
mov ecx, esi
push edi
call fcn.005984f0
test edi, edi
je 0x5f5d32
mov ecx, edi
pop edi
pop esi
jmp fcn.0045c160
pop edi
pop esi
ret
Function at 0x5f5e60
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov ecx, dword [esp + 8]
push esi
mov esi, dword [esp + 8]
push edi
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x54]
push dword [eax + 0x30]
push dword [eax + 0x2c]
call fcn.00704fb0
mov edi, eax
mov ecx, esi
push edi
call fcn.00598580
test edi, edi
je 0x5f5e92
mov ecx, edi
pop edi
pop esi
jmp fcn.0045c160
pop edi
pop esi
ret
Function at 0x5f78c0
Capabilities:
Get thread local storage value

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x28]
mov ecx, ebx
push ebp
mov ebp, dword [esp + 0x24]
push esi
push edi
push ebp
call fcn.0046b460
cmp eax, dword [ebx + 8]
setle al
test al, al
jne 0x5f7ad2
push 1
push ebp
push 0x7d8954
mov ecx, ebx
call fcn.0046ba50
push dword [ebp + 0x68]
mov edi, dword [esp + 0x34]
mov ecx, edi
call fcn.005984f0
push dword [ebp + 0x6c]
mov ecx, edi
call fcn.00598520
push dword [ebp + 0x70]
mov ecx, edi
call fcn.00598550
push 0
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push 0
push ebp
push dword [ebp + 0x4c]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], connect
call fcn.005c3770
add esp, 0x14
mov dword [esp + 0x14], 0
cmp dword [esp + 0x20], 0
jle 0x5f7aa8
xor ebx, ebx
nop dword [eax + eax]
mov ecx, dword [0x884f00]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax]
push dword [ebx + ecx + 0x50]
mov ecx, eax
call dword [edx + 0x10]
mov esi, eax
mov ecx, 0x8d1d00
push esi
lea eax, [esp + 0x15]
push eax
call fcn.0045dcb0
cmp byte [eax], 0
je 0x5f79f6
mov eax, dword [esp + 0x1c]
mov eax, dword [ebx + eax + 0x50]
mov esi, dword [eax + 0x58]
test esi, esi
je 0x5f7a92
push dword [0x884adc]
sub eax, ebp
add edi, eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0xa0
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, 0xa0
push 0xffffffffffffffff
push ecx
mov edx, esp
mov word [eax + 4], cx
mov ecx, eax
mov byte [edx], 1
push dword [esi + 0x28]
call fcn.006fec60
mov esi, eax
mov ecx, edi
push esi
call fcn.0059feb0
mov ecx, esi
call fcn.0045c160
mov edi, dword [esp + 0x30]
jmp 0x5f7a92
push esi
lea eax, [esp + 0x16]
mov ecx, 0x8d354c
push eax
call fcn.0045dcb0
cmp byte [eax], 0
je 0x5f7a61
mov eax, dword [esp + 0x1c]
mov eax, dword [ebx + eax + 0x50]
mov esi, eax
sub esi, ebp
mov dword [esp + 0x18], eax
add esi, edi
mov edi, dword [eax + 0x6c]
test edi, edi
je 0x5f7a2b
mov ecx, edi
call fcn.0045c0c0
mov ecx, dword [esi + 0x6c]
test ecx, ecx
je 0x5f7a37
call fcn.0045c160
mov dword [esi + 0x6c], edi
mov edi, dword [esp + 0x18]
mov edi, dword [edi + 0x68]
test edi, edi
je 0x5f7a4c
mov ecx, edi
call fcn.0045c0c0
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x5f7a58
call fcn.0045c160
mov dword [esi + 0x68], edi
mov edi, dword [esp + 0x30]
jmp 0x5f7a92
push esi
lea eax, [esp + 0x17]
mov ecx, 0x8d1250
push eax
call fcn.0045dcb0
cmp byte [eax], 0
je 0x5f7a92
mov eax, dword [esp + 0x1c]
push dword [esp + 0x34]
mov ecx, dword [ebx + eax + 0x50]
mov eax, ecx
sub eax, ebp
add eax, edi
push eax
push ecx
call fcn.005f78c0
add esp, 0xc
mov eax, dword [esp + 0x14]
sub ebx, 0xffffff80
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x20]
jl 0x5f7960
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], 0
test eax, eax
js 0x5f7ad2
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 7
push eax
mov eax, dword [0x7d8954]
push dword [esp + 0x20]
call dword [eax + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
Function at 0x5f8130
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.005f7f70
mov eax, dword [esp + 8]
test al, 1
je 0x5f8185
test al, 4
jne 0x5f8177
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x104
cmp ax, cx
je 0x5f815a
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x104
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f9750
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.005f9300
mov eax, dword [esp + 8]
test al, 1
je 0x5f97a5
test al, 4
jne 0x5f9797
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x190
cmp ax, cx
je 0x5f977a
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x190
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5f9820
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
push edi
xor edi, edi
mov dword [esi], vtable.hkbPoseStoringGeneratorOutputListener.0
cmp dword [esi + 0xc], edi
jle 0x5f9842
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + edi*4]
call fcn.0045c160
inc edi
cmp edi, dword [esi + 0xc]
jl 0x5f9831
mov edi, dword [esi + 0x18]
test edi, edi
je 0x5f9873
push 0x7d8954
mov ecx, edi
call fcn.0046b3e0
mov ecx, edi
call fcn.0046b110
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0xc
push edi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], 0
test eax, eax
js 0x5f989a
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 2
push eax
mov eax, dword [0x7d8954]
push dword [esi + 8]
call dword [eax + 0x10]
mov dword [esi + 8], 0
mov dword [esi + 0x10], connect
pop edi
mov dword [esi], vtable.hkBaseObject.0
pop esi
ret