Function at 0x450cf2
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
mov esi, edx
mov ebx, ecx
push edi
mov dword [ebp - 0x10], esi
mov eax, dword [esi + 0xc]
mov ecx, dword [ebx]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x28]
mov dword [ebp - 4], eax
add eax, 2
mov dword [ebx + 0x28], eax
mov edx, dword [esi + 0x18]
call fcn.0045c88a
mov ecx, dword [ecx + 0x10]
mov edi, eax
mov edx, edi
mov dword [ebp - 0x14], edi
add edx, edx
push dword [ecx + edx*8]
mov ecx, ebx
push 0
push dword [esi]
push 0x1b
pop edx
call fcn.0044e34f
add esp, 0xc
test eax, eax
jne 0x450f7c
mov eax, dword [ebp - 8]
xor ecx, ecx
inc ecx
mov edx, edi
push dword [eax]
push ecx
push dword [eax + 0x1c]
mov ecx, ebx
call fcn.0044e3f8
add esp, 0xc
mov ecx, ebx
call fcn.0045eb3f
mov edi, eax
test edi, edi
je 0x450f7c
cmp dword [ebp + 8], 0
mov eax, dword [ebp + 8]
jge 0x450d7b
mov eax, dword [esi + 0x2c]
mov edx, esi
mov dword [ebp - 0x18], eax
mov ecx, ebx
call fcn.0045277b
mov edx, dword [ebx + 0x28]
push 0xfffffffffffffff7
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], edx
lea ecx, [edx + 1]
mov dword [ebx + 0x28], ecx
mov ecx, eax
call fcn.0045dfa1
push eax
movzx eax, word [esi + 0x32]
mov ecx, edi
push eax
push 0
push edx
push 0x6d
pop edx
call fcn.00439e58
mov eax, dword [ebp - 8]
add esp, 0x14
mov esi, dword [ebp - 4]
mov ecx, ebx
mov edx, esi
push 0x68
push eax
push dword [ebp - 0x14]
call fcn.00456db5
add esp, 0xc
mov ecx, edi
push 0
push esi
push 0x25
pop edx
call fcn.00439d92
mov ecx, ebx
mov esi, eax
call fcn.0044bffb
xor edx, edx
mov dword [ebp - 8], eax
push edx
push edx
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 4]
push edx
mov edx, dword [ebp - 0x10]
push eax
push ecx
mov ecx, ebx
call fcn.00453b52
push dword [ebp - 8]
mov ecx, edi
push dword [ebp - 0xc]
push 0x7d
pop edx
call fcn.00439d92
mov edx, dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00453c7b
lea eax, [esi + 1]
mov ecx, edi
push eax
push dword [ebp - 4]
push 7
pop edx
call fcn.00439d92
add esp, 0x30
mov edx, esi
mov ecx, edi
call fcn.0043a243
mov esi, dword [ebp + 8]
test esi, esi
jns 0x450e50
push dword [ebp - 0x14]
mov edx, 0x83
mov ecx, edi
push dword [ebp - 0x18]
call fcn.00439d92
pop ecx
pop ecx
mov eax, dword [ebp - 4]
mov ecx, edi
push 0xfffffffffffffff7
push dword [ebp - 0x20]
inc eax
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push eax
push 0x69
pop edx
call fcn.00439e58
add esp, 0x14
xor edx, edx
test esi, esi
mov ecx, edi
push 0x10
pop eax
cmovns edx, eax
xor eax, eax
inc eax
or dx, ax
call fcn.0043a22b
push 0
push dword [ebp - 0xc]
push 0x23
pop edx
call fcn.00439d92
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, edi
cmp byte [eax + 0x36], 0
je 0x450ee5
call fcn.0043a10e
lea esi, [eax + 3]
mov edx, esi
call fcn.00439da7
mov ecx, edi
call fcn.0043a10e
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
movzx ecx, word [eax + 0x32]
push ecx
push dword [ebp - 8]
mov ecx, edi
push esi
push dword [ebp - 0xc]
push 0x78
pop edx
call fcn.00439f0f
push dword [ebp - 0x10]
mov ecx, ebx
push 2
pop edx
call fcn.004523ff
add esp, 0x14
jmp 0x450eed
call fcn.0043a10e
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 4]
mov ecx, edi
inc esi
push esi
push dword [ebp - 8]
push dword [ebp - 0xc]
push 0x79
pop edx
call fcn.00439d0e
add esp, 0xc
mov ecx, edi
push 0xffffffffffffffff
push 0
push esi
push 0x21
pop edx
call fcn.00439d0e
add esp, 0xc
mov ecx, edi
push dword [ebp - 8]
push esi
push 0x7e
pop edx
call fcn.00439d92
push 0x10
pop edx
mov ecx, edi
call fcn.0043a22b
mov edx, dword [ebp - 8]
mov ecx, ebx
call fcn.0044c01a
push dword [ebp - 0x18]
mov ebx, dword [ebp - 0xc]
mov ecx, edi
push ebx
push 3
pop edx
call fcn.00439d92
mov edx, dword [ebp - 0x20]
mov ecx, edi
call fcn.0043a243
push dword [ebp - 4]
mov ecx, edi
push 0x70
pop edx
call fcn.00439d7e
add esp, 0x14
mov ecx, edi
push esi
push 0x70
pop edx
call fcn.00439d7e
pop ecx
push ebx
push 0x70
pop edx
mov ecx, edi
call fcn.00439d7e
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret