Function at 0x4515b8
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
push ebx
push esi
mov esi, dword [ebp + 0x10]
push 0x300
call fcn.0046145c
call fcn.00404960
mov dword [ebp - 0x44], eax
add esp, 4
cmp dword [ebp + 0xc], 0
je 0x4515e9
mov ebx, dword [esi*4 + 0x4783c0]
test ebx, ebx
jne 0x4515f4
pop esi
mov eax, 0xffffffdc
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2de4]
test edx, edx
je 0x45160a
push 0
push edx
call dword [sym.imp.KERNEL32.DLL_TerminateProcess]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x44]
mov dword [ecx + 0x2de4], 0
push dword [edx + 0x6a0]
push edx
push ecx
call fcn.00451f99
add esp, 0xc
test eax, eax
mov dword [ebp - 0x40], eax
je 0x45163c
pop esi
mov eax, 0xfffffff6
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20fc]
test esi, esi
mov dword [0x4784c8], edx
je 0x45165e
push esi
push dword [ebp - 0x44]
call fcn.00453729
mov dword [ebp - 0x40], eax
add esp, 8
cmp dword [ebp - 0x40], 0
jne 0x451668
test esi, esi
jne 0x4516ae
xor ecx, ecx
mov edx, dword [ebp - 0x44]
test esi, esi
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x28], ecx
mov dword [edx + 0x6a0], ecx
je 0x45168b
pop esi
mov eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
push 0x108
push ecx
push ebx
call fcn.0046071c
push 0
push 0
push dword [ebp + 0xc]
call fcn.00451920
add esp, 0x18
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.00453698
mov ecx, dword [0x478408]
xor edx, edx
mov dword [ebp - 0x40], eax
mov dword [ebx + 0x18], ecx
add esp, 4
cmp eax, edx
jns 0x4516d4
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
jne 0x4516e0
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp + 0x10], esi
mov esi, dword [ebx + 0x104]
test esi, esi
jne 0x4516f8
pop esi
mov eax, 0xffffffdb
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx], 3
jle 0x45171b
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.0045222e
add esp, 8
test eax, eax
mov dword [ebp - 0x40], eax
je 0x45171b
mov eax, dword [ebp - 0x40]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x28]
test ecx, ecx
mov dword [ebp - 0x6c], ecx
fild dword [ebp - 0x6c]
fstp qword [ebp - 0x54]
je 0x451738
push dword [ebp - 0x50]
mov edx, dword [esi]
mov ecx, esi
push dword [ebp - 0x54]
call dword [edx + 0x38]
lea ecx, [ebp - 0x5c]
mov edx, dword [esi]
push ecx
mov ecx, esi
call dword [edx + 0x34]
test eax, eax
mov dword [ebp - 0x40], eax
jne 0x451756
fld qword [ebp - 0x5c]
fistp dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x6c]
mov dword [ebx + 0x28], ecx
xor edx, edx
lea ecx, [ebx + 0x14]
mov dword [ebx + 8], edx
mov dword [ebx + 4], edx
mov dword [ebx + 0x14], edx
mov dword [ebx + 0xc], edx
lea edx, [ebx + 0xc]
push ecx
lea ecx, [ebx + 8]
push edx
lea edx, [ebx + 4]
push ecx
mov ecx, esi
push edx
mov edx, dword [esi]
call dword [edx + 0x2c]
or dword [ebp - 0x40], eax
push ebx
call fcn.00451b6c
add esp, 4
test eax, eax
je 0x451798
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0x14]
cmp ecx, edx
jg 0x451798
mov dword [ebx + 4], edx
xor ecx, ecx
cmp dword [ebp - 0x40], ecx
jns 0x4517b3
mov dword [ebx], 1
mov eax, 0xfffffffd
mov dword [ebx + 0x1c], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x48]
push edx
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x4c], ecx
mov ecx, esi
push edx
mov edx, dword [esi]
call dword [edx + 0x24]
xor ecx, ecx
cmp eax, ecx
jns 0x4517e2
mov dword [ebx], 1
mov eax, 0xfffffffc
mov dword [ebx + 0x1c], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x4c]
mov dword [ebx + 0x20], edx
mov edx, dword [ebp - 0x48]
mov dword [ebx + 0x24], edx
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp + 0xc]
call fcn.00451920
lea ecx, [ebp - 0x34]
push 0x34
push 0
push ecx
call fcn.0046071c
lea edx, [ebp - 0x34]
mov ecx, esi
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 1
add esp, 0x18
push edx
mov edx, dword [esi]
call dword [edx + 0x48]
test eax, eax
jns 0x451841
mov dword [ebx], 1
mov eax, 0xfffffffb
mov dword [ebx + 0x1c], 0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x3c], ebx
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
mov dword [edx + 0x1c], ecx
xor ebx, ebx
mov ecx, dword [ebx*4 + 0x472e38]
test ecx, ecx
mov dword [ebp - 0x38], ecx
je 0x451886
fild dword [ebp - 0x38]
sub esp, 8
mov ecx, esi
fstp qword [esp]
mov edx, dword [esi]
call dword [edx + 0x30]
test eax, eax
je 0x451874
neg dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
lea edx, [edx + ebx*4]
mov ecx, dword [ebp - 0x38]
mov dword [edx + 0x2c], ecx
inc ebx
cmp ebx, 0x12
jb 0x45184f
push dword [ebp - 0x48]
mov esi, dword [ebp + 0x10]
push dword [ebp - 0x4c]
push esi
push dword [ebp + 8]
call fcn.004519f8
add esp, 0x10
pop esi
pop ebx
mov esp, ebp
pop ebp
ret