Function at 0x403920
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44a1f1
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x458974]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor ebx, ebx
mov esi, edx
cmp edi, ebx
je 0x403c5a
cmp esi, ebx
je 0x403c5a
push ebx
push 0x44e4f0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0xfc], 0xffffffff
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
call fcn.00402630
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x100], ebx
call fcn.00406b60
and dword [ebp - 0xf0], 0xfffffe00
mov dword [ebp - 0xec], ebx
mov byte [ebp - 4], 3
push esi
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.00402630
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.004027e0
cmp dword [ebp - 0x84], 0x10
mov edx, dword [ebp - 0x98]
jae 0x4039f4
lea edx, [ebp - 0x98]
mov ecx, dword [ebp - 0x88]
lea eax, [ebp - 0xf8]
lea ecx, [ecx + edx]
push eax
lea ebx, [ebp - 0xc8]
call fcn.00406c70
test al, al
je 0x403c0c
mov al, byte [ebp - 0xf0]
test al, al
je 0x403a54
cmp al, 7
je 0x403a54
lea ecx, [ebp - 0x2c]
call fcn.004023f0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 1
call fcn.00404f90
lea edi, [ebp - 0xc8]
call fcn.004030c0
lea ecx, [ebp - 0x48]
call fcn.004023f0
jmp 0x403c5a
push 0x44e540
lea eax, [ebp - 0xf8]
call fcn.004056d0
test al, al
je 0x403a25
push 0x44e544
lea eax, [ebp - 0xf8]
call fcn.004056d0
test al, al
je 0x403a25
push 0x44e520
lea eax, [ebp - 0xf8]
call fcn.004056d0
test al, al
je 0x403a25
push 0x44e540
lea ecx, [ebp - 0xf8]
push ecx
call fcn.00405520
cmp byte [eax + 8], 1
jne 0x403ac5
push 0x44e540
lea edx, [ebp - 0xf8]
push edx
call fcn.00405520
mov ecx, eax
call fcn.004051b0
mov dword [ebp - 0xfc], eax
push 0x44e544
lea eax, [ebp - 0xf8]
push eax
call fcn.00405520
mov bl, 4
cmp byte [eax + 8], bl
jne 0x403b17
push 0x44e544
lea ecx, [ebp - 0xf8]
push ecx
call fcn.00405520
lea esi, [ebp - 0xe4]
mov ecx, eax
call fcn.004050c0
mov edi, eax
lea esi, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.00403ff0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], bl
call fcn.004023f0
push 0x44e520
lea edx, [ebp - 0xf8]
push edx
call fcn.00405520
cmp byte [eax + 8], 1
jne 0x403b4c
push 0x44e520
lea eax, [ebp - 0xf8]
push eax
call fcn.00405520
mov ecx, eax
call fcn.004051b0
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xfc]
cmp eax, 0xffffffff
je 0x403a25
xor esi, esi
cmp dword [ebp - 0x38], esi
je 0x403a25
mov ebx, dword [ebp - 0x100]
cmp ebx, esi
je 0x403a25
cmp eax, 1
jne 0x403bcf
push 0x24
call fcn.004314de
add esp, 4
cmp eax, esi
je 0x403b98
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], esi
mov byte [eax], 0
mov edi, eax
jmp 0x403b9a
xor edi, edi
push 0xffffffffffffffff
push esi
lea ecx, [ebp - 0x48]
push ecx
mov ecx, edi
call fcn.004027e0
mov dword [edi + 0x20], 1
push esi
push esi
push edi
push 0x4035a0
push esi
push esi
mov dword [edi + 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, esi
je 0x403c0e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x403c0e
cmp eax, 2
jne 0x403c0e
push 0x24
call fcn.004314de
add esp, 4
cmp eax, esi
je 0x403bf3
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], esi
mov byte [eax], 0
mov edi, eax
jmp 0x403bf5
xor edi, edi
push 0xffffffffffffffff
push esi
lea edx, [ebp - 0x48]
push edx
mov ecx, edi
call fcn.004027e0
mov dword [edi + 0x20], 2
jmp 0x403baf
xor esi, esi
cmp dword [ebp - 0x18], 0x10
jb 0x403c20
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00431482
add esp, 4
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 1
call fcn.00404f90
lea edi, [ebp - 0xc8]
call fcn.004030c0
cmp dword [ebp - 0x34], 0x10
jb 0x403c5a
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00431482
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043125e
mov esp, ebp
pop ebp
ret