Function at 0x401000
Capabilities:
Allocate thread local storage

Disassembly:
push 0x3c
push 0
push 0x420ee0
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleA
mov dword [0x420ee4], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x420ee0], eax
mov eax, 0x41f200
mov dword [0x420ef0], eax
call fcn.00416be0
call fcn.00412680
call fcn.00410fc3
call fcn.00410e02
call fcn.0041079e
call fcn.00410719
call fcn.004106ff
call fcn.0040f332
call fcn.0040e456
call fcn.0040e270
call fcn.0040d90c
call fcn.0040d7b5
call fcn.0040ce00
call fcn.00403131
mov edx, 0x41f00d
lea ecx, [0x420f08]
call fcn.00403008
mov ebp, 0x4013a1
push ebp
call fcn.0040dee0
mov eax, dword [0x421328]
push eax
push eax
call fcn.0040d93b
push 0x420f00
call fcn.00416c30
mov eax, dword [0x421328]
push eax
push eax
push dword [0x420f00]
call fcn.00411b68
push 0x420f10
call fcn.00416c30
call sub.KERNEL32.dll_IsDebuggerPresent
mov ebx, eax
cmp ebx, 1
jne 0x4010ed
jmp 0x40145e
push dword [0x420f00]
call fcn.00402a26
mov ebx, eax
and ebx, ebx
jne 0x401118
push 0x10
push 0x41f047
push dword [0x420f10]
call fcn.0040d7c3
jmp 0x40145e
call fcn.00401d52
push dword [0x420f00]
call fcn.0040237f
mov ebx, eax
cmp ebx, 1
je 0x40118e
push 0x10
push 0x41f1ac
push dword [0x420f10]
call fcn.0040d7c3
push dword [0x420efc]
call fcn.00411be8
push edx
push eax
pop ebx
pop edi
cmp ebx, 0xfffffffe
jne 0x40115d
cmp edi, 0xffffffff
je 0x401161
xor eax, eax
jmp 0x401166
mov eax, 1
or eax, eax
je 0x401189
push 0xc8
call main
push 3
push 0x41f081
push dword [0x420efc]
call fcn.00411d03
jmp 0x40145e
push 0x190
call main
mov edx, dword [0x420efc]
push dword [0x421328]
call fcn.00416cb0
mov edx, dword [0x420f10]
call fcn.00416cb0
push 0x420f14
call fcn.00416c30
push dword [0x421328]
mov edx, dword [0x420efc]
push dword [0x421328]
call fcn.00416cb0
mov edx, str.1111ProgStart.name
call fcn.00416cb0
inc dword [0x421328]
push 2
mov edx, dword [0x41fae0]
add dword [esp + 4], edx
call fcn.004127e0
pop dword [0x421328]
and eax, eax
je 0x4012c5
mov eax, dword [0x421328]
push eax
push eax
push 2
call fcn.00412800
push 0x420f18
call fcn.00416c30
push 2
call fcn.00412610
push dword [0x420f18]
mov edx, 0x41f00d
pop ecx
call fcn.00416d10
jne 0x401299
push dword [0x421328]
mov edx, dword [0x420efc]
push dword [0x421328]
call fcn.00416cb0
mov edx, dword [0x420f18]
call fcn.00416cb0
mov edx, dword [0x41fae0]
add dword [esp], edx
call fcn.00411be8
pop dword [0x421328]
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jg 0x401289
jl 0x401285
cmp ebx, 0
ja 0x401289
xor eax, eax
jmp 0x40128e
mov eax, 1
or eax, eax
je 0x401299
mov eax, 1
jmp 0x40129b
xor eax, eax
and eax, eax
je 0x4012c5
mov edx, dword [0x420efc]
push dword [0x421328]
call fcn.00416cb0
mov edx, dword [0x420f18]
call fcn.00416cb0
push 0x420f14
call fcn.00416c30
mov edx, dword [0x420f18]
push dword [0x421328]
call fcn.00416cb0
push 0x420f0c
call fcn.00416c30
push dword [0x421328]
mov edx, dword [0x420efc]
push dword [0x421328]
call fcn.00416cb0
mov edx, str.1111ProgStart.name
call fcn.00416cb0
mov edx, dword [0x41fae0]
add dword [esp], edx
call fcn.00411fcc
pop dword [0x421328]
push dword [0x420f14]
call fcn.00411be8
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jl 0x401334
jg 0x401330
cmp ebx, 0
jb 0x401334
xor eax, eax
jmp 0x401339
mov eax, 1
or eax, eax
je 0x401354
push 0x10
push 0x41f01a
push dword [0x420f10]
call fcn.0040d7c3
jmp 0x401397
push dword [0x421328]
push 1
mov eax, dword [0x421328]
push eax
push eax
push dword [0x420f14]
call fcn.00411fde
inc dword [0x421328]
push 0x41f00d
push dword [0x420f14]
mov edx, dword [0x41fae0]
add dword [esp + 8], edx
call fcn.0040dde0
pop dword [0x421328]
call fcn.004017c6
jmp 0x40145e
push 0
call 0x401478
push dword [0x420ee0]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess
call fcn.00403174
call fcn.0040de84
call fcn.0040e030
call fcn.0040e290
call fcn.0040e4c6
call fcn.0040f292
call fcn.00410770
call fcn.00411051
call fcn.00412670
ret