Function at 0x4628b0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x7d8230]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 8]
mov dword [ebp - 4], eax
mov eax, dword [eax]
test eax, eax
jne 0x462966
mov eax, dword [ebp - 4]
mov dword [eax], pe_nt_image_headers32
mov eax, dword [ebp - 8]
mov eax, dword [eax]
test eax, eax
jne 0x4628fe
mov dword [ebp - 0xc], 1
jmp 0x462905
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov dword [eax + 8], edx
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x46292c
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x462938
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x46330d
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
jmp 0x46330d
mov eax, dword [ebp - 8]
mov eax, dword [eax]
test eax, eax
jne 0x4629f4
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x462998
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x4629b6
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x4629c2
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x4629e7
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
push 0
call fcn.0046aa20
pop ecx
jmp 0x46330d
mov eax, dword [ebp - 4]
mov eax, dword [eax]
and eax, 0x400
je 0x462aee
mov eax, dword [ebp - 8]
mov eax, dword [eax]
and eax, 0x400
je 0x462aee
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
call fcn.004a0be0
add esp, 0xc
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x462a49
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x462a55
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x462a7a
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x462a98
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x462aa4
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x462ac9
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
cmp dword [ebp - 0xc], 0
jne 0x462ad8
mov dword [ebp - 0x10], 1
jmp 0x462adf
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
push eax
call fcn.0046aa20
pop ecx
jmp 0x46330d
mov eax, dword [ebp - 4]
mov eax, dword [eax]
and eax, 0xa
je 0x462bd1
mov eax, dword [ebp - 8]
mov eax, dword [eax]
and eax, 0xa
je 0x462bd1
mov eax, dword [ebp - 4]
mov edx, dword [eax]
and edx, 2
je 0x462b29
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xc]
mov esi, edx
mov edi, edx
sar edi, 0x1f
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], edi
jmp 0x462b39
mov edx, dword [ebp - 4]
push dword [edx + 0xc]
mov esi, dword [edx + 8]
pop edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], edi
mov edx, dword [ebp - 8]
mov edx, dword [edx]
and edx, 2
je 0x462b58
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0xc]
mov esi, edx
mov edi, edx
sar edi, 0x1f
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], edi
jmp 0x462b68
mov edx, dword [ebp - 8]
push dword [edx + 0xc]
mov esi, dword [edx + 8]
pop edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], edi
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call fcn.00531f30
jae 0x462b84
mov dword [ebp - 0xc], 1
jmp 0x462b8b
mov dword [ebp - 0xc], 0
mov edx, dword [ebp - 0xc]
mov dword [eax + 8], edx
mov eax, dword [ebp - 4]
mov dword [eax], pe_nt_image_headers32
mov eax, dword [ebp - 8]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x46330d
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
jmp 0x46330d
mov eax, dword [ebp - 4]
mov edx, dword [eax]
mov ecx, edx
and ecx, 0x3a
jne 0x462bed
and edx, 0x400
je 0x462c41
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x462c41
mov eax, dword [ebp - 8]
mov edx, dword [eax]
mov ecx, edx
and ecx, 0x3a
jne 0x462c09
and edx, 0x400
je 0x462c41
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x462c41
call fcn.0046bde0
fstp qword [ebp - 0x18]
call fcn.0046bde0
fst qword [ebp - 0x20]
fcomp qword [ebp - 0x18]
wait
fnstsw ax
sahf
jne 0x462c2b
mov dword [ebp - 0xc], 1
jmp 0x462c32
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0xc]
push eax
call fcn.0046aa20
pop ecx
jmp 0x46330d
mov eax, dword [ebp - 4]
mov eax, dword [eax]
and eax, 0x80
je 0x462cb5
mov eax, dword [ebp - 8]
mov eax, dword [eax]
and eax, 0x80
je 0x462cb5
mov eax, dword [ebp - 4]
lea eax, [eax + 8]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 8]
cmp dword [eax], edx
jne 0x462c72
mov dword [ebp - 0xc], 1
jmp 0x462c79
mov dword [ebp - 0xc], 0
mov edx, dword [ebp - 0xc]
mov dword [eax], edx
mov eax, dword [ebp - 8]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x46330d
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
jmp 0x46330d
mov eax, dword [ebp - 4]
mov eax, dword [eax]
and eax, 1
je 0x462da4
mov eax, dword [ebp - 8]
mov eax, dword [eax]
and eax, 1
je 0x462da4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 8]
cmp eax, edx
jne 0x462cea
mov dword [ebp - 0x10], 1
jmp 0x462cf1
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x462d15
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x462d21
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x462d46
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x462d64
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x462d70
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x462d95
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebp - 0xc]
push eax
call fcn.0046aa20
pop ecx
jmp 0x46330d
mov eax, dword [ebp - 4]
push eax
call fcn.004874e0
pop ecx
and eax, 0x100
je 0x462de5
cmp dword [ebp + 8], 0
jne 0x462de5
push 0
push 2
push 0
push str.__OPEQUAL
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
call fcn.004689e0
add esp, 0x18
lea eax, [ebx + 0x10]
push eax
call fcn.004a4430
pop ecx
jmp 0x46330d
mov eax, dword [ebp - 4]
push eax
call fcn.004874e0
pop ecx
and eax, 0x200
je 0x462e26
cmp dword [ebp + 8], 0
je 0x462e26
push 0
push 2
push 0
push str.__OPEXACTEQUAL
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
call fcn.004689e0
add esp, 0x18
lea eax, [ebx + 0x10]
push eax
call fcn.004a4430
pop ecx
jmp 0x46330d
cmp dword [ebp + 8], 0
je 0x462f23
mov eax, dword [ebp - 4]
mov eax, dword [eax]
and eax, 0x8000
je 0x462f23
mov eax, dword [ebp - 8]
mov eax, dword [eax]
and eax, 0x8000
je 0x462f23
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 8]
cmp eax, edx
jne 0x462e69
mov dword [ebp - 0x10], 1
jmp 0x462e70
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x462e94
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x462ea0
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x462ec5
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x462ee3
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x462eef
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x462f14
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebp - 0xc]
push eax
call fcn.0046aa20
pop ecx
jmp 0x46330d
cmp dword [ebp + 8], 0
je 0x46301c
mov eax, dword [ebp - 4]
mov eax, dword [eax]
and eax, 4
je 0x46301c
mov eax, dword [ebp - 8]
mov eax, dword [eax]
and eax, 4
je 0x46301c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 8]
cmp eax, edx
jne 0x462f62
mov dword [ebp - 0x10], 1
jmp 0x462f69
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x462f8d
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x462f99
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x462fbe
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x462fdc
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x462fe8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x46300d
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebp - 0xc]
push eax
call fcn.0046aa20
pop ecx
jmp 0x46330d
cmp dword [ebp + 8], 0
je 0x463119
mov eax, dword [ebp - 4]
mov eax, dword [eax]
and eax, 0x1000
je 0x463119
mov eax, dword [ebp - 8]
mov eax, dword [eax]
and eax, 0x1000
je 0x463119
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x10]
cmp eax, edx
jne 0x46305f
mov dword [ebp - 0x10], 1
jmp 0x463066
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x46308a
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x463096
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x4630bb
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x4630d9
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x4630e5
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x46310a
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebp - 0xc]
push eax
call fcn.0046aa20
pop ecx
jmp 0x46330d
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
mov edx, dword [edx]
cmp eax, edx
jne 0x463157
and eax, 0x1000
je 0x463137
mov eax, edx
and eax, 0x1000
jne 0x463157
mov eax, dword [ebp - 4]
mov eax, dword [eax]
and eax, 0x8000
je 0x463267
mov eax, dword [ebp - 8]
mov eax, dword [eax]
and eax, 0x8000
je 0x463267
cmp dword [ebp + 8], 0
je 0x463182
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
push 2
push 0x696d91
push 0
push 0x42e
push 1
call fcn.00492ab0
add esp, 0x1c
mov dword [ebp - 0xc], eax
jmp 0x4631a5
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
push 2
push 0x696d8f
push 0
push 0x42f
push 1
call fcn.00492ab0
add esp, 0x1c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x46330d
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x4631ce
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x4631da
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x4631ff
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x46321d
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x463229
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x46324e
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebp - 0xc]
push eax
call fcn.004a4430
pop ecx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0049f7d0
pop ecx
jmp 0x46330d
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x463285
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x463291
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x4632b6
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x4632d4
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x4632e0
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x463305
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
push 0
call fcn.0046aa20
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret