Function at 0x401000
Capabilities:
Allocate thread local storage

Disassembly:
push 0x10c
push 0
push 0x41235c
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleA
mov dword [0x412360], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x41235c], eax
call section..text
mov eax, 0x411250
mov dword [0x412398], eax
call fcn.0040e230
call fcn.0040e01c
call fcn.0040c523
call fcn.0040c053
call fcn.0040bb60
call fcn.0040b7e9
call fcn.0040b560
call fcn.0040b541
call fcn.0040b4b8
call fcn.0040ac20
call fcn.00409c4f
call fcn.00408e81
call fcn.00408b46
call fcn.004087cd
call fcn.00407351
call fcn.00406fc9
push dword [0x412454]
call fcn.00408b65
push 7
push 0x411050
lea eax, [0x412454]
push eax
push 8
call fcn.00408ab4
push 0x41244c
push 0x411060
push 7
push 0x401
push 8
call fcn.0040df1d
mov eax, 0x200
push eax
lea eax, [0x412464]
push eax
xor eax, eax
push eax
push 0x15
push 4
call fcn.0040c542
push dword [0x41245c]
call fcn.00408b65
push 7
push 0x411058
lea eax, [0x41245c]
push eax
push 8
call fcn.00408ab4
mov ebp, 0x411250
mov ebx, ebp
mov ebp, 0x411245
sub ebx, ebp
mov dword [0x41242c], ebx
mov ebp, 0x411245
mov dword [0x412430], ebp
push dword [0x41242c]
call fcn.0040b5d0
mov dword [0x412368], eax
mov dword [0x4123a0], 0
mov ebx, dword [0x41242c]
dec ebx
cmp ebx, dword [0x4123a0]
jl 0x4011a3
mov ebx, dword [0x412430]
add ebx, dword [0x4123a0]
mov eax, ebx
call fcn.0040b5f0
mov ebx, eax
imul ebx, ebx, 0xffffffff
push ebx
mov ebx, dword [0x412368]
add ebx, dword [0x4123a0]
mov eax, ebx
call fcn.0040b600
inc dword [0x4123a0]
jno 0x401160
mov edx, dword [0x412940]
push edx
push edx
push dword [0x41242c]
push dword [0x412368]
call fcn.0040b610
push 0x412448
call fcn.0040e2b0
mov edx, 0x411021
lea ecx, [0x412404]
call fcn.00404068
mov ebp, 0x411245
mov ebx, ebp
mov ebp, 0x411068
sub ebx, ebp
mov dword [0x4123f0], ebx
mov ebp, 0x411068
mov dword [0x4123f4], ebp
push dword [0x4123f0]
call fcn.0040b5d0
mov dword [0x4123cc], eax
mov dword [0x4123a0], 0
mov eax, dword [0x4123f0]
cmp eax, dword [0x4123a0]
jl 0x401250
mov ebx, dword [0x4123f4]
add ebx, dword [0x4123a0]
mov eax, ebx
call fcn.0040b5f0
mov ebx, eax
imul ebx, ebx, 0xffffffff
push ebx
mov ebx, dword [0x4123cc]
add ebx, dword [0x4123a0]
mov eax, ebx
call fcn.0040b600
inc dword [0x4123a0]
jno 0x40120f
mov edx, dword [0x412940]
push edx
push edx
mov ebx, dword [0x4123f0]
add ebx, 0xfffffff8
push ebx
mov ebx, dword [0x4123cc]
add ebx, 4
push ebx
call fcn.0040b610
push 0x412388
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push dword [0x412388]
call fcn.004040c0
push 0x412388
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 4
push dword [0x412388]
call fcn.004041a0
push 0x412394
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 5
push dword [0x412388]
call fcn.004041a0
push 0x4123c8
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 7
push dword [0x412388]
call fcn.004041a0
push 0x412444
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 8
push dword [0x412388]
call fcn.004041a0
push 0x412400
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 9
push dword [0x412388]
call fcn.004041a0
push 0x41238c
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0xa
push dword [0x412388]
call fcn.004041a0
push 0x412438
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0xb
push dword [0x412388]
call fcn.004041a0
push 0x4123f8
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0xc
push dword [0x412388]
call fcn.004041a0
push 0x412428
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0xf
push dword [0x412388]
call fcn.004041a0
push 0x41237c
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x10
push dword [0x412388]
call fcn.004041a0
push 0x412434
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x11
push dword [0x412388]
call fcn.004041a0
push 0x41239c
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x12
push dword [0x412388]
call fcn.004041a0
push 0x4123e4
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x13
push dword [0x412388]
call fcn.004041a0
push 0x41240c
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x14
push dword [0x412388]
call fcn.004041a0
push 0x4123e0
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x15
push dword [0x412388]
call fcn.004041a0
push 0x412418
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x16
push dword [0x412388]
call fcn.004041a0
push 0x412408
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x17
push dword [0x412388]
call fcn.004041a0
push 0x41241c
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x18
push dword [0x412388]
call fcn.004041a0
push 0x4123c0
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x19
push dword [0x412388]
call fcn.004041a0
push 0x4123bc
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x1a
push dword [0x412388]
call fcn.004041a0
push 0x412370
call fcn.0040e2b0
mov edx, dword [0x412940]
push edx
push edx
push dword [0x412404]
push 0x1b
push dword [0x412388]
call fcn.004041a0
push 0x4123dc
call fcn.0040e2b0
mov edx, dword [0x412448]
push dword [0x412940]
call fcn.0040e330
mov edx, dword [0x412370]
call fcn.0040e330
push 0x412370
call fcn.0040e2b0
call fcn.00409a2f
mov ebx, eax
cmp ebx, 0x3c
jge 0x401633
push 0x10
push dword [0x412418]
push dword [0x412434]
call fcn.00407000
jmp 0x40176c
mov eax, 0x411250
mov dword [0x412398], eax
mov eax, dword [0x412398]
mov eax, dword [eax]
mov dword [0x4123a0], eax
add dword [0x412398], 4
mov eax, dword [0x412398]
mov eax, dword [eax]
mov dword [0x4123a4], eax
add dword [0x412398], 4
mov eax, dword [0x412398]
mov eax, dword [eax]
mov dword [0x4123a8], eax
add dword [0x412398], 4
mov eax, dword [0x412398]
mov eax, dword [eax]
mov dword [0x4123ac], eax
add dword [0x412398], 4
mov eax, dword [0x412398]
mov eax, dword [eax]
mov dword [0x4123b0], eax
add dword [0x412398], 4
push 0x14
call fcn.0040b5d0
mov dword [0x4123b4], eax
push dword [0x4123a0]
mov eax, dword [0x4123b4]
call fcn.0040b670
push dword [0x4123a4]
mov ebx, dword [0x4123b4]
add ebx, 4
mov eax, ebx
call fcn.0040b670
push dword [0x4123a8]
mov ebx, dword [0x4123b4]
add ebx, 8
mov eax, ebx
call fcn.0040b670
push dword [0x4123ac]
mov ebx, dword [0x4123b4]
add ebx, 0xc
mov eax, ebx
call fcn.0040b670
push dword [0x4123b0]
mov ebx, dword [0x4123b4]
add ebx, 0x10
mov eax, ebx
call fcn.0040b670
mov edx, dword [0x412940]
push edx
push edx
push 0x14
push dword [0x4123b4]
call fcn.0040cb00
push 0x412440
call fcn.0040e2b0
call fcn.00407eec
mov edx, 0x411025
lea ecx, [0x412410]
call fcn.00404068
push 1
lea eax, [0x402ae6]
push eax
call sub.KERNEL32.dll_SetConsoleCtrlHandler
lea eax, [0x402970]
push eax
call fcn.004088d0
call fcn.00403a75
push 0