Function at 0x407010
Capabilities:
Set thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
pop ebp
jmp 0x40aec4
push 0x4ec
mov eax, 0x4179c8
call fcn.00416f8f
mov ebx, edx
mov edi, ecx
and dword [ebp - 0x470], 0
call fcn.004109fc
test eax, eax
js 0x40b542
mov eax, dword [0x41adbc]
push dword [0x41adc0]
push dword [eax + 8]
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsSetValue]
mov eax, dword [0x41adc0]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 4]
mov ecx, esi
call dword [0x41b1b4]
call esi
xor esi, esi
mov dword [ebp - 0x460], 0x403238
lea ecx, [ebp - 0x4f8]
mov dword [ebp - 4], esi
call fcn.0040e665
cmp dword [eax], esi
jne 0x40b54b
mov esi, dword [0x41adb8]
push ecx
push ebx
push edi
lea ecx, [ebp - 0x1ec]
mov dword [ebp - 0x46c], esi
call fcn.0040e8da
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 1
call fcn.0040b58c
xor ebx, ebx
mov dword [ebp - 0x45c], ebx
mov dword [ebp - 0x458], ebx
mov dword [ebp - 0x454], ebx
push 0xf
pop edi
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], edi
mov byte [ebp - 0xac], bl
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x490]
call fcn.00407619
mov eax, ecx
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x450]
mov edx, 0xa000
push eax
lea eax, [ebp - 0x1ec]
mov ecx, esi
push eax
call fcn.0040ea7b
mov esi, eax
mov eax, dword [ebp - 0x484]
cmp eax, dword [ebp - 0x48c]
je 0x40afd6
lea ecx, [ebp - 0x490]
call fcn.004117e1
cmp dword [ebp - 0x9c], 0
je 0x40b00b
cmp dword [ebp - 0x98], 0x10
lea eax, [ebp - 0xac]
jb 0x40aff4
mov eax, dword [ebp - 0xac]
push eax
push 0x40324c
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00416c3b
add esp, 0xc
lea ecx, [ebp - 0x490]
call fcn.004119f0
lea ecx, [ebp - 0xac]
call fcn.0040ba96
test esi, esi
jne 0x40b0f4
cmp dword [ebp - 0x2f8], esi
jne 0x40b04e
cmp byte [ebp - 0x233], 0
jne 0x40b04e
mov dword [ebp - 0x2fc], 0x403260
mov dword [ebp - 0x2f8], 4
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], edi
mov byte [ebp - 0xc4], bl
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x4ac]
call fcn.00407619
mov eax, ecx
mov byte [ebp - 4], 7
push eax
lea edx, [ebp - 0x45c]
lea ecx, [ebp - 0x450]
call fcn.0041047e
mov esi, eax
mov eax, dword [ebp - 0x4a0]
cmp eax, dword [ebp - 0x4a8]
je 0x40b0a5
lea ecx, [ebp - 0x4ac]
call fcn.004117e1
cmp dword [ebp - 0xb4], 0
je 0x40b0da
cmp dword [ebp - 0xb0], 0x10
lea eax, [ebp - 0xc4]
jb 0x40b0c3
mov eax, dword [ebp - 0xc4]
push eax
push 0x403268
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00416c3b
add esp, 0xc
lea ecx, [ebp - 0x4ac]
call fcn.004119f0
lea ecx, [ebp - 0xc4]
test esi, esi
je 0x40b15f
call fcn.0040ba96
cmp dword [ebp - 0x45c], 0
je 0x40b11b
push dword [ebp - 0x45c]
mov dword [ebp - 0x458], ebx
mov dword [ebp - 0x454], ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x45c], ebx
lea ecx, [ebp - 0x274]
call fcn.0040bc70
lea ecx, [ebp - 0x3b4]
call fcn.00407427
lea ecx, [ebp - 0x450]
call fcn.004074c9
lea eax, [ebp - 0x114]
cmp dword [ebp - 0x120], eax
je 0x40b335
push dword [ebp - 0x120]
call fcn.00416a97
pop ecx
jmp 0x40b335
mov byte [ebp - 4], 3
call fcn.0040ba96
cmp dword [ebp - 0x45c], 0
jne 0x40b1a2
push 0x402ec4
push 0x405ee4
lea ecx, [ebp - 0x45c]
call fcn.00407212
test eax, eax
jns 0x40b1a2
push eax
lea ecx, [ebp - 0x214]
call fcn.004070d7
push 0x419584
mov eax, ecx
jmp 0x40b561
cmp byte [ebp - 0x23d], 0
lea eax, [ebp - 0x450]
mov dword [ebp - 0x468], eax
lea eax, [ebp - 0x45c]
mov dword [ebp - 0x464], eax
je 0x40b347
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], edi
mov byte [ebp - 0xdc], bl
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x4e4]
call fcn.00407619
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], edi
mov byte [ebp - 0xf4], bl
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x4c8]
call fcn.00407619
mov eax, ecx
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x468]
call fcn.0040ab92
mov eax, dword [ebp - 0x4bc]
cmp eax, dword [ebp - 0x4c4]
je 0x40b23a
lea ecx, [ebp - 0x4c8]
call fcn.004117e1
mov edx, dword [ebp - 0x4b0]
cmp dword [edx + 0x14], 0x10
jb 0x40b248
mov edx, dword [edx]
xor eax, eax
cmp byte [ebp - 0x23c], al
sete al
push eax
push ecx
push edx
push ecx
push ecx
mov ecx, dword [ebp - 0x46c]
lea eax, [ebp - 0x4e4]
push eax
call fcn.004142ec
mov eax, dword [ebp - 0x4d8]
cmp eax, dword [ebp - 0x4e0]
je 0x40b283
lea ecx, [ebp - 0x4e4]
call fcn.004117e1
cmp dword [ebp - 0xc8], 0x10
lea ecx, [ebp - 0xdc]
jb 0x40b298
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xcc]
push 0xfffffffffffffff5
call fcn.00410f90
lea ecx, [ebp - 0x4c8]
call fcn.004119f0
lea ecx, [ebp - 0xf4]
call fcn.0040ba96
lea ecx, [ebp - 0x4e4]
call fcn.004119f0
lea ecx, [ebp - 0xdc]
call fcn.0040ba96
cmp dword [ebp - 0x45c], 0
je 0x40b2f8
push dword [ebp - 0x45c]
mov dword [ebp - 0x458], ebx
mov dword [ebp - 0x454], ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x45c], ebx
lea ecx, [ebp - 0x274]
call fcn.0040bc70
lea ecx, [ebp - 0x3b4]
call fcn.00407427
lea ecx, [ebp - 0x450]
call fcn.004074c9
lea eax, [ebp - 0x114]
cmp dword [ebp - 0x120], eax
je 0x40b333
push dword [ebp - 0x120]
call fcn.00416a97
pop ecx
mov esi, ebx
lea ecx, [ebp - 0x1ec]
call fcn.0040b917
mov eax, esi
jmp 0x40b545
cmp dword [ebp - 0x2b0], 0
lea ecx, [ebp - 0x468]
je 0x40b36d
mov dword [ebp - 0x460], 0x403284
call fcn.00409f42
mov ebx, dword [ebp - 0x470]
jmp 0x40b398
cmp byte [ebp - 0x259], 0
je 0x40b387
mov dword [ebp - 0x460], 0x403294
call fcn.00409ed4
jmp 0x40b396
mov dword [ebp - 0x460], 0x4032ac
call fcn.00409683
mov ebx, eax
cmp dword [ebp - 0x45c], 0
je 0x40b3c1
push dword [ebp - 0x45c]
xor esi, esi
mov dword [ebp - 0x458], esi
mov dword [ebp - 0x454], esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x45c], esi
lea ecx, [ebp - 0x274]
call fcn.0040bc70
lea ecx, [ebp - 0x3b4]
call fcn.00407427
lea ecx, [ebp - 0x450]
call fcn.004074c9
lea eax, [ebp - 0x114]
cmp dword [ebp - 0x120], eax
je 0x40b3fc
push dword [ebp - 0x120]
call fcn.00416a97
pop ecx
lea ecx, [ebp - 0x1ec]
call fcn.0040b917
mov eax, ebx
jmp 0x40b545
xor eax, eax
inc eax
call fcn.00416edc
ret
lea ecx, [ebp - 0x4f0]
call fcn.004070bf
push 0x4195cc
lea eax, [ebp - 0x4f0]
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3