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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x8c]
cmp eax, dword [ecx + 8]
jbe 0x65ef4e
sub esp, 0x10c
lea eax, [0x7d1f60]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
lea edx, [0x7e5ebb]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040fc40
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x65eef4
mov dword [esp + 0x5c], eax
lea ecx, [0x7923e0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.004430a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
lea ecx, [0x7d1f60]
mov dword [esp], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
lea ecx, [0x7e5ebb]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.0040fc40
lea eax, [esp + 0x18]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov dword [esp + 0x9c], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x6c], ecx
xor ebx, ebx
xor ebp, ebp
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0xa4]
jmp 0x65e3de
mov ebx, dword [esp + 0x68]
inc ebx
mov ebp, ecx
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x9c]
cmp ebx, ecx
jge 0x65eed8
mov dword [esp + 0x68], ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x58], ebp
lea eax, [edx + ebx*8]
mov ecx, dword [eax]
mov dword [esp + 0x88], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00634bc0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x7e03da]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004e1d90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp ecx, 1
jne 0x65e476
mov edx, dword [eax + 4]
test edx, edx
jne 0x65e476
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x8c]
jmp 0x65e3c1
test ecx, ecx
jbe 0x65ef46
mov dword [esp + 0x44], ecx
mov dword [esp + 0x80], eax
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00634bc0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x80]
mov dword [edi + 4], ecx
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x65eece
mov dword [edi], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x7e03dc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004e3f90
mov ecx, dword [esp + 0x10]
test ecx, ecx
jge 0x65e4f6
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x8c]
jmp 0x65e3c1
mov ebx, dword [esp + 0x80]
mov ebp, dword [ebx]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x65ef41
lea eax, [ecx + 1]
cmp eax, edx
ja 0x65ef3a
mov dword [esp + 0x40], ecx
mov dword [esp + 0x7c], ebp
sub edx, eax
mov esi, edx
neg edx
sar edx, 0x1f
and edx, eax
lea eax, [edx + ebp]
test ecx, ecx
jne 0x65ee86
xor edx, edx
test dl, dl
jne 0x65e54d
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x8c]
jmp 0x65e3c1
mov dword [esp], eax
mov dword [esp + 4], esi
mov byte [esp + 8], 1
call fcn.00660e80
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x10]
test cl, cl
jne 0x65e583
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x8c]
jmp 0x65e3c1
mov dword [esp + 0x38], edx
mov dword [esp + 0x74], eax
lea eax, [0x7cb720]
mov dword [esp], eax
call fcn.0040b570
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x65ee74
mov edx, dword [esp + 0x7c]
mov dword [eax], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 0xc], edx
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x65ee5f
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x4c], edx
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x65ee47
mov edx, dword [esp + 0x88]
mov dword [eax + 0x48], edx
mov dword [esp + 0x90], eax
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x44]
mov ecx, 1
jmp 0x65e620
lea ebp, [eax + 1]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x90]
mov edx, ecx
mov ebx, esi
mov ecx, ebp
cmp ecx, ebx
jge 0x65edcc
jae 0x65ef31
mov dword [esp + 0x50], ecx
lea eax, [edx + ecx*8]
mov dword [esp + 0x98], eax
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.00634bc0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
lea edx, [ecx + eax*8 + 4]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
mov dword [edx], ebx
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x65edb3
mov edx, dword [esp + 0x98]
mov dword [edx], ebp
test ebx, ebx
je 0x65e60c
mov dword [esp + 0x64], ebx
mov dword [esp + 0x94], ebp
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea eax, [0x7e03dc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004e3f90
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x65ed9f
mov edx, dword [esp + 0x64]
cmp ecx, edx
ja 0x65ef2c
lea eax, [ecx + 1]
cmp eax, edx
ja 0x65ef25
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov eax, dword [esp + 0x94]
add edx, eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x3c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004e2fc0
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov byte [esp + 8], 0
call fcn.00660e80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x14]
test dl, dl
je 0x65ecd0
mov edx, dword [esp + 0x48]
cmp edx, 6
jg 0x65e8df
cmp edx, 4
jne 0x65e85b
mov edx, dword [esp + 0x84]
cmp dword [edx], 0x68746170
jne 0x65e78c
mov edx, dword [esp + 0x90]
mov dword [edx + 0x14], ecx
mov ebx, dword [0xa8c6b0]
test ebx, ebx
jne 0x65e782
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x65e60c
lea edi, [edx + 0x10]
call fcn.0045c330
jmp 0x65e772
mov eax, dword [esp + 0x90]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x58]
lea esi, [edx + 1]
mov ecx, edx
mov edx, dword [esp + 0x98]
mov edi, ebx
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp ebp, esi
jb 0x65e7ec
lea ebp, [ecx + 1]
mov dword [eax + 0x54], ebp
lea ebp, [edi + ecx*8 + 4]
mov dword [ebp], edx
mov edx, dword [0xa8c6b0]
lea edi, [edi + ecx*8]
test edx, edx
jne 0x65e7df
mov dword [edi], ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x65e60c
mov ecx, eax
mov eax, ebx
call fcn.0045c330
mov eax, ecx
jmp 0x65e7cf
mov dword [esp + 0x64], edx
mov dword [esp + 0x94], ebx
lea eax, [0x7878a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004431f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x90]
mov dword [ebx + 0x58], edx
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x65e851
mov dword [ebx + 0x50], eax
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x94]
mov edi, eax
mov eax, dword [esp + 0x90]
jmp 0x65e7b3
lea edi, [ebx + 0x50]
call fcn.0045c330
jmp 0x65e838
cmp edx, 6
jne 0x65e78c
mov edx, dword [esp + 0x84]
cmp dword [edx], 0x616d6f64
jne 0x65e8ac
cmp word [edx + 4], 0x6e69
jne 0x65e8ac
mov edx, dword [esp + 0x90]
mov dword [edx + 0x1c], ecx
mov ebx, dword [0xa8c6b0]
test ebx, ebx
jne 0x65e8a2
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x65e60c
lea edi, [edx + 0x18]
call fcn.0045c330
jmp 0x65e892
cmp dword [edx], 0x75636573
jne 0x65e78c
cmp word [edx + 4], 0x6572
jne 0x65e78c
mov eax, dword [esp + 0x90]
mov byte [eax + 0x40], 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x65e60c
cmp edx, 7
jne 0x65ebe5
mov dword [esp + 0x34], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x84]
cmp dword [edx], 0x69707865
jne 0x65e90d
cmp word [edx + 4], 0x6572
jne 0x65e90d
cmp byte [edx + 6], 0x73
je 0x65e98b
cmp dword [edx], 0x2d78616d
jne 0x65e78c
cmp word [edx + 4], 0x6761
jne 0x65e78c
cmp byte [edx + 6], 0x65
jne 0x65e78c
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004687d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x65e78c
test eax, eax
je 0x65e96a
mov ecx, dword [esp + 0x34]
test ecx, ecx
jbe 0x65ef1e
mov edx, dword [esp + 0x70]
cmp byte [edx], 0x30
je 0x65e78c
test eax, eax
jg 0x65e971
mov eax, 0xffffffff
mov edx, dword [esp + 0x90]
mov dword [edx + 0x3c], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x65e60c
mov edx, dword [esp + 0x90]
mov dword [edx + 0x38], ecx
mov ebx, dword [0xa8c6b0]
test ebx, ebx
jne 0x65ebd8
mov dword [edx + 0x34], eax
lea edi, [esp + 0xf8]
mov edx, eax
xor eax, eax
call fcn.0045c5cb
lea ecx, [0x7f377e]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xc], ebx
mov ebp, dword [0xa6bc74]
mov dword [esp + 0x10], ebp
mov ebp, dword [0xa6bc70]
mov dword [esp + 0x14], ebp
call fcn.004ac8f0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x54], ecx
lea edi, [esp + 0xf8]
mov esi, dword [esp + 0xa0]
call fcn.0045caae
lea edi, [esp + 0xd0]
lea esi, [esp + 0xf8]
call fcn.0045caae
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x65eb1f
lea edi, [esp + 0xbc]
lea esi, [esp + 0xd0]
call fcn.0045caae
lea edi, [esp + 0xa8]
xor eax, eax
call fcn.0045c5cb
nop
nop
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
test edx, 0x80000000
je 0x65eaab
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
shl ebx, 1
mov edx, ecx
shl ecx, 1
shr ebx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
mov dword [esp + 0xc4], ecx
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0xc8], edx
and dword [esp + 0xbc], 0x3fffffff
mov dword [esp + 0xc0], 0
mov dword [esp + 0xcc], 0
lea edi, [esp + 0xa8]
lea esi, [esp + 0xbc]
call fcn.0045caae
mov eax, dword [esp + 0x90]
lea edi, [eax + 0x20]
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x65eaf9
lea esi, [esp + 0xa8]
call fcn.0045caae
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x65e60c
lea eax, [0x7dce80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00410dc0
mov eax, dword [esp + 0x90]
jmp 0x65eae9
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.0045c5cb
lea ecx, [0x7f379b]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov edx, dword [esp + 0x70]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
mov edx, dword [0xa6bc74]
mov dword [esp + 0x10], edx
mov edx, dword [0xa6bc70]
mov dword [esp + 0x14], edx
call fcn.004ac8f0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x60], ecx
lea edi, [esp + 0xe4]
mov esi, dword [esp + 0xa0]
call fcn.0045caae
lea edi, [esp + 0xd0]
lea esi, [esp + 0xe4]
call fcn.0045caae
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x65ea26
mov ecx, dword [esp + 0x90]
lea edi, [ecx + 0x20]
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x65ebc1
xor eax, eax
call fcn.0045c5cb
jmp 0x65e78c
lea eax, [0x7dce80]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00410fc0
jmp 0x65e78c
lea edi, [edx + 0x34]
call fcn.0045c330
jmp 0x65e9a6
cmp edx, 8
jne 0x65e78c
mov edx, dword [esp + 0x84]
cmp dword [edx], 0x70747468
jne 0x65ec21
cmp dword [edx + 4], 0x796c6e6f
jne 0x65ec21
mov eax, dword [esp + 0x90]
mov byte [eax + 0x41], 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x65e60c
cmp dword [edx], 0x656d6173
jne 0x65e78c
cmp dword [edx + 4], 0x65746973
jne 0x65e78c
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004e2fc0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp ecx, 3
jne 0x65ec8e
cmp word [eax], 0x616c
jne 0x65ec7e
cmp byte [eax + 2], 0x78
jne 0x65ec7e
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 2
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x65e60c
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 1
jmp 0x65ec6e
cmp ecx, 4
jne 0x65ecab
cmp dword [eax], 0x656e6f6e
jne 0x65ec7e
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 4
jmp 0x65ec6e
cmp ecx, 6
jne 0x65ec7e
cmp dword [eax], 0x69727473
jne 0x65ec7e
cmp word [eax + 4], 0x7463
jne 0x65ec7e
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 3
jmp 0x65ec6e
mov eax, dword [esp + 0x90]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x58]
lea esi, [edx + 1]
mov ecx, edx
mov edx, dword [esp + 0x98]
mov edi, ebx
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp esi, ebp
ja 0x65ed30
lea ebp, [ecx + 1]
mov dword [eax + 0x54], ebp
lea ebp, [edi + ecx*8 + 4]
mov dword [ebp], edx
mov edx, dword [0xa8c6b0]
lea edi, [edi + ecx*8]
test edx, edx
jne 0x65ed23
mov dword [edi], ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x65e60c
mov ecx, eax
mov eax, ebx
call fcn.0045c330
mov eax, ecx
jmp 0x65ed13
mov dword [esp + 0x64], edx
mov dword [esp + 0x94], ebx
lea eax, [0x7878a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004431f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x90]
mov dword [ebx + 0x58], edx
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x65ed95
mov dword [ebx + 0x50], eax
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x94]
mov edi, eax
mov eax, dword [esp + 0x90]
jmp 0x65ecf7
lea edi, [ebx + 0x50]
call fcn.0045c330
jmp 0x65ed7c
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x64]
xor ebx, ebx
xor edx, edx
jmp 0x65e6e1
mov edi, dword [esp + 0x98]
mov edx, eax
mov eax, ebp
call fcn.0045c330
mov eax, edx
mov edx, edi
jmp 0x65e67d
mov ecx, dword [esp + 0x58]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x5c]
cmp ebx, edx
jb 0x65ee06
mov ebp, dword [esp + 0x8c]
mov esi, dword [0xa8c6b0]
lea edi, [ebp + ecx*4]
test esi, esi
jne 0x65edff
mov dword [ebp + ecx*4], eax
mov eax, ebx
mov ecx, edx
mov edx, ebp
jmp 0x65e3c1
call fcn.0045c330
jmp 0x65edf4
lea eax, [0x7923e0]
mov dword [esp], eax
mov ebp, dword [esp + 0x8c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004431f0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x58]
jmp 0x65ede2
lea edi, [eax + 0x48]
mov ecx, eax
mov eax, dword [esp + 0x88]
call fcn.0045c330
mov eax, ecx
jmp 0x65e5f3
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x74]
call fcn.0045c330
mov eax, ecx
jmp 0x65e5d4
mov edi, eax
mov eax, dword [esp + 0x7c]
call fcn.0045c330
mov eax, edi
jmp 0x65e5b8
mov dword [esp + 0x64], esi
mov dword [esp + 0x74], eax
mov dword [esp], ebp
mov dword [esp + 4], ecx
lea eax, [0x80a1c8]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004e3380
mov eax, dword [esp + 0x10]
test eax, eax
setl dl
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x64]
jmp 0x65e535
call fcn.0045c330
jmp 0x65e4bc
mov dword [esp + 0x114], edi
mov dword [esp + 0x118], ebp
mov dword [esp + 0x11c], esi
add esp, 0x10c
ret
lea eax, [0xa8c444]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
add esp, 0x10c
ret
xor eax, eax
call fcn.0045c3b0
mov ecx, edx
call fcn.0045c410
call fcn.0045c3d0
mov eax, ecx
mov ecx, ebx
call fcn.0045c3b0
mov ecx, edx
call fcn.0045c410
call fcn.0045c3d0
xor eax, eax
call fcn.0045c3b0
nop
call fcn.0045ade0
jmp fcn.0065e2e0