Function at 0x401416
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0
mov ebx, 0x104
call fcn.004031f0
add esp, 4
mov dword [ebp - 0xc], eax
push 0x406208
push dword [ebp - 0xc]
mov ecx, 2
call fcn.004013ba
add esp, 8
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40146a
push ebx
call fcn.00402e0c
add esp, 4
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40147e
push ebx
call fcn.00402e0c
add esp, 4
pop eax
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.00401739
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x401508
push 0x80000301
push 0
push 0
push 0x80000004
push 0
push 0x406214
push 0x80000301
push 0
push 0x10
push 0x80000004
push 0
push 0x406219
push 4
mov ebx, 0x300
call fcn.00403280
add esp, 0x34
mov dword [ebp - 0xc], esp
push 0
xor eax, eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x40151b
mov eax, 0x406241
push eax
push 1
mov ebx, 0x268
call fcn.004034c0
add esp, 0x10
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
mov ebx, dword [0x406bca]
test ebx, ebx
je 0x401548
push ebx
call fcn.00402e0c
add esp, 4
pop eax
mov dword [0x406bca], eax
push 0x80000005
push 0
mov eax, dword [0x406bca]
test eax, eax
jne 0x401563
mov eax, 0x406242
push eax
push 1
mov ebx, 0x194
call fcn.00403530
add esp, 0x10
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
fsub qword [0x40624a]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
call fcn.004010b9
push 0x80000301
push 0
push eax
push 0x80000005
push 0
mov eax, dword [0x406bca]
test eax, eax
jne 0x4015b0
mov eax, 0x406242
push eax
push 2
mov ebx, 0x1a4
call fcn.00403540
add esp, 0x1c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [0x406bca]
test ebx, ebx
je 0x4015dd
push ebx
call fcn.00402e0c
add esp, 4
pop eax
mov dword [0x406bca], eax
mov eax, 0x406252
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
push 0x406bca
call fcn.004020b7
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40160c
push ebx
call fcn.00402e0c
add esp, 4
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x406bca]
test ebx, ebx
je 0x401623
push ebx
call fcn.00402e0c
add esp, 4
pop eax
mov dword [0x406bca], eax
push 0x80000005
push 0
mov eax, dword [0x406bca]
test eax, eax
jne 0x40163e
mov eax, 0x406242
push eax
push 1
mov ebx, 0x194
call fcn.00403530
add esp, 0x10
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
fadd qword [0x406254]
fstp qword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
fld qword [ebp - 0x1c]
call fcn.004010b9
push eax
push 0xffffffff
call fcn.00402be2
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0
push 0
push dword [ebp - 0xc]
push dword [ebp - 8]
push 0x406bca
call fcn.00402c76
mov eax, 0x406252
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
mov eax, 0x40625c
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.004020b7
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4016e9
push ebx
call fcn.00402e0c
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4016f9
push ebx
call fcn.00402e0c
add esp, 4
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [0x406bce]
test ebx, ebx
je 0x401710
push ebx
call fcn.00402e0c
add esp, 4
pop eax
mov dword [0x406bce], eax
push 1
push 1
push dword [ebp - 8]
call fcn.00402d33
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x401735
push ebx
call fcn.00402e0c
add esp, 4
mov esp, ebp
pop ebp
ret