Function at 0x65b89c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x15c
push ebx
mov ebx, dword [ebp + 8]
movzx edx, byte [ebx + 0xb]
mov eax, dword [ebx + 0x14]
push esi
mov esi, ecx
xor ecx, ecx
mov ch, byte [ebx + 9]
push edi
mov dword [esp + 0x24], eax
mov eax, 2
lea edi, [esp + 0x68]
mov cl, byte [ebx + 0xa]
shl ecx, 8
or ecx, edx
mov dword [esp + 0x14], ecx
xor edx, edx
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x224]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x228]
push ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.005bf75c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
mov ecx, dword [esi + 0x228]
mov edx, dword [esp + 0x14]
push 0
push ecx
mov edi, eax
mov eax, dword [esp + 0x2c]
push edx
push eax
push edi
lea ecx, [esp + 0x54]
mov dword [esp + 0x48], edi
call fcn.006850cc
mov al, byte [ebx + 8]
xor ebx, ebx
cmp al, 0x11
jne 0x65b9f4
cmp edi, ebx
je 0x65b9a3
mov ecx, edi
call fcn.006859fc
cmp eax, 3
jb 0x65b9a3
mov ecx, dword [esp + 0x24]
cmp byte [ecx], 0
je 0x65b9f4
lea ecx, [esp + 0x40]
call fcn.00681fec
lea ecx, [esp + 0x54]
call fcn.005be29c
mov edx, dword [esp + 0x28]
push edx
call fcn.007152ac
add esp, 4
push 0x434dc0
push 0x40
push 4
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call fcn.005386dc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0x40]
call fcn.00681fec
lea ecx, [esp + 0x54]
call fcn.005be29c
mov ecx, dword [esp + 0x28]
push ecx
call fcn.007152ac
add esp, 4
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
lea esi, [esp + 0x168]
mov edi, 0x40
mov edi, edi
sub esi, 4
mov ecx, esi
call fcn.005ae32c
dec edi
mov dword [esi], ebx
jne 0x65b9dc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
cmp dword [ecx + 0xc], edx
jge 0x65bea6
lea ebx, [esp + 0x68]
lea ecx, [ecx]
push 0
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x20], 2
mov dword [esp + 0x28], 0
call fcn.0064274c
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x18]
mov ecx, ebx
inc edi
push edx
mov dword [esp + 0x14], edi
add ebx, 4
call fcn.005ae39c
lea ecx, [esp + 0x18]
call fcn.005ae32c
cmp edi, 0x40
jge 0x65ba63
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
cmp dword [ecx + 0xc], eax
mov dword [esp + 0x18], 0
jl 0x65ba0c
cmp edi, 3
jl 0x65bea4
mov ecx, dword [esp + 0x68]
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x65ba85
and ecx, 0xfffffff8
mov ecx, dword [ecx + 0xc]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x65ba8f
and ecx, 0x1f
mov eax, ecx
cmp eax, 4
je 0x65ba9d
cmp eax, 5
jne 0x65bea4
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x18]
call fcn.005adeec
mov ecx, dword [esi + 0x228]
push eax
call fcn.005fd84c
lea ecx, [esp + 0x6c]
call fcn.0053d2ac
test al, al
jne 0x65bad1
xor ebx, ebx
mov dword [esp + 0x14], ebx
jmp 0x65bae5
lea ecx, [esp + 0x6c]
call fcn.0053d27c
call fcn.00632d5c
mov dword [esp + 0x14], eax
mov ebx, eax
mov eax, dword [esp + 0x28]
push 0x604b6c
push eax
call fcn.005737fc
add esp, 8
test al, al
jne 0x65be1a
mov ecx, dword [esp + 0x28]
push 0x604b64
push ecx
call fcn.005737fc
add esp, 8
test al, al
jne 0x65be1a
mov edx, dword [esp + 0x28]
push 0x5f8730
push edx
call fcn.005737fc
add esp, 8
test al, al
je 0x65bbcb
mov eax, dword [esi]
lea ecx, [esp + 0x74]
push ecx
push 0
push 0
push 0
push 0
mov ecx, esi
call dword [eax + 0x10]
push 0
push 0
lea edx, [esp + 0x18]
push edx
push 0x5f8750
lea ecx, [esp + 0x84]
mov dword [esp + 0x20], 2
call fcn.0054370c
mov ecx, dword [esi + 0x228]
push eax
call fcn.005fc2bc
test eax, eax
je 0x65bea4
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 0x228]
call fcn.005fd84c
mov edx, dword [esp + 0x18]
push 0x604e18
push edx
call fcn.005737fc
add esp, 8
test al, al
je 0x65bbbd
mov ecx, esi
call fcn.0065b51c
lea ecx, [esp + 0x18]
call fcn.00539d3c
jmp 0x65bea4
lea eax, [edi - 1]
cmp eax, 3
jl 0x65bc0c
lea ebx, [esp + eax*4 + 0x68]
add eax, 0xfffffffe
mov dword [esp + 0x10], eax
push ebx
lea ecx, [esp + 0x28]
call fcn.005adeec
mov eax, dword [eax]
mov ecx, dword [esi + 0x228]
push eax
call fcn.0054c79c
mov eax, dword [esp + 0x10]
sub ebx, 4
dec eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], eax
jne 0x65bbde
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx]
add edi, 0xfffffffd
push edi
lea eax, [esp + 0x78]
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esi + 0x224]
push eax
call dword [edx + 8]
movzx ebx, al
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x65bea4
mov ecx, dword [esi + 0x228]
mov edi, dword [esp + 0x34]
push 0
push ecx
push edi
lea ecx, [esp + 0x44]
mov dword [esp + 0x30], 0x14
call fcn.0068515c
test edi, edi
je 0x65bc7d
mov ecx, edi
call fcn.006859fc
cmp eax, 3
jb 0x65bc7d
mov ecx, dword [esp + 0x38]
push 0
add ecx, 4
mov dword [esp + 0x28], 0x11
call fcn.00664dac
test ebx, ebx
mov dword [esp + 0x18], 2
mov dword [esp + 0x20], 0
mov edi, 0x604b64
jne 0x65bc9b
mov edi, 0x604b6c
mov ecx, dword [esi + 0x228]
call fcn.005eca0c
mov edx, dword [esi + 0x228]
push eax
push edi
push edx
lea ecx, [esp + 0x24]
call fcn.005dce0c
mov ecx, dword [esp + 0x38]
push 0
lea eax, [esp + 0x1c]
push eax
call fcn.0064274c
fild dword [esp + 0x14]
mov edx, dword [esp + 0x14]
test edx, edx
mov ecx, dword [esi + 0x228]
push ecx
jge 0x65bce1
fadd qword [0x5f66f0]
sub esp, 8
lea ecx, [esp + 0x24]
fstp qword [esp]
call fcn.005dce3c
mov ecx, dword [esp + 0x38]
push 0
lea eax, [esp + 0x1c]
push eax
call fcn.0064274c
test ebx, ebx
jne 0x65bd79
mov ecx, dword [esi + 0x228]
push ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], 2
mov dword [esp + 0x54], ebx
call fcn.005ae59c
lea ecx, [esp + 0x48]
call fcn.0054370c
mov ecx, dword [esi + 0x228]
push ebx
mov edi, eax
push 0x5fad20
push edi
call fcn.005f77ec
push 0x5fb9d4
push 0x5f8750
mov ecx, edi
call fcn.005e290c
push 0x5f8768
push 0x5f8758
mov ecx, edi
call fcn.005e290c
mov ecx, dword [esp + 0x38]
push ebx
lea edx, [esp + 0x4c]
push edx
call fcn.0064274c
lea ecx, [esp + 0x48]
call fcn.005ae32c
jmp 0x65bdc8
lea ecx, [esp + 0x18]
call fcn.005ae51c
mov ecx, dword [esp + 0x38]
push 0
lea eax, [esp + 0x1c]
push eax
call fcn.0064274c
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [esi + 0x228]
mov dword [esp + 0x14], 2
call fcn.0054565c
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x1c]
call fcn.005ae39c
mov ecx, dword [esp + 0x38]
push 0
lea eax, [esp + 0x1c]
push eax
call fcn.0064274c
mov ecx, dword [esi + 0x228]
call fcn.0054569c
mov eax, dword [esp + 0x38]
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 8]
call dword [fcn.005f6554]
mov ecx, dword [esp + 0x24]
and eax, 0x7fffffff
push eax
push edi
push ebx
push ecx
lea ecx, [esi + 0x84]
call fcn.00644a1c
lea ecx, [esp + 0x18]
call fcn.005ae32c
lea ecx, [esp + 0x38]
mov dword [esp + 0x18], 0
call fcn.00681fec
jmp 0x65bea4
mov edx, dword [esi + 0x18]
mov eax, dword [edx + 0x10]
push ebx
push eax
call fcn.0065460c
mov edi, eax
add esp, 8
test edi, edi
je 0x65bea4
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x38]
call fcn.005adeec
mov ecx, dword [esp + 0x28]
mov eax, dword [esi]
lea edx, [esp + 0x34]
push edx
push edi
push 0x604b64
push ecx
mov dword [esp + 0x20], eax
call fcn.005737fc
add esp, 8
mov ecx, esi
push eax
mov eax, dword [esp + 0x1c]
call dword [eax + 0x14]
test al, al
jne 0x65be94
mov edx, dword [esp + 0x28]
push 0x604b6c
push edx
call fcn.005737fc
add esp, 8
test al, al
je 0x65be94
mov eax, dword [esi]
lea ecx, [esp + 0x74]
push ecx
push 0
push 0
push 0
push 0
mov ecx, esi
call dword [eax + 0x10]
mov edx, dword [esi + 0x18]
add edx, 0x10
push ebx
push edx
call fcn.00653ccc
add esp, 8
xor ebx, ebx
lea ecx, [esp + 0x40]
call fcn.00681fec
lea ecx, [esp + 0x54]
call fcn.005be29c
mov eax, dword [esp + 0x28]
push eax
call fcn.007152ac
add esp, 4
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
lea esi, [esp + 0x168]
mov edi, 0x40
sub esi, 4
mov ecx, esi
call fcn.005ae32c
dec edi
mov dword [esi], ebx
jne 0x65bedd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4