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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x691e33
sub esp, 0xb4
lea ecx, [0x832300]
mov edx, dword [esp + 0xb8]
mov dword [edx + 0xc], ecx
mov ecx, dword [0xa918d0]
test ecx, ecx
jne 0x691dfc
mov eax, dword [esp + 0xc8]
mov dword [edx + 0x10], eax
mov dword [esp], edx
call fcn.0068fc10
mov eax, dword [esp + 4]
mov dword [esp + 0x3c], 8
lea ecx, [0x7c3d9c]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.0042a4a0
test eax, eax
jne 0x691def
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0xb8]
mov dword [esp], edx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xc0]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0xc4]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.006920e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00697540
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], edx
nop
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea esi, [0x69f170]
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0xc8]
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebp
nop
mov ebp, edx
and edx, 0x1f
cmp edx, 0x11
jbe 0x691dd9
cmp edx, 0x12
jne 0x691acb
lea edi, [edx - 0x12]
cmp edi, 1
ja 0x691a87
test ebp, 0x200
je 0x691a64
xor edx, edx
jmp 0x69192a
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa4]
lea edx, [esp + 0xa4]
call eax
mov eax, dword [esp + 0x2c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x2c], edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0047fa50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x18]
mov ebx, dword [esp + 0x14]
test dl, dl
je 0x6919f4
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00407db0
mov eax, dword [esp + 4]
nop
movzx ecx, byte [0xa7e5f0]
test cl, cl
je 0x6919ec
lea ecx, [0x747a40]
mov dword [0xa7e5f4], ecx
mov ebx, dword [0xa918d0]
test ebx, ebx
jne 0x6919df
mov dword [0xa7e5f8], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
mov ebx, dword [esp + 0x88]
test ebx, ebx
je 0x6919d4
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x6918e4
or ebp, 0x80
jmp 0x6918e4
xor ebp, ebp
xor eax, eax
xor ebx, ebx
jmp 0x6918e4
lea edi, [0xa7e5f8]
call fcn.00451480
jmp 0x69199b
lea ecx, [0x747a40]
jmp 0x69199b
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x691a57
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x691a17
nop
call fcn.0042abe0
add esp, 0xb4
ret
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xc], ecx
lea ecx, [0x832200]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.00690b90
jmp 0x691a0a
nop
call fcn.0042abe0
add esp, 0xb4
ret
test ebp, 0x80
je 0x691a83
mov edx, dword [eax]
test edx, edx
setne dl
xor edx, 1
test dl, dl
je 0x6918e0
jmp 0x6919fc
mov edx, eax
jmp 0x691a6e
mov dword [esp + 0x38], edx
lea eax, [0x764780]
mov dword [esp], eax
call fcn.0040a580
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xa918d0]
test eax, eax
jne 0x691abb
lea eax, [0x7ab3bb]
mov dword [edi], eax
jmp 0x691e10
lea eax, [0x7ab3bb]
call fcn.00451480
jmp 0x691e10
cmp edx, 0x15
je 0x691cfa
cmp edx, 0x17
jne 0x691c5f
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0047e540
mov eax, dword [esp + 0xc]
test eax, eax
je 0x6919fc
xor eax, eax
jmp 0x691b97
mov dword [esp + 0x20], ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x78]
mov dword [esp], ecx
mov ebp, dword [esp + 0x7c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x24]
mov dword [esp + 0xc], edi
call fcn.0047d790
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa4]
lea edx, [esp + 0xa4]
call eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x78]
mov dword [esp], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x38]
mov dword [esp + 8], ebx
call fcn.0047e540
mov eax, dword [esp + 0x24]
cmp dword [esp + 0xc], eax
jle 0x691c52
mov dword [esp], eax
call fcn.00407db0
mov eax, dword [esp + 4]
nop
movzx ecx, byte [0xa7e5f0]
test cl, cl
je 0x691c4a
lea ecx, [0x747a40]
mov dword [0xa7e5f4], ecx
mov edx, dword [0xa918d0]
test edx, edx
jne 0x691c3d
mov dword [0xa7e5f8], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
mov edx, dword [esp + 0x80]
test edx, edx
je 0x691c32
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x691b00
or ebx, 0x80
jmp 0x691b00
xor ebx, ebx
xor eax, eax
xor edx, edx
jmp 0x691b00
lea edi, [0xa7e5f8]
call fcn.00451480
jmp 0x691bf9
lea ecx, [0x747a40]
jmp 0x691bf9
nop
call fcn.0042abe0
add esp, 0xb4
ret
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
lea eax, [0x7a4920]
mov dword [esp], eax
lea eax, [esp + 0x98]
mov dword [esp + 4], eax
call fcn.00407ce0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
lea ecx, [0x7af691]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1b
lea ecx, [esp + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.0068ffc0
jmp 0x6919fc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0047e540
mov eax, dword [esp + 0xc]
test eax, eax
je 0x6919fc
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.0048e000
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
jle 0x691dcc
mov dword [esp + 0x68], eax
mov dword [esp + 0x30], ecx
xor ebx, ebx
jmp 0x691d5c
mov ebp, dword [esp + 0x6c]
lea edx, [ebp + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x68]
mov ebp, dword [edx + 8]
mov dword [esp + 0x38], ebp
mov esi, dword [edx + 4]
mov dword [esp + 0x7c], esi
mov edi, dword [edx]
mov ebp, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
cmp ebx, ebp
jae 0x691e29
mov dword [esp + 0x6c], edx
mov dword [esp + 0x28], ebx
lea eax, [ebx + ebx*2]
mov ecx, dword [esi + eax*4]
mov ebp, dword [esi + eax*4 + 8]
mov eax, dword [esi + eax*4 + 4]
mov dword [esp], edi
mov esi, dword [esp + 0x7c]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0xa4]
lea edx, [esp + 0xa4]
call eax
mov eax, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jl 0x691d4f
nop
call fcn.0042abe0
add esp, 0xb4
ret
test edx, edx
je 0x6919fc
cmp edx, 0x11
je 0x691add
jmp 0x691c5f
nop
call fcn.0042abe0
add esp, 0xb4
ret
lea edi, [edx + 0x10]
mov eax, dword [esp + 0xc8]
call fcn.00451480
jmp 0x691788
mov eax, dword [esp + 0x38]
mov dword [edi + 8], eax
lea eax, [0x7535a0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0042af30
mov eax, ebx
mov ecx, ebp
call fcn.00451500
nop
call fcn.0044fc40
jmp fcn.00691740