Function at 0x401000
Capabilities:
Allocate thread local storage

Disassembly:
push 0xa8
push 0
push 0x1b3d258
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleW
mov dword [0x1b3d25c], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x1b3d258], eax
call fcn.0040efc0
call fcn.0040e525
call fcn.0040e310
call fcn.0040d630
call fcn.0040b761
call fcn.0040af10
call fcn.0040a4f1
call fcn.004093f8
call fcn.00409386
call fcn.00407af0
call fcn.00406ed9
call fcn.00406a2b
call fcn.00405b62
call fcn.00404d33
call fcn.00403eec
call fcn.0040368c
call fcn.00403478
call fcn.0040472c
call fcn.004043d0
call fcn.00408801
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
call fcn.0040749e
push 0x1b3d27c
call fcn.0040f050
push edx
call fcn.0040f010
pop edx
push eax
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x4624b2
push edx
call fcn.0040f0e0
call fcn.00403082
add dword [esp], edx
call fcn.004075a8
call fcn.004030a0
push edx
call fcn.0040f010
pop edx
push eax
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x462298
push edx
call fcn.0040f0e0
call fcn.00403082
add dword [esp], edx
call fcn.004075a8
call fcn.004030a0
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
call fcn.0040749e
mov edx, 0x4624f4
push edx
call fcn.0040f0e0
push 0x1b3d27c
call fcn.0040f050
mov dword [0x1b3d2c4], 0
push edx
call fcn.0040f010
pop edx
push eax
push 2
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x46237c
push edx
call fcn.0040f0e0
call fcn.00403082
add dword [esp], edx
call fcn.00407628
call fcn.004030a0
push edx
call fcn.0040f010
pop edx
push eax
push 2
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x462496
push edx
call fcn.0040f0e0
call fcn.00403082
add dword [esp], edx
call fcn.00407628
call fcn.004030a0
push 2
mov eax, 0x462474
push eax
push dword [0x1b3d27c]
call fcn.00407664
push 2
mov eax, 0x462480
push eax
push dword [0x1b3d27c]
call fcn.00407664
push 2
mov eax, 0x462260
push eax
push dword [0x1b3d27c]
call fcn.00407664
call fcn.00401c5a
call fcn.0040206b
and eax, eax
je 0x401240
mov dword [0x1b3d2d8], 0
jmp 0x40124a
mov dword [0x1b3d2d8], 1
push edx
call fcn.0040f010
pop edx
push eax
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x462496
push edx
call fcn.0040f0e0
call fcn.0040f140
mov eax, 0x46219a
push eax
call fcn.00403082
add dword [esp + 4], edx
call fcn.004044f9
call fcn.004030a0
and eax, eax
je 0x40137c
push edx
call fcn.0040f010
pop edx
push eax
push 0x20000
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x462496
push edx
call fcn.0040f0e0
call fcn.0040f140
push 0xffffffff
call fcn.00403082
add dword [esp + 4], edx
call fcn.00407d20
call fcn.004030a0
mov dword [0x1b3d2e0], eax
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
push dword [0x1b3d2e0]
call fcn.00407e30
push 0x1b3d28c
call fcn.0040f050
push dword [0x1b3d28c]
mov edx, 0x4622bc
pop ecx
call fcn.004030b0
je 0x401329
mov dword [0x1b3d2e4], 1
jmp 0x401333
mov dword [0x1b3d2e4], 0
push dword [0x1b3d2e0]
call fcn.00407a20
push edx
call fcn.0040f010
pop edx
push eax
push 2
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x462496
push edx
call fcn.0040f0e0
call fcn.00403082
add dword [esp], edx
call fcn.00407628
call fcn.004030a0
push dword [0x1b3d274]
call fcn.004020ac
mov dword [0x1b3d268], eax
mov dword [0x1b3d2a0], 1
mov dword [0x1b3d2a4], 2
mov eax, 0x4622f2
push eax
push 0
call fcn.00403f5f
and eax, eax
je 0x4013ef
push 0x1b3d2a0
push 0
mov ebp, 0x4890aa
mov ebx, ebp
mov ebp, 0x46774a
sub ebx, ebp
push ebx
mov ebp, 0x46774a
push ebp
mov eax, 0x4621ee
push eax
push 0
call fcn.00403fb9
push 0
call fcn.00403e9f
jmp 0x401405
mov eax, 0x462020
push eax
mov eax, 0x462366
push eax
call fcn.004034e2
jmp 0x401ef0
mov eax, 0x4622f2
push eax
push 0
call fcn.00403f5f
and eax, eax
je 0x401454
push 0x1b3d2a4
push 0
mov ebp, 0x4a8b36
mov ebx, ebp
mov ebp, 0x4890aa
sub ebx, ebp
push ebx
mov ebp, 0x4890aa
push ebp
mov eax, 0x4621ee
push eax
push 0
call fcn.00403fb9
push 0
call fcn.00403e9f
jmp 0x40146a
mov eax, 0x462020
push eax
mov eax, 0x462366
push eax
call fcn.004034e2
jmp 0x401ef0
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
push 0x1b3d2c0
call fcn.0040f050
mov ebp, 0x4625e8
push ebp
push 0xffffffff
call fcn.00409509
mov dword [0x1b3d2f4], eax
push 0x80000001
mov eax, 0x462070
push eax
push 0x6d
push 0x1db
push 0
push 0
push 0xffffffff
call fcn.00405bba
mov dword [0x1b3d284], eax
push dword [0x1b3d2f4]
call fcn.00409520
push eax
push 0x6d
push 0x1db
push 0
push 0
push 0xffffffff
call fcn.00405344
mov dword [0x1b3d270], eax
push 0x10
push 0xd
mov eax, 0x462218
push eax
push 0xffffffff
call fcn.0040e572
mov dword [0x1b3d2cc], eax
push 0x10
push 0xe
mov eax, 0x4624cc
push eax
push 0xffffffff
call fcn.0040e572
mov dword [0x1b3d294], eax
push 0x10
push 0xa
mov eax, 0x462218
push eax
push 0xffffffff
call fcn.0040e572
mov dword [0x1b3d298], eax
push 0x302
mov eax, 0x46204a
push eax
push 0x1e
push 0x15e
push 0x4b
push 0x78
push 0xffffffff
call fcn.004054fa
mov dword [0x1b3d2dc], eax
push dword [0x1b3d2cc]
call fcn.0040e63b
push eax
push dword [0x1b3d2dc]
call fcn.004055ef
push 0
push 1
push dword [0x1b3d2dc]
call fcn.0040565e
push 0x3a
push 0xa7
mov eax, 0xf3
call fcn.00403050
push eax
push 2
push dword [0x1b3d2dc]
call fcn.0040565e
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
push 0x23
mov eax, 0x4620f6
push eax
call fcn.0040d8e0
push 0x1b3d2d0
call fcn.0040f050
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
mov eax, 0x462068
push eax
push dword [0x1b3d2d0]
call fcn.0040d960
mov edx, 0x462060
push edx
call fcn.0040f0e0
push 0x1b3d2d0
call fcn.0040f050
push dword [0x1b3d2d0]
push dword [0x1b3d2dc]
call fcn.00405689
push 0x5dc
call fcn.00405a09
mov ebx, dword [0x1b3d2d8]
cmp ebx, 1
je 0x401668
mov ebx, dword [0x1b3d2e4]
and ebx, ebx
je 0x401668
jmp 0x40166f
mov eax, 1
jmp 0x401671
xor eax, eax
and eax, eax
je 0x401689
mov ebx, dword [0x1b3d268]
and ebx, ebx
jne 0x401689
mov dword [0x1b3d2bc], 1
push edx
call fcn.0040f010
pop edx
push eax
mov edx, 0x46258a
push edx
call fcn.0040f0e0
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
mov eax, dword [0x1b3d274]
cdq
push edx
push eax
xor dword [esp], 0x7b3d89b
xor dword [esp + 4], 0
pop eax
pop edx
push edx
push eax
call fcn.0040da00
pop eax
mov edx, 0x462056
push edx
call fcn.0040f0e0
push 0x1b3d2f0
call fcn.0040f050
mov ebx, dword [0x1b3d2d8]
cmp ebx, 1
jne 0x401705
mov eax, 0x462534
push eax
push dword [0x1b3d2dc]
call fcn.00405689
push 0x5dc
call fcn.00405a09
mov ebx, dword [0x1b3d2e4]
and ebx, ebx
jne 0x40172a
mov eax, 0x462092
push eax
push dword [0x1b3d2dc]
call fcn.00405689
push 0x5dc
call fcn.00405a09
mov ebx, dword [0x1b3d268]
cmp ebx, 1
jne 0x40177e
mov ebx, dword [0x1b3d2d8]
cmp ebx, 1
je 0x40174c
mov ebx, dword [0x1b3d2e4]
and ebx, ebx
je 0x40174c
jmp 0x401753
mov eax, 1
jmp 0x401755
xor eax, eax
and eax, eax
je 0x40177e
mov eax, 0x462310
push eax
push dword [0x1b3d2dc]
call fcn.00405689
push 0x5dc
call fcn.00405a09
mov dword [0x1b3d2fc], 1
push edx
call fcn.0040f010
pop edx
push eax
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x46237c
push edx
call fcn.0040f0e0
call fcn.0040f140
push dword [0x1b3d2f0]
call fcn.00403082
add dword [esp + 4], edx
call fcn.004044f9
call fcn.004030a0
and eax, eax
je 0x401910
push edx
call fcn.0040f010
pop edx
push eax
push 0x20000
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x46237c
push edx
call fcn.0040f0e0
call fcn.0040f140
push 0xffffffff
call fcn.00403082
add dword [esp + 4], edx
call fcn.00407d20
call fcn.004030a0
mov dword [0x1b3d2e0], eax
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
push dword [0x1b3d2e0]
call fcn.00407e30
push 0x1b3d28c
call fcn.0040f050
push dword [0x1b3d2e0]
call fcn.00407a20
push dword [0x1b3d28c]
mov edx, 0x46251a
pop ecx
call fcn.004030b0
je 0x401906
mov dword [0x1b3d2fc], 0
push edx
call fcn.0040f010
pop edx
push eax
push 2
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x46237c
push edx
call fcn.0040f0e0
call fcn.00403082
add dword [esp], edx
call fcn.00407628
call fcn.004030a0
push 0
push 0
mov eax, 0xc8
call fcn.00403050
push eax
push 1
push dword [0x1b3d2dc]
call fcn.0040565e
push dword [0x1b3d294]
call fcn.0040e63b
push eax
push dword [0x1b3d2dc]
call fcn.004055ef
mov eax, 0x462418
push eax
push dword [0x1b3d2dc]
call fcn.00405689
push 0x7d0
call fcn.00405a09
jmp 0x401ef0
mov dword [0x1b3d2fc], 1
mov ebx, dword [0x1b3d2bc]
cmp ebx, 1
jne 0x401952
push dword [0x1b3d298]
call fcn.0040e63b
push eax
push dword [0x1b3d2dc]
call fcn.004055ef
mov eax, 0x46239e
push eax
push dword [0x1b3d2dc]
call fcn.00405689
push 0xbb8
call fcn.00405a09
jmp 0x401ef0
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
call fcn.004036bb
push 0x1b3d2b4
call fcn.0040f050
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
push dword [0x1b3d2b4]
call fcn.004079f6
push 0x1b3d2b4
call fcn.0040f050
push edx
call fcn.0040f010
pop edx
push eax
mov edx, 0x462170
push edx
call fcn.0040f0e0
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
push 0x2710
call fcn.00403db0
cdq
push edx
push eax
call fcn.0040da00
pop eax
mov edx, 0x46204c
push edx
call fcn.0040f0e0
push 0x1b3d2f8
call fcn.0040f050
push edx
call fcn.0040f010
pop edx
push eax
push 0x60000
mov edx, dword [0x1b3d2c0]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, dword [0x1b3d2f8]
push edx
call fcn.0040f0e0
call fcn.0040f140
push 0
call fcn.00403082
add dword [esp + 4], edx
call fcn.00407d00
call fcn.004030a0
and eax, eax
je 0x401a62
mov ebp, 0x1b3b6c9
mov ebx, ebp
mov ebp, 0x4a8b36
sub ebx, ebp
push ebx
mov ebp, 0x4a8b36
mov ebx, ebp
add ebx, dword [0x1b3d290]
push ebx
push 0
call fcn.00407e50
push 0
call fcn.00407a20
jmp 0x401a62
mov ebx, dword [0x1b3d2fc]
neg ebx
inc ebx
mov dword [0x1b3d2fc], ebx
push dword [0x1b3d284]
call fcn.00405a2a
mov eax, dword [0x1b3d2c4]
cdq
push edx
push eax
mov eax, dword [0x1b3d2fc]
cdq
add dword [esp], eax
adc dword [esp + 4], edx
mov eax, dword [0x1b3d2bc]
cdq
add dword [esp], eax
adc dword [esp + 4], edx
add dword [esp], 0xb516e34c
adc dword [esp + 4], 0xf3a
pop dword [0x1b3d260]
pop dword [0x1b3d264]
push edx
call fcn.0040f010
pop edx
push eax
mov edx, 0x46206c
push edx
call fcn.0040f0e0
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f010
pop edx
push eax
push dword [0x1b3d264]
push dword [0x1b3d260]
call fcn.0040da00
pop eax
mov edx, 0x46206c
push edx
call fcn.0040f0e0
push 0x1b3d2c8
call fcn.0040f050
push edx
call fcn.0040f010
pop edx
push eax
push 0
push 1
mov eax, 0x46204a
push eax
push dword [0x1b3d2c8]
mov edx, dword [0x1b3d2c0]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, dword [0x1b3d2f8]
push edx
call fcn.0040f0e0
call fcn.00403082
add dword [esp], edx
call fcn.0040375a
call fcn.004030a0
push 0x64
call fcn.00405a09
push edx
call fcn.0040f010
pop edx
push eax
mov edx, dword [0x1b3d2c0]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, dword [0x1b3d2f8]
push edx
call fcn.0040f0e0
call fcn.00403082
add dword [esp], edx
call fcn.00407656
call fcn.004030a0
push edx
call fcn.0040f010
pop edx
push eax
push 2
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x46237c
push edx
call fcn.0040f0e0
call fcn.00403082
add dword [esp], edx
call fcn.00407628
call fcn.004030a0
push edx
call fcn.0040f010
pop edx
push eax
push 2
mov edx, dword [0x1b3d27c]
push edx
call fcn.0040f010
pop edx
push eax
push edx
call fcn.0040f0e0
mov edx, 0x462496
push edx
call fcn.0040f0e0
call fcn.00403082
add dword [esp], edx
call fcn.00407628
call fcn.004030a0
push 2
mov eax, 0x462474
push eax
push dword [0x1b3d27c]
call fcn.00407664
push 2
mov eax, 0x462480
push eax
push dword [0x1b3d27c]
call fcn.00407664
push 2
mov eax, 0x462260
push eax
push dword [0x1b3d27c]
call fcn.00407664
jmp 0x401ef0
push 0
call 0x401f0f
call fcn.0040eff0
push dword [0x1b3d258]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess
call fcn.00403ee0
call fcn.004046fc
call fcn.00404d18
call fcn.00405b3f
call fcn.00406a0d
call fcn.00407a08
call fcn.00407ae0
call fcn.004093ec
call fcn.0040a4e4
call fcn.0040d650
call fcn.0040e698
call fcn.0040e6e2
call fcn.0040e300
ret