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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x68719c
sub esp, 0x88
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x98]
cmp ecx, eax
jle 0x6869de
jbe 0x687196
lea ebx, [eax + 1]
mov ebp, dword [esp + 0x8c]
movzx esi, byte [eax + ebp]
cmp ecx, ebx
jle 0x686981
mov edx, esi
and esi, 0x1f
xchg esi, eax
cmp al, 0x1f
xchg esi, eax
je 0x68717d
jmp 0x686a3b
lea eax, [0x6f2340]
mov dword [esp], eax
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3c
lea ecx, [0x74f601]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x7aaeb4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
lea eax, [0x6f2340]
mov dword [esp], eax
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x28
lea ecx, [0x745f1e]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x7aaeb4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
cmp ecx, ebx
jbe 0x687175
mov dword [esp + 0x28], ebx
movzx esi, byte [ebx + ebp]
lea edi, [ebx + 1]
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jbe 0x686bd8
and esi, 0x7f
cmp esi, 4
jg 0x686b7b
jne 0x686adf
cmp ecx, edi
jbe 0x68716e
movzx eax, byte [ebx + ebp + 1]
cmp eax, 0x7f
jg 0x686a82
mov eax, dword [esp + 0x98]
jmp 0x686adf
lea eax, [0x6f2340]
mov dword [esp], eax
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x23
lea ecx, [0x7429ea]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x7aaeb4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
cmp ecx, edi
jbe 0x687167
movzx eax, byte [ebx + ebp + 1]
test eax, eax
je 0x686b1e
lea eax, [ebx + esi + 1]
mov ebx, dword [esp + 0x94]
cmp ebx, eax
jb 0x68715e
cmp eax, edi
jb 0x687155
mov byte [esp + 0x27], dl
xor eax, eax
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
jmp 0x687135
lea eax, [0x6f2340]
mov dword [esp], eax
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x28
lea ecx, [0x745f46]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x7aaeb4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
lea eax, [0x6f2340]
mov dword [esp], eax
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x740e6e]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x7aaeb4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
jne 0x686be1
mov esi, 0
jmp 0x686be6
xchg esi, eax
movzx eax, al
xchg esi, eax
sete al
test esi, esi
jl 0x686db1
mov dword [esp + 0x34], esi
add esi, edi
cmp ecx, esi
jl 0x686d54
mov ebx, dword [esp + 0x94]
cmp ebx, esi
jb 0x68710c
cmp edi, esi
ja 0x687103
mov dword [esp + 0x38], esi
mov byte [esp + 0x26], al
sub ebx, edi
mov dword [esp + 0x44], ebx
neg ebx
sar ebx, 0x1f
and ebx, edi
add ebx, ebp
test al, al
je 0x686c97
test dl, 0x20
jne 0x686d38
lea eax, [0x6f2340]
mov dword [esp], eax
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3b
lea ecx, [0x74ee0a]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x7aaeb4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
test dl, 0x20
jne 0x686d38
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x28]
cmp edx, ecx
ja 0x6870fc
mov dword [esp + 0x40], edi
lea edi, [esp + 0x6c]
xor eax, eax
call fcn.004686f9
mov ecx, dword [esp + 0x94]
sub ecx, edx
mov esi, dword [esp + 0x28]
sub esi, edx
mov eax, ecx
neg ecx
sar ecx, 0x1f
and edx, ecx
lea ecx, [ebp + edx]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x84], ecx
lea ecx, [0x70c9a0]
mov dword [esp], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 4], ecx
call fcn.00409bb0
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 0x26]
test dl, dl
mov eax, dword [esp + 0x40]
lea edx, [0x7ab550]
jmp 0x6870b6
mov edx, dword [esp + 0x94]
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 0x48], ebx
xor ebx, ebx
mov dword [esp + 0x2c], ebx
xor ebx, ebx
jmp 0x686e3e
lea eax, [0x6f2340]
mov dword [esp], eax
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x33
lea ecx, [0x74b8a1]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x7aaeb4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
lea eax, [0x6f2340]
mov dword [esp], eax
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x37
lea ecx, [0x74d4ba]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x7aaeb4]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x8c]
mov eax, ebx
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 0x44]
mov ebx, esi
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x30], ebx
cmp edi, esi
jl 0x686e4e
test al, al
je 0x687028
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
call fcn.00686920
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x686fea
mov dword [esp + 0x44], ecx
mov ebp, dword [esp + 0x2c]
inc ebp
mov esi, dword [esp + 0x30]
cmp esi, ebp
jb 0x686e91
mov eax, dword [esp + 0x48]
jmp 0x686ed9
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x6f0d20]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
mov esi, ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x48], eax
lea edi, [eax + ebp*8 - 8]
mov dword [edi], ebx
mov ebx, dword [0x9eca70]
lea edi, [eax + ebp*8 - 4]
test ebx, ebx
jne 0x686efa
movzx ebx, byte [esp + 0x26]
test bl, bl
jmp 0x686f20
mov ebx, edi
call fcn.00468460
mov dword [edi], edx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov eax, ebp
movzx ebp, byte [esp + 0x26]
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebp, eax
mov edi, ebx
mov eax, dword [esp + 0x48]
movzx ebx, byte [esp + 0x26]
mov dword [edi], edx
je 0x686e0e
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], esi
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov edx, dword [esp + 0x90]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x94]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.006871b0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x686fac
movzx edx, byte [esp + 0x10]
test dl, dl
jne 0x686f84
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
movzx ebx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x686e0e
movzx eax, byte [esp + 0x26]
mov edx, dword [esp + 0x94]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jmp 0x68702c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
add esp, 0x88
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
add esp, 0x88
ret
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ebx
mov esi, dword [esp + 0x98]
mov ebx, dword [esp + 0x28]
cmp esi, ebx
ja 0x6870f3
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], edi
lea edi, [esp + 0x54]
xor eax, eax
call fcn.004686fa
sub edx, esi
sub ebx, esi
mov ecx, edx
neg edx
sar edx, 0x1f
and esi, edx
lea edx, [ebp + esi]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x68], ecx
lea ecx, [0x707760]
mov dword [esp], ecx
lea ecx, [esp + 0x54]
mov dword [esp + 4], ecx
call fcn.00409bb0
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 0x26]
test dl, dl
mov eax, dword [esp + 0x44]
lea edx, [0x7ab564]
je 0x6870bd
lea esi, [eax + 2]
jmp 0x6870c1
mov esi, dword [esp + 0x38]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
add esp, 0x88
ret
mov eax, esi
mov ecx, ebx
call fcn.00468520
mov eax, edx
call fcn.00468520
mov eax, edi
mov ecx, esi
call fcn.00468520
mov ecx, esi
mov edx, ebx
call fcn.00468500
mov edx, dword [esp + 0x34]
shl edx, 8
movzx ebx, byte [ebp + edi]
inc eax
add edx, ebx
inc edi
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x34], edx
movzx edx, byte [esp + 0x27]
cmp eax, esi
jge 0x68713f
cmp ecx, edi
ja 0x687115
jmp 0x68714e
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x34]
xor eax, eax
jmp 0x686be9
mov eax, edi
call fcn.004684c0
mov ecx, eax
mov eax, edi
call fcn.00468520
mov ecx, eax
mov edx, ebx
call fcn.00468500
mov eax, edi
call fcn.004684c0
mov eax, edi
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
inc ebx
cmp ecx, ebx
jbe 0x68718f
lea esi, [ebx + ebp]
cmp byte [esi], 0x80
jae 0x68717c
inc ebx
jmp 0x686a3b
mov eax, ebx
call fcn.004684c0
call fcn.004684c0
nop
call fcn.00467050
jmp fcn.00686920