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

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x5904ff
call fcn.0045c160
mov ecx, esi
mov dword [esi + 0x30], 0
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x590557
test al, 4
jne 0x59054c
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x48
cmp ax, cx
je 0x59052f
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 0x590564
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 0x5905b3
test al, 4
jne 0x5905a8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0xc
cmp ax, cx
je 0x59058b
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 0x5905c0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058eae0
mov eax, dword [esp + 8]
test al, 1
je 0x590612
test al, 4
jne 0x590607
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x5905ea
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 0x590620
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], 0
test eax, eax
js 0x590649
and eax, 0x3fffffff
mov ecx, 0x7d8954
add eax, eax
push eax
mov eax, dword [0x7d8954]
push dword [esi + 8]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 8], 0
mov dword [esi + 0x10], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5906a7
test al, 4
jne 0x59069c
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x59067f
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 0x5906b0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov dword [esi + 0x60], vtable.hkBaseObject.0
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x5906c6
call fcn.0045c160
mov ecx, esi
mov dword [esi + 0x2c], 0
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x590721
test al, 4
jne 0x590713
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0xb0
cmp ax, cx
je 0x5906f6
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 0xb0
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x590730
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x59073f
call fcn.0045c160
mov ecx, esi
mov dword [esi + 0x2c], 0
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x590797
test al, 4
jne 0x59078c
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x3c
cmp ax, cx
je 0x59076f
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 0x3c
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x5907a4
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 0x5907f3
test al, 4
jne 0x5907e8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0xc
cmp ax, cx
je 0x5907cb
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 0x590804
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 0x590853
test al, 4
jne 0x590848
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 8
cmp ax, cx
je 0x59082b
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 8
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x590860
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.00594850
mov eax, dword [esp + 8]
test al, 1
je 0x5908b2
test al, 4
jne 0x5908a7
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x59088a
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 0x5908c0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058eb50
mov eax, dword [esp + 8]
test al, 1
je 0x590912
test al, 4
jne 0x590907
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x5908ea
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 0x590920
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], 0
test eax, eax
js 0x59094a
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esi + 8]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 8], 0
mov dword [esi + 0x10], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x5909a8
test al, 4
jne 0x59099d
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x590980
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 0x5909b0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x40]
mov dword [esi + 0x3c], 0
test eax, eax
js 0x5909d7
and eax, 0x3fffffff
mov ecx, 0x7d8954
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x38]
call dword [eax + 0x10]
mov dword [esi + 0x38], 0
mov dword [esi + 0x40], connect
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x5909f1
call fcn.0045c160
mov ecx, esi
mov dword [esi + 0x34], 0
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x590a49
test al, 4
jne 0x590a3e
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x44
cmp ax, cx
je 0x590a21
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 0x44
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x590a50
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], 0
test eax, eax
js 0x590a77
and eax, 0x3fffffff
mov ecx, 0x7d8954
push eax
mov eax, dword [0x7d8954]
push dword [esi + 8]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 8], 0
mov dword [esi + 0x10], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x590ad5
test al, 4
jne 0x590aca
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x590aad
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 0x590ae0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x590aef
call fcn.0045c160
lea ecx, [esi + 8]
mov dword [esi + 0xc], 0
call fcn.0045d990
mov eax, dword [esp + 8]
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x590b4e
test al, 4
jne 0x590b43
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x10
cmp ax, cx
je 0x590b26
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 0x10
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x590b60
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058ebd0
mov eax, dword [esp + 8]
test al, 1
je 0x590bb2
test al, 4
jne 0x590ba7
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x590b8a
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 0x590bc0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x590c12
test al, 4
jne 0x590c07
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x34
cmp ax, cx
je 0x590bea
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 0x590c20
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058ec40
mov eax, dword [esp + 8]
test al, 1
je 0x590c75
test al, 4
jne 0x590c67
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x90
cmp ax, cx
je 0x590c4a
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 0x90
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x590c80
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], 0
test eax, eax
js 0x590cad
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 5
push eax
mov eax, dword [0x7d8954]
push dword [esi + 8]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 8], 0
mov dword [esi + 0x10], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x590d0b
test al, 4
jne 0x590d00
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x38
cmp ax, cx
je 0x590ce3
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 0x590d20
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.005a7fc0
mov eax, dword [esp + 8]
test al, 1
je 0x590d75
test al, 4
jne 0x590d67
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0xd0
cmp ax, cx
je 0x590d4a
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 0x590de0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x590def
call fcn.0045c160
mov ecx, esi
mov dword [esi + 0x2c], 0
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x590e47
test al, 4
jne 0x590e3c
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x5c
cmp ax, cx
je 0x590e1f
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 0x5c
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x590e54
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 0x590ea3
test al, 4
jne 0x590e98
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x20
cmp ax, cx
je 0x590e7b
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 0x590eb0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
lea ecx, [esi + 0x30]
call fcn.0045d990
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x590ec7
call fcn.0045c160
mov ecx, esi
mov dword [esi + 0x2c], 0
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x590f1f
test al, 4
jne 0x590f14
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x38
cmp ax, cx
je 0x590ef7
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 0x590f30
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x590f82
test al, 4
jne 0x590f77
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x60
cmp ax, cx
je 0x590f5a
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 0x60
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x590f94
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 0x590fe3
test al, 4
jne 0x590fd8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x590fbb
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 0x590ff0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x591042
test al, 4
jne 0x591037
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x50
cmp ax, cx
je 0x59101a
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 0x591054
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 0x5910a3
test al, 4
jne 0x591098
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x30
cmp ax, cx
je 0x59107b
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 0x5910b0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x34]
mov dword [esi + 0x30], 0
test eax, eax
js 0x5910dd
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 5
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x2c]
call dword [eax + 0x10]
mov ecx, esi
mov dword [esi + 0x2c], 0
mov dword [esi + 0x34], connect
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x59113c
test al, 4
jne 0x591131
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x38
cmp ax, cx
je 0x591114
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 0x591150
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058ecc0
mov eax, dword [esp + 8]
test al, 1
je 0x5911a2
test al, 4
jne 0x591197
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x18
cmp ax, cx
je 0x59117a
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 0x5911b0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058ed40
mov eax, dword [esp + 8]
test al, 1
je 0x591202
test al, 4
jne 0x5911f7
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x48
cmp ax, cx
je 0x5911da
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 0x591214
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 0x591263
test al, 4
jne 0x591258
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x18
cmp ax, cx
je 0x59123b
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 0x591274
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 0x5912c3
test al, 4
jne 0x5912b8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0xc
cmp ax, cx
je 0x59129b
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 0x5912d0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], 0
test eax, eax
js 0x5912fa
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 3
push eax
mov eax, dword [0x7d8954]
push dword [esi + 8]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 8], 0
mov dword [esi + 0x10], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x591358
test al, 4
jne 0x59134d
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x18
cmp ax, cx
je 0x591330
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 0x591360
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x59136f
call fcn.0045c160
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x34]
mov dword [esi + 0x30], 0
test eax, eax
js 0x5913a0
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x2c]
call dword [eax + 0x10]
mov ecx, esi
mov dword [esi + 0x2c], 0
mov dword [esi + 0x34], connect
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x5913ff
test al, 4
jne 0x5913f4
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x3c
cmp ax, cx
je 0x5913d7
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 0x3c
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x591410
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
call fcn.0058ee20
mov eax, dword [esp + 8]
test al, 1
je 0x591465
test al, 4
jne 0x591457
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0xd0
cmp ax, cx
je 0x59143a
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 0x591474
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 0x5914c3
test al, 4
jne 0x5914b8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x30
cmp ax, cx
je 0x59149b
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