Function at 0x6597d4
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
mov ebx, edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], esi
mov ecx, dword [edi + 8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], esi
test ecx, ecx
jne 0x65980f
xor eax, eax
jmp 0x65a327
test ebx, ebx
jne 0x659848
push 0x65
pop edx
mov dword [esp + 0x14], edx
sub edx, 0x5f
je 0x659b2b
dec edx
dec edx
je 0x659b1a
sub edx, 4
jne 0x65a1aa
mov ebx, dword [ebp + 8]
push ebx
push esi
push 0x3b
pop edx
call fcn.00649192
pop ecx
pop ecx
jmp 0x659bcd
movzx edx, byte [ebx]
mov dword [esp + 0x14], edx
cmp edx, 0x77
jg 0x659b7b
je 0x659b53
cmp edx, 0x4a
jg 0x659a64
je 0x6599f9
cmp edx, 0x3d
jg 0x6599be
je 0x65995c
sub edx, 0x13
je 0x659b2b
dec edx
je 0x659b6a
sub edx, 0x11
je 0x6598fd
sub edx, 0x13
jne 0x65a1aa
cmp dword [edi + 0x7c], esi
jne 0x6598b1
push 0x4ab730
push edi
call fcn.00634527
pop ecx
pop ecx
jmp 0x659808
cmp byte [ebx + 1], 2
jne 0x6598c2
mov ecx, edi
call fcn.006617a3
mov ecx, dword [esp + 0xc]
mov al, byte [ebx + 1]
push esi
cmp al, 4
jne 0x6598e1
push dword [ebx + 8]
push esi
push 4
push esi
push 0x37
pop edx
call fcn.00649258
add esp, 0x14
jmp 0x65a310
push esi
push dword [ebx + 8]
movsx eax, al
mov edx, 0x713
push eax
mov ecx, edi
call fcn.006617b0
add esp, 0x10
jmp 0x65a310
mov esi, dword [ebp + 8]
mov ecx, edi
mov edx, dword [ebx + 0xc]
push esi
call fcn.006597d4
mov dword [esp + 0x20], eax
pop ecx
cmp eax, esi
je 0x659928
mov ecx, dword [esp + 0xc]
push esi
push eax
push 0x41
pop edx
call fcn.00649192
pop ecx
pop ecx
mov dword [esp + 0x1c], esi
mov ecx, dword [ebx + 8]
xor edx, edx
call fcn.0065e7b0
mov ecx, dword [esp + 0xc]
movsx eax, al
push eax
push esi
push 0x49
pop edx
call fcn.00649192
mov edx, dword [esp + 0x24]
mov ecx, edi
push 1
call fcn.006596ff
mov eax, dword [esp + 0x28]
add esp, 0xc
jmp 0x65a327
mov eax, dword [ebx + 0x2c]
mov edx, 0x90
mov esi, dword [ebp + 8]
mov dword [esp + 0x30], eax
push esi
movsx ecx, word [eax + 0x2a]
movsx eax, word [ebx + 0x20]
inc ecx
imul ecx, dword [ebx + 0x1c]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x10]
push eax
call fcn.00649192
movzx eax, word [ebx + 0x20]
pop ecx
pop ecx
test ax, ax
js 0x65a310
movsx ecx, ax
mov eax, dword [esp + 0x30]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x65a310
mov ecx, dword [esp + 0xc]
push esi
push 0x48
pop edx
call fcn.0064917e
jmp 0x659b4d
cmp edx, 0x46
jl 0x65a1aa
cmp edx, 0x47
jle 0x659a8d
cmp edx, 0x48
je 0x659cc6
cmp edx, 0x49
jne 0x65a1aa
push esi
push esi
mov esi, dword [ebp + 8]
mov edx, ebx
push esi
mov ecx, edi
call fcn.0065a6a4
add esp, 0xc
jmp 0x659c1f
call fcn.0064935e
mov ecx, dword [esp + 0xc]
mov esi, eax
call fcn.0064935e
push dword [ebp + 8]
mov ecx, dword [esp + 0x10]
mov edi, eax
push 0
push 0x3b
pop edx
call fcn.00649192
mov ecx, dword [esp + 0x2c]
mov edx, ebx
push edi
push esi
call fcn.00658d9b
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
push ebx
push 1
push 0x38
pop edx
call fcn.00649192
mov edx, esi
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.006493a0
push 0
push ebx
push 0x45
pop edx
call fcn.00649192
add esp, 0x20
mov edx, edi
mov ecx, esi
call fcn.006493a0
jmp 0x659bcd
cmp edx, 0x5e
jg 0x65981a
je 0x65a149
cmp edx, 0x4c
jle 0x659ac9
cmp edx, 0x52
jle 0x659cde
lea eax, [edx - 0x54]
cmp eax, 9
ja 0x65a1aa
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x10]
push eax
mov ecx, edi
call fcn.0065a42e
mov edx, dword [ebx + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
call fcn.0065a42e
mov edx, dword [esp + 0x18]
pop ecx
push dword [ebp + 8]
push esi
push eax
mov ecx, dword [esp + 0x18]
call fcn.0064910e
add esp, 0xc
jmp 0x65a310
push dword [ebp + 8]
push 1
push 0x38
pop edx
call fcn.00649192
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.0065a42e
mov ebx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ecx, ebx
push eax
call fcn.0064917e
pop ecx
push dword [ebp + 8]
mov ecx, ebx
mov esi, eax
push 0
push 0x38
pop edx
call fcn.00649192
pop ecx
pop ecx
mov edx, esi
mov ecx, ebx
call fcn.00649643
jmp 0x65a310
push dword [ebx + 8]
mov edx, dword [ebp + 8]
call fcn.006491b8
pop ecx
jmp 0x65a324
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x10]
push eax
mov ecx, edi
call fcn.0065a42e
mov edx, dword [esp + 0x18]
pop ecx
push dword [ebp + 8]
mov ecx, dword [esp + 0x10]
push eax
call fcn.00649192
pop ecx
pop ecx
jmp 0x65a310
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
cmp dword [eax], 1
je 0x659b6a
mov edx, dword [eax]
mov ecx, edi
push 1
call fcn.00658868
jmp 0x659b4d
push esi
push esi
mov edx, ebx
mov ecx, edi
call fcn.006588aa
pop ecx
jmp 0x659e1b
lea eax, [edx - 0x84]
cmp eax, 0x1e
ja 0x65a1aa
movzx eax, byte [eax + 0x44af70]
jmp dword [eax*4 + 0x44af30]
mov eax, ebx
jmp 0x65a327
mov eax, esi
jmp 0x65a327
xor eax, eax
mov esi, 0x80
cmp edx, 0x48
mov dword [esp + 0x1c], esi
sete al
lea edx, [eax + 0x4d]
mov dword [esp + 0x14], edx
mov eax, dword [ebx + 0xc]
mov ecx, eax
mov dword [esp + 0x18], eax
call fcn.00656c26
mov ecx, edi
test eax, eax
je 0x659d03
push esi
push edx
push dword [ebp + 8]
mov edx, ebx
call fcn.00656d43
jmp 0x659ac1
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push eax
call fcn.0065a42e
mov edx, dword [ebx + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
call fcn.0065a42e
mov edx, dword [esp + 0x1c]
pop ecx
mov ecx, dword [esp + 0x1c]
or ecx, 0x20
push ecx
push dword [ebp + 8]
mov ecx, edi
push eax
push esi
push dword [esp + 0x24]
push dword [ebx + 0x10]
call fcn.00656bc9
add esp, 0x18
jmp 0x65a310
pop ecx
jmp 0x65a327
push dword [ebp + 8]
mov ecx, edi
call fcn.006597d4
jmp 0x659e1b
mov edx, dword [ebx + 0xc]
jmp 0x659f22
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], esi
lea edx, [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
call fcn.0064935e
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
test edx, edx
je 0x65a233
push 0xc
mov esi, edx
lea edi, [esp + 0x3c]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x10]
push eax
lea edx, [esp + 0x3c]
mov ecx, edi
call fcn.00659749
pop ecx
mov edx, eax
lea ecx, [esp + 0x38]
call fcn.00659736
push 0x30
xor ebx, ebx
lea eax, [esp + 0x6c]
push ebx
push eax
call fcn.0068ab50
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x44]
mov dword [esp + 0x80], eax
add esp, 0xc
lea eax, [esp + 0x68]
mov byte [esp + 0x68], 0x4e
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x14]
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0xc]
lea ecx, [eax - 1]
test ecx, ecx
jle 0x65a2d0
lea eax, [ecx - 1]
shr eax, 1
inc eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
mov ecx, edi
call fcn.0065949e
mov eax, dword [eax]
test edx, edx
je 0x65a26a
mov dword [esp + 0x78], eax
jmp 0x65a26e
mov dword [esp + 0x1c], eax
mov ecx, esi
call fcn.0064935e
push 0x10
mov esi, eax
push esi
push dword [esp + 0x24]
push edi
call fcn.0065a9f2
mov edx, dword [esp + 0x28]
mov ecx, edi
push ebx
mov edx, dword [edx + 0x18]
call fcn.0065a4a0
mov edx, dword [esp + 0x34]
add esp, 0x14
mov ecx, dword [esp + 0xc]
call fcn.006491a7
mov ecx, edi
call fcn.006594a2
mov edx, esi
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.006493a0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
add eax, 0x30
dec dword [esp + 0x30]
mov dword [esp + 0x18], eax
jne 0x65a257
mov eax, dword [esp + 0x14]
test al, 1
je 0x65a2f6
mov ecx, edi
call fcn.0065949e
imul edx, eax, 0x18
mov eax, dword [esp + 0x34]
push ebx
mov edx, dword [edx + eax - 0x10]
call fcn.0065a4a0
pop ecx
mov ecx, edi
call fcn.006594a2
jmp 0x65a305
push ebx
push 0
push 0x3b
pop edx
mov ecx, esi
call fcn.00649192
pop ecx
pop ecx
mov edx, dword [esp + 0x20]
mov ecx, esi
call fcn.006493a0
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.0065b41a
mov edx, dword [esp + 0x2c]
call fcn.0065b41a
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret