Function at 0x41c9ec
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x90
push 0
push 0
dec ecx
jne 0x41c9f4
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x41d453
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0041ec4c
mov byte [0x4349c0], al
lea eax, [ebp - 0x284]
call fcn.00420bcc
mov eax, dword [ebp - 0x284]
mov edx, 0x41d46c
call fcn.004026fc
jne 0x41ca86
cmp byte [0x4349c0], 0
je 0x41ca86
lea edx, [ebp - 0x288]
mov al, 3
call fcn.0041fa44
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x28c]
mov edx, dword [0x434cb0]
add edx, 0x200
call fcn.00402570
mov edx, dword [ebp - 0x28c]
pop eax
call fcn.004025c0
mov eax, dword [ebp - 0x288]
call fcn.004027b0
mov dword [0x435994], eax
jmp 0x41cacb
lea eax, [ebp - 0x290]
call fcn.004215a8
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x294]
mov edx, dword [0x434cb0]
add edx, 0x200
call fcn.00402570
mov edx, dword [ebp - 0x294]
pop eax
call fcn.004025c0
mov eax, dword [ebp - 0x290]
call fcn.004027b0
mov dword [0x435994], eax
lea edx, [ebp - 0x2a4]
xor eax, eax
call fcn.0040439c
mov eax, dword [ebp - 0x2a4]
lea edx, [ebp - 0x2a0]
call fcn.004044b4
mov eax, dword [ebp - 0x2a0]
lea edx, [ebp - 0x29c]
call fcn.0041f93c
mov eax, dword [ebp - 0x29c]
lea edx, [ebp - 0x298]
call fcn.00405844
mov eax, dword [ebp - 0x298]
push eax
lea eax, [ebp - 0x2b4]
mov edx, dword [0x435994]
call fcn.00402540
mov eax, dword [ebp - 0x2b4]
lea edx, [ebp - 0x2b0]
call fcn.004044b4
mov eax, dword [ebp - 0x2b0]
lea edx, [ebp - 0x2ac]
call fcn.0041f93c
mov eax, dword [ebp - 0x2ac]
lea edx, [ebp - 0x2a8]
call fcn.00405844
mov edx, dword [ebp - 0x2a8]
pop eax
call fcn.004026fc
je 0x41cb77
mov eax, dword [0x434cb0]
cmp byte [eax + 0x1a12], 0
je 0x41cb77
call fcn.00422e48
lea edx, [ebp - 0x2c4]
xor eax, eax
call fcn.0040439c
mov eax, dword [ebp - 0x2c4]
lea edx, [ebp - 0x2c0]
call fcn.004044b4
mov eax, dword [ebp - 0x2c0]
lea edx, [ebp - 0x2bc]
call fcn.0041f93c
mov eax, dword [ebp - 0x2bc]
lea edx, [ebp - 0x2b8]
call fcn.00405844
mov eax, dword [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x2d4]
mov edx, dword [0x435994]
call fcn.00402540
mov eax, dword [ebp - 0x2d4]
lea edx, [ebp - 0x2d0]
call fcn.004044b4
mov eax, dword [ebp - 0x2d0]
lea edx, [ebp - 0x2cc]
call fcn.0041f93c
mov eax, dword [ebp - 0x2cc]
lea edx, [ebp - 0x2c8]
call fcn.00405844
mov edx, dword [ebp - 0x2c8]
pop eax
call fcn.004026fc
je 0x41ccb6
mov eax, dword [0x434cb0]
cmp byte [eax + 0x1a10], 0
jne 0x41ccb6
lea eax, [ebp - 0x2d8]
mov edx, dword [0x434cb0]
call fcn.00402570
push dword [ebp - 0x2d8]
push 0x41d480
lea edx, [ebp - 0x2dc]
mov eax, dword [0x434cb0]
mov eax, dword [eax + 0x1a00]
call fcn.00419d28
push dword [ebp - 0x2dc]
push 0x41d480
lea eax, [ebp - 0x2e0]
mov edx, dword [0x434cb0]
add edx, 0x100
call fcn.00402570
push dword [ebp - 0x2e0]
push 0x41d480
lea edx, [ebp - 0x2e4]
mov eax, dword [0x434cb0]
mov eax, dword [eax + 0x1a04]
call fcn.00419d28
push dword [ebp - 0x2e4]
lea eax, [ebp - 0xc]
mov edx, 7
call fcn.00402678
mov eax, dword [ebp - 0xc]
call fcn.0041ed50
mov eax, dword [0x434cb0]
cmp byte [eax + 0x1a11], 0
je 0x41ce56
lea edx, [ebp - 0x2f4]
xor eax, eax
call fcn.0040439c
mov eax, dword [ebp - 0x2f4]
lea edx, [ebp - 0x2f0]
call fcn.004044b4
mov eax, dword [ebp - 0x2f0]
lea edx, [ebp - 0x2ec]
call fcn.0041f93c
mov eax, dword [ebp - 0x2ec]
lea edx, [ebp - 0x2e8]
call fcn.00405844
mov eax, dword [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x304]
mov edx, dword [0x435994]
call fcn.00402540
mov eax, dword [ebp - 0x304]
lea edx, [ebp - 0x300]
call fcn.004044b4
mov eax, dword [ebp - 0x300]
lea edx, [ebp - 0x2fc]
call fcn.0041f93c
mov eax, dword [ebp - 0x2fc]
lea edx, [ebp - 0x2f8]
call fcn.00405844
mov edx, dword [ebp - 0x2f8]
pop eax
call fcn.004026fc
je 0x41ce56
mov eax, dword [0x434cb0]
mov eax, dword [eax + 0x1a08]
cmp eax, 1
jne 0x41cd7f
mov dword [0x4359a8], 0x30
mov edx, dword [0x434cb0]
cmp eax, 2
jne 0x41cd94
mov dword [0x4359a8], 0x20
mov edx, dword [0x434cb0]
cmp eax, 3
jne 0x41cda9
mov dword [0x4359a8], 0x10
mov edx, dword [0x434cb0]
cmp eax, 4
jne 0x41cdbe
mov dword [0x4359a8], 0x40
lea eax, [ebp - 0x30c]
mov edx, dword [0x434cb0]
add edx, 0x400
call fcn.00402570
mov eax, dword [ebp - 0x30c]
lea edx, [ebp - 0x308]
call fcn.00405834
mov edx, dword [ebp - 0x308]
mov eax, 0x4359b0
call fcn.00402468
lea eax, [ebp - 0x314]
mov edx, dword [0x434cb0]
add edx, 0x500
call fcn.00402570
mov eax, dword [ebp - 0x314]
lea edx, [ebp - 0x310]
call fcn.00405834
mov edx, dword [ebp - 0x310]
mov eax, 0x4359b4
call fcn.00402468
mov eax, dword [0x4359a8]
push eax
mov eax, dword [0x4359b4]
call fcn.004027b0
push eax
mov eax, dword [0x4359b0]
call fcn.004027b0
push eax
push 0
call sub.KERNEL32.DLL_EnterCriticalSection
mov dword [0x4359ac], eax
mov eax, dword [0x434cb0]
cmp byte [eax + 0x1a0c], 0
je 0x41d413
lea edx, [ebp - 0x31c]
xor eax, eax
call fcn.0040439c
mov eax, dword [ebp - 0x31c]
lea edx, [ebp - 0x318]
call fcn.00405844
mov eax, dword [ebp - 0x318]
push eax
lea eax, [ebp - 0x324]
mov edx, dword [0x435994]
call fcn.00402540
mov eax, dword [ebp - 0x324]
lea edx, [ebp - 0x320]
call fcn.00405844
mov edx, dword [ebp - 0x320]
pop eax
call fcn.004026fc
je 0x41d413
lea eax, [ebp - 0x328]
mov edx, dword [0x435994]
call fcn.00402540
mov eax, dword [ebp - 0x328]
call fcn.00405968
test al, al
je 0x41d0b6
xor edx, edx
push ebp
push 0x41d04e
push dword fs:[edx]
mov dword fs:[edx], esp
mov dword [ebp - 0x140], 0x128
xor edx, edx
mov eax, 2
call fcn.00420e30
mov dword [ebp - 4], eax
lea edx, [ebp - 0x140]
mov eax, dword [ebp - 4]
call fcn.00420e50
test eax, eax
je 0x41d03b
lea edx, [ebp - 0x140]
mov eax, dword [ebp - 4]
call fcn.00420e70
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x41d031
lea eax, [ebp - 0x330]
lea edx, [ebp - 0x11c]
mov ecx, 0x104
call fcn.0040257c
mov eax, dword [ebp - 0x330]
lea edx, [ebp - 0x32c]
call fcn.0040586c
mov eax, dword [ebp - 0x32c]
push eax
lea eax, [ebp - 0x338]
mov edx, dword [0x434cb0]
add edx, 0x200
call fcn.00402570
mov eax, dword [ebp - 0x338]
lea edx, [ebp - 0x334]
call fcn.0040586c
mov edx, dword [ebp - 0x334]
pop eax
call fcn.004026fc
jne 0x41d031
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x138]
call fcn.00419d28
cmp dword [ebp - 8], 0
je 0x41d031
mov eax, dword [ebp - 8]
call fcn.00419d1c
lea edx, [ebp - 0x33c]
call fcn.0041f174
mov eax, dword [ebp - 0x33c]
push eax
lea eax, [ebp - 0x340]
mov edx, dword [0x435994]
call fcn.00402540
mov edx, dword [ebp - 0x340]
pop eax
call fcn.004026fc
jne 0x41d031
xor edx, edx
push ebp
push 0x41d027
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
call fcn.00419e54
push eax
push 0xffffffffffffffff
push 0x1f0fff
call fcn.004038c8
push 0
push eax
call fcn.00403908
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x41d031
cmp dword [ebp - 0x10], 0
jne 0x41cf22
mov eax, dword [ebp - 4]
push eax
call fcn.004036c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x41d058
xor eax, eax
push ebp
push 0x41d0ac
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [0x435998], 1
lea eax, [ebp - 0x344]
mov edx, dword [0x435994]
call fcn.00402540
mov eax, dword [ebp - 0x344]
call fcn.0041f340
push 5
call fcn.00403900
inc dword [0x435998]
cmp dword [0x435998], 0xb
jne 0x41d070
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x41d0b6
lea edx, [ebp - 0x34c]
xor eax, eax
call fcn.0040439c
mov eax, dword [ebp - 0x34c]
call fcn.004027b0
mov edx, eax
lea eax, [ebp - 0x348]
call fcn.00402540
mov eax, dword [ebp - 0x348]
push eax
lea eax, [ebp - 0x350]
mov edx, dword [0x435994]
call fcn.00402540
mov eax, dword [ebp - 0x350]
push eax
call sub.KERNEL32.DLL_TlsGetValue
pop ecx
pop edx
call fcn.0041e864
mov eax, dword [0x434cb0]
cmp byte [eax + 0x1a0f], 0
je 0x41d2eb
lea eax, [ebp - 0x354]
call fcn.00420bcc
mov eax, dword [ebp - 0x354]
mov edx, 0x41d46c
call fcn.004026fc
jne 0x41d178
cmp byte [0x4349c0], 0
je 0x41d178
lea eax, [ebp - 0x280]
push eax
lea edx, [ebp - 0x358]
mov al, 3
call fcn.0041fa44
lea eax, [ebp - 0x358]
mov edx, 0x41d48c
call fcn.004025c0
mov eax, dword [ebp - 0x358]
call fcn.004027b0
push eax
call fcn.00403760
mov dword [ebp - 4], eax
jmp 0x41d1ae
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x35c]
call fcn.004215a8
lea eax, [ebp - 0x35c]
mov edx, 0x41d48c
call fcn.004025c0
mov eax, dword [ebp - 0x35c]
call fcn.004027b0
push eax
call fcn.00403760
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x41d27a
jmp 0x41d1ca
lea eax, [ebp - 0x280]
push eax
mov eax, dword [ebp - 4]
push eax
call fcn.00403768
lea eax, [ebp - 0x360]
lea edx, [ebp - 0x254]
mov ecx, 0x104
call fcn.0040257c
mov eax, dword [ebp - 0x360]
push eax
lea eax, [ebp - 0x364]
mov edx, dword [0x434cb0]
add edx, 0x200
call fcn.00402570
mov edx, dword [ebp - 0x364]
pop eax
call fcn.004026fc
je 0x41d1ba
lea eax, [ebp - 0x368]
lea edx, [ebp - 0x254]
mov ecx, 0x104
call fcn.0040257c
mov eax, dword [ebp - 0x368]
mov edx, 0x41d498
call fcn.004026fc
je 0x41d1ba
lea eax, [ebp - 0x36c]
lea edx, [ebp - 0x254]
mov ecx, 0x104
call fcn.0040257c
mov eax, dword [ebp - 0x36c]
mov edx, 0x41d4a4
call fcn.004026fc
je 0x41d1ba
cmp dword [ebp - 4], 0xffffffff
je 0x41d29e
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x14], eax
jmp 0x41d29e
mov eax, dword [0x434cb0]
cmp byte [eax + 0x1a0f], 0
je 0x41d29e
or eax, 0xffffffff
call fcn.004017d0
mov dword [ebp - 0x18], eax
or eax, 0xffffffff
call fcn.004017d0
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
push eax
call fcn.00403758
push 0
push 0x80
push 3
push 0
push 3
push 0x40000000
mov eax, dword [0x435994]
push eax
call fcn.004036e0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x41d2e2
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 4]
push eax
call fcn.004038f0
mov eax, dword [ebp - 4]
push eax
call fcn.004036c8
mov eax, dword [0x434ce0]
mov eax, dword [eax]
push eax
call fcn.004036c8
mov eax, dword [0x434cb0]
cmp byte [eax + 0x1a0d], 1
jne 0x41d3a7
push 0
push 0
push 0x41d4b0
lea edx, [ebp - 0x374]
xor eax, eax
call fcn.0040439c
push dword [ebp - 0x374]
push 0x41d4c0
lea eax, [ebp - 0x370]
mov edx, 3
call fcn.00402678
mov eax, dword [ebp - 0x370]
call fcn.004027b0
push eax
push 0x41d4c0
lea eax, [ebp - 0x47c]
mov edx, dword [0x435994]
call fcn.00401a80
lea edx, [ebp - 0x47c]
lea eax, [ebp - 0x37c]
call fcn.00402570
push dword [ebp - 0x37c]
push 0x41d4c0
lea eax, [ebp - 0x378]
mov edx, 3
call fcn.00402678
mov eax, dword [ebp - 0x378]
call fcn.004027b0
push eax
push 0x41d4c4
call sub.KERNEL32.DLL_TlsGetValue
push eax
call sub.user32.dll_UnhookWindowsHookEx
jmp 0x41d40e
push 0
push 0
push 0x41d4cc
push 0x41d4c0
lea eax, [ebp - 0x47c]
mov edx, dword [0x435994]
call fcn.00401a80
lea edx, [ebp - 0x47c]
lea eax, [ebp - 0x484]
call fcn.00402570
push dword [ebp - 0x484]
push 0x41d4c0
lea eax, [ebp - 0x480]
mov edx, 3
call fcn.00402678
mov eax, dword [ebp - 0x480]
call fcn.004027b0
push eax
push 0x41d4c4
call sub.KERNEL32.DLL_TlsGetValue
push eax
call sub.user32.dll_UnhookWindowsHookEx
call fcn.00402288
call fcn.0041c9d4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41d45a
lea eax, [ebp - 0x484]
mov edx, 2
call fcn.00402438
lea eax, [ebp - 0x37c]
mov edx, 0x3f
call fcn.00402438
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00402438
ret