Function at 0x40f0d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x68
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x42c350
mov eax, dword fs:[0]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword fs:[0], eax
mov ecx, 0xb23ad2d1
mov esi, 0x463d698f
nop word cs:[eax + eax]
cmp ecx, 0xf89f7ce7
jg 0x40f140
cmp ecx, 0x8a86d7bb
je 0x40f166
cmp ecx, 0xb23ad2d1
je 0x40f183
cmp ecx, 0xe90cb84f
jne 0x40f110
jmp 0x40f1a8
cmp ecx, 0xf89f7ce8
je 0x40f176
cmp ecx, 0x41a97522
je 0x40f19b
cmp ecx, 0x463d698f
jne 0x40f110
mov dword [ebp - 0x24], 8
mov ecx, 0xe90cb84f
jmp 0x40f110
mov ecx, dword [ebp - 0x20]
cmp ecx, 9
mov ecx, 0x41a97522
cmovae ecx, esi
jmp 0x40f110
mov ecx, 0xe90cb84f
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x24], edx
jmp 0x40f110
call fcn.00447295
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x20], eax
mov ecx, 0x8a86d7bb
jmp 0x40f110
mov dword [ebp - 0x4c], eax
mov ecx, 0xf89f7ce8
jmp 0x40f110
lea ecx, [ebp - 0x74]
call fcn.0040f720
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x4c]
push str._threads
call fcn.00402560
mov eax, dword [ebp - 0x24]
add eax, eax
mov dword [ebp - 0x24], eax
lea esi, [ebp - 0x4c]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0040c540
add esp, 0xc
mov ebx, eax
mov eax, 0x175d2090
mov ecx, esi
nop word [eax + eax]
cmp eax, 0x175d2090
je 0x40f200
cmp eax, 0xc4563ea0
jne 0x40f1f0
jmp 0x40f207
mov eax, 0xc4563ea0
jmp 0x40f1f0
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
call fcn.0041d580
mov eax, dword [ebp - 0x20]
mov eax, 0xa9f1bc4a
nop word [eax + eax]
cmp eax, 0xa9f1bc4a
je 0x40f230
cmp eax, 0x70732389
jne 0x40f220
jmp 0x40f237
mov eax, 0x70732389
jmp 0x40f220
mov eax, 0x6e20717b
nop dword [eax]
cmp eax, 0x6e20717b
je 0x40f250
cmp eax, 0x3b6971a4
jne 0x40f240
jmp 0x40f257
mov eax, 0x3b6971a4
jmp 0x40f240
mov eax, 0xca8c9d9c
nop dword [eax]
cmp eax, 0x4554306
je 0x40f275
cmp eax, 0xca8c9d9c
jne 0x40f260
mov eax, 0x4554306
jmp 0x40f260
test bl, bl
je 0x40f4f9
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x4c]
push str._threads
call fcn.00402560
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x4c]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0040c920
add esp, 0x10
mov eax, 0x175d2090
lea ecx, [ebp - 0x4c]
nop word cs:[eax + eax]
cmp eax, 0x175d2090
je 0x40f2d0
cmp eax, 0xc4563ea0
jne 0x40f2c0
jmp 0x40f2d7
mov eax, 0xc4563ea0
jmp 0x40f2c0
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
call fcn.0041d580
mov eax, dword [ebp - 0x20]
mov eax, 0xa9f1bc4a
nop word [eax + eax]
cmp eax, 0xa9f1bc4a
je 0x40f300
cmp eax, 0x70732389
jne 0x40f2f0
jmp 0x40f307
mov eax, 0x70732389
jmp 0x40f2f0
mov eax, 0x6e20717b
nop dword [eax]
cmp eax, 0x6e20717b
je 0x40f320
cmp eax, 0x3b6971a4
jne 0x40f310
jmp 0x40f327
mov eax, 0x3b6971a4
jmp 0x40f310
mov eax, 0xca8c9d9c
nop dword [eax]
cmp eax, 0x4554306
je 0x40f345
cmp eax, 0xca8c9d9c
jne 0x40f330
mov eax, 0x4554306
jmp 0x40f330
mov eax, 0xacadafa5
nop word [eax + eax]
cmp eax, 0xacadafa5
je 0x40f360
cmp eax, 0x83a2e175
jne 0x40f350
jmp 0x40f367
mov eax, 0x83a2e175
jmp 0x40f350
lea eax, [ebp - 0x74]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov esi, 0x5e600e2d
mov ecx, 0x62e792f4
jmp 0x40f390
mov esi, 0x1ab6489
nop word cs:[eax + eax]
cmp esi, 0x5e600e2c
jle 0x40f3d0
cmp esi, 0x64bf5cda
jg 0x40f400
cmp esi, 0x5e600e2d
je 0x40f459
cmp esi, 0x62e792f4
jne 0x40f390
mov esi, dword [ebp - 0x30]
mov esi, dword [esi]
mov dword [ebp - 0x34], esi
mov esi, 0xfcf12eac
jmp 0x40f390
cmp esi, 0xfcf12eab
jg 0x40f41d
cmp esi, 0xc07359af
je 0x40f37c
cmp esi, 0xdc3b05d7
jne 0x40f390
mov esi, 0x7220abc9
mov edx, dword [ebp - 0x28]
jmp 0x40f390
cmp esi, 0x64bf5cdb
je 0x40f469
cmp esi, 0x7220abc9
jne 0x40f390
mov dword [ebp - 0x20], edx
mov esi, 0xc07359af
jmp 0x40f390
cmp esi, 0xfcf12eac
jne 0x40f4ca
mov esi, dword [ebp - 0x34]
mov edi, 0x8a27e6c6
nop word cs:[eax + eax]
cmp edi, 0x8a27e6c6
je 0x40f452
cmp edi, 0x477093b5
jne 0x40f440
jmp 0x40f4a0
mov edi, 0x477093b5
jmp 0x40f440
mov dword [ebp - 0x30], eax
mov esi, 0x64bf5cdb
mov edx, dword [ebp - 0x30]
jmp 0x40f390
mov esi, dword [ebp - 0x30]
mov esi, dword [esi + 0x14]
mov dword [ebp - 0x4c], esi
mov esi, 0x49d62d6e
nop word [eax + eax]
cmp esi, 0xe6989467
je 0x40f4b3
cmp esi, 0x49d62d6e
jne 0x40f480
mov esi, dword [ebp - 0x4c]
cmp esi, 0x10
setae bl
mov esi, 0xe6989467
jmp 0x40f480
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x28], esi
mov esi, 0xdc3b05d7
jmp 0x40f390
and bl, 1
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
mov esi, 0x7220abc9
cmovne esi, ecx
jmp 0x40f390
cmp esi, 0x1ab6489
jne 0x40f390
push dword [ebp - 0x20]
call fcn.0045b32d
add esp, 4
cmp eax, 0x80
mov ecx, 0x80
cmovb ecx, eax
test eax, eax
mov eax, dword [ebp - 0x24]
cmovne eax, ecx
mov dword [ebp - 0x24], eax
call sub.KERNEL32.dll_GetCurrentThreadId
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
mov ecx, 0xd8210750
nop
cmp ecx, 0xd8210750
je 0x40f522
cmp ecx, 0xfa573f0b
jne 0x40f510
jmp 0x40f529
mov ecx, 0xfa573f0b
jmp 0x40f510
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x24]
push dword [ebp - 0x58]
push str.INFO____d_:__threads_count:__d__n
call fcn.004015c0
add esp, 0xc
xor edi, edi
jmp 0x40f570
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
push esi
push dword [ebp - 0x54]
push str.ERROR___d_:__thread_create_err__d__n
call fcn.004015c0
add esp, 0xc
inc edi
cmp edi, dword [ebp - 0x24]
jae 0x40f62c
mov eax, 0xc763f10a
nop
cmp eax, 0xc763f10a
je 0x40f590
cmp eax, 0x68c3f833
jne 0x40f580
jmp 0x40f5a0
mov eax, 0x68c3f833
jmp 0x40f580
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x4c], 0x408dc0
push 0
push 0
push dword [ebp - 0x20]
push dword [ebp - 0x4c]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x40f5f0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x50], edi
call fcn.004263f0
mov edi, dword [ebp - 0x50]
jmp 0x40f56f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call sub.KERNEL32.dll_GetCurrentThreadId
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
mov ecx, 0xd8210750
nop
cmp ecx, 0xd8210750
je 0x40f625
cmp ecx, 0xfa573f0b
jne 0x40f610
jmp 0x40f550
mov ecx, 0xfa573f0b
jmp 0x40f610
mov eax, 0x175d2090
nop word cs:[eax + eax]
cmp eax, 0x175d2090
je 0x40f650
cmp eax, 0xc4563ea0
jne 0x40f640
jmp 0x40f657
mov eax, 0xc4563ea0
jmp 0x40f640
lea eax, [ebp - 0x74]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
call fcn.0041d580
mov eax, dword [ebp - 0x4c]
mov eax, 0xa9f1bc4a
nop dword [eax]
cmp eax, 0xa9f1bc4a
je 0x40f680
cmp eax, 0x70732389
jne 0x40f670
jmp 0x40f687
mov eax, 0x70732389
jmp 0x40f670
mov eax, 0x6e20717b
nop dword [eax]
cmp eax, 0x6e20717b
je 0x40f6a0
cmp eax, 0x3b6971a4
jne 0x40f690
jmp 0x40f6a7
mov eax, 0x3b6971a4
jmp 0x40f690
mov eax, 0xca8c9d9c
nop dword [eax]
cmp eax, 0x4554306
je 0x40f6c5
cmp eax, 0xca8c9d9c
jne 0x40f6b0
mov eax, 0x4554306
jmp 0x40f6b0
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret