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

Disassembly:
push 0xffffffffffffffff
push 0x545307
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x463df0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [0x59cfc4]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
xor ebx, ebx
cmp esi, ebx
jne 0x4cf84a
push 4
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
cmp esi, ebx
je 0x4cf84a
mov ecx, dword [0x59cfc4]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
lea ecx, [esp + 0x14]
mov dword [esi], ebx
call fcn.004f12b0
test byte [esp + 0x40], 1
mov dword [esp + 0x38], ebx
je 0x4cf899
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 1
cmp eax, ebx
je 0x4cf889
push ebx
push ebx
push 1
push 0x46d0c8
mov ecx, eax
call fcn.004f0f20
jmp 0x4cf88b
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test byte [esp + 0x40], 2
je 0x4cf8d9
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 2
cmp eax, ebx
je 0x4cf8c9
push ebx
push ebx
push 2
push 0x46d0ac
mov ecx, eax
call fcn.004f0f20
jmp 0x4cf8cb
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test byte [esp + 0x40], 4
je 0x4cf919
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 3
cmp eax, ebx
je 0x4cf909
push ebx
push ebx
push 4
push 0x46d094
mov ecx, eax
call fcn.004f0f20
jmp 0x4cf90b
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test byte [esp + 0x40], 8
je 0x4cf959
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 4
cmp eax, ebx
je 0x4cf949
push ebx
push ebx
push 8
push 0x46d078
mov ecx, eax
call fcn.004f0f20
jmp 0x4cf94b
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test byte [esp + 0x40], 0x10
je 0x4cf999
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 5
cmp eax, ebx
je 0x4cf989
push ebx
push ebx
push 0x10
push 0x46d058
mov ecx, eax
call fcn.004f0f20
jmp 0x4cf98b
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test byte [esp + 0x40], 0x20
je 0x4cf9d9
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 6
cmp eax, ebx
je 0x4cf9c9
push ebx
push ebx
push 0x20
push 0x46d03c
mov ecx, eax
call fcn.004f0f20
jmp 0x4cf9cb
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test byte [esp + 0x40], 0x40
je 0x4cfa19
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 7
cmp eax, ebx
je 0x4cfa09
push ebx
push ebx
push 0x40
push 0x46d020
mov ecx, eax
call fcn.004f0f20
jmp 0x4cfa0b
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test byte [esp + 0x40], 0x80
je 0x4cfa5c
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 8
cmp eax, ebx
je 0x4cfa4c
push ebx
push ebx
push 0x80
push 0x46d000
mov ecx, eax
call fcn.004f0f20
jmp 0x4cfa4e
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test dword [esp + 0x40], 0x200
je 0x4cfaa2
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 9
cmp eax, ebx
je 0x4cfa92
push ebx
push ebx
push 0x200
push 0x46cfec
mov ecx, eax
call fcn.004f0f20
jmp 0x4cfa94
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test dword [esp + 0x40], 0x400
je 0x4cfae8
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 0xa
cmp eax, ebx
je 0x4cfad8
push ebx
push ebx
push 0x400
push 0x46cfd4
mov ecx, eax
call fcn.004f0f20
jmp 0x4cfada
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test dword [esp + 0x40], 0x800
je 0x4cfb2e
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 0xb
cmp eax, ebx
je 0x4cfb1e
push ebx
push ebx
push 0x800
push 0x46cfbc
mov ecx, eax
call fcn.004f0f20
jmp 0x4cfb20
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
test dword [esp + 0x40], 0x800000
je 0x4cfb75
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x40], eax
mov byte [esp + 0x38], 0xc
cmp eax, ebx
je 0x4cfb65
push ebx
push 1
push 0x800000
push 0x465468
mov ecx, eax
call fcn.004f0f20
jmp 0x4cfb67
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
push 0x10
call fcn.00526c21
add esp, 4
mov dword [esp + 0x40], eax
mov byte [esp + 0x38], 0xd
cmp eax, ebx
je 0x4cfba1
push ebx
push ebx
push 0x100
push 0x46cf9c
mov ecx, eax
call fcn.004f0f20
jmp 0x4cfba3
xor eax, eax
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], bl
call fcn.004f12d0
lea ecx, [esp + 0x14]
xor esi, esi
call fcn.004f1120
cmp eax, ebx
je 0x4cfbc5
mov esi, dword [eax + 8]
jmp 0x4cfbce
push 0x75
mov ecx, edi
call fcn.004cc3d0
lea ecx, [esp + 0x14]
call fcn.004f10a0
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], 0xffffffff
call fcn.004eba40
mov eax, esi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x2c
ret 4