Function at 0x6600f2
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.0066bc8a
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.0065d74f
add esp, 0xc
test eax, eax
jne 0x66037c
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.0065d7f8
add esp, 0xc
mov ecx, ebx
call fcn.0066df3f
mov edi, eax
test edi, edi
je 0x66037c
cmp dword [ebp + 8], 0
mov eax, dword [ebp + 8]
jge 0x66017b
mov eax, dword [esi + 0x2c]
mov edx, esi
mov dword [ebp - 0x18], eax
mov ecx, ebx
call fcn.00661b7b
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.0066d3a1
push eax
movzx eax, word [esi + 0x32]
mov ecx, edi
push eax
push 0
push edx
push 0x6d
pop edx
call fcn.00649258
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.006661b5
add esp, 0xc
mov ecx, edi
push 0
push esi
push 0x25
pop edx
call fcn.00649192
mov ecx, ebx
mov esi, eax
call fcn.0065b3fb
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.00662f52
push dword [ebp - 8]
mov ecx, edi
push dword [ebp - 0xc]
push 0x7d
pop edx
call fcn.00649192
mov edx, dword [ebp - 0x1c]
mov ecx, ebx
call fcn.0066307b
lea eax, [esi + 1]
mov ecx, edi
push eax
push dword [ebp - 4]
push 7
pop edx
call fcn.00649192
add esp, 0x30
mov edx, esi
mov ecx, edi
call fcn.00649643
mov esi, dword [ebp + 8]
test esi, esi
jns 0x660250
push dword [ebp - 0x14]
mov edx, 0x83
mov ecx, edi
push dword [ebp - 0x18]
call fcn.00649192
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.00649258
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.0064962b
push 0
push dword [ebp - 0xc]
push 0x23
pop edx
call fcn.00649192
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, edi
cmp byte [eax + 0x36], 0
je 0x6602e5
call fcn.0064950e
lea esi, [eax + 3]
mov edx, esi
call fcn.006491a7
mov ecx, edi
call fcn.0064950e
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.0064930f
push dword [ebp - 0x10]
mov ecx, ebx
push 2
pop edx
call fcn.006617ff
add esp, 0x14
jmp 0x6602ed
call fcn.0064950e
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.0064910e
add esp, 0xc
mov ecx, edi
push 0xffffffffffffffff
push 0
push esi
push 0x21
pop edx
call fcn.0064910e
add esp, 0xc
mov ecx, edi
push dword [ebp - 8]
push esi
push 0x7e
pop edx
call fcn.00649192
push 0x10
pop edx
mov ecx, edi
call fcn.0064962b
mov edx, dword [ebp - 8]
mov ecx, ebx
call fcn.0065b41a
push dword [ebp - 0x18]
mov ebx, dword [ebp - 0xc]
mov ecx, edi
push ebx
push 3
pop edx
call fcn.00649192
mov edx, dword [ebp - 0x20]
mov ecx, edi
call fcn.00649643
push dword [ebp - 4]
mov ecx, edi
push 0x70
pop edx
call fcn.0064917e
add esp, 0x14
mov ecx, edi
push esi
push 0x70
pop edx
call fcn.0064917e
pop ecx
push ebx
push 0x70
pop edx
mov ecx, edi
call fcn.0064917e
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret