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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x689233
sub esp, 0x9c
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0xa4]
cmp edx, ecx
jg 0x689151
xor ecx, ecx
jmp 0x688e56
mov ebx, dword [esp + 0x30]
lea ecx, [ebx + 1]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov eax, ebx
mov edx, ebp
cmp ecx, edx
jge 0x689015
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
cmp ecx, ebp
jae 0x68914a
mov dword [esp + 0x30], ecx
lea edx, [ecx + ecx*4]
lea esi, [ebx + edx*4]
lea edi, [esp + 0x88]
call fcn.0044ce3e
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x30]
add ecx, edx
mov dword [esp + 0x40], ecx
add ecx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x3c], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 4], eax
lea eax, [0x80fa20]
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
mov ebp, dword [esp + 0x88]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
call fcn.0040e700
mov eax, dword [esp + 0x30]
mov ecx, eax
sar eax, 0x1f
mov edx, dword [esp + 0x44]
add edx, ecx
mov edx, dword [esp + 0x3c]
adc eax, edx
mov edx, dword [esp + 0x40]
add edx, 1
adc eax, 0
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
cmp ebx, eax
sete bl
mov ebp, dword [esp + 0x34]
cmp edx, ebp
sete dl
and edx, ebx
test dl, dl
jne 0x688fde
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edx
mov ebp, dword [esp + 0xa0]
mov esi, dword [ebp + 0x18]
mov dword [esp + 4], esi
lea esi, [0x80dfa0]
mov dword [esp], esi
lea edi, [esp + 0x68]
mov dword [esp + 8], edi
call fcn.0040ac10
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov edx, dword [esp + 0x38]
cmp ecx, edx
sete cl
mov edx, dword [esp + 0x34]
cmp eax, edx
sete al
and eax, ecx
test al, al
jne 0x688f95
jmp 0x688e3d
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x18]
mov dword [esp + 4], ecx
lea ecx, [0x80dfa0]
mov dword [esp], ecx
lea edx, [esp + 0x58]
mov dword [esp + 8], edx
call fcn.0040b650
jmp 0x688e3d
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x14]
mov dword [esp + 4], ecx
lea ecx, [0x80fa20]
mov dword [esp], ecx
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.0040f160
jmp 0x688f0f
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x689143
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x865d40]
mov dword [esp], eax
sub ecx, edx
lea eax, [edx + edx*4]
shl eax, 2
mov esi, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, ebp
mov dword [esp + 0x10], eax
sub ebx, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], esi
call fcn.0040f9e0
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0xa4]
sub ecx, edx
jmp 0x68907e
mov ebp, dword [esp + 0x2c]
lea ecx, [ebp + 1]
mov eax, ebx
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 4]
mov esi, dword [eax]
cmp ecx, ebp
jge 0x6890d3
jae 0x68913c
mov dword [esp + 0x2c], ecx
lea ebx, [ecx + ecx*4]
mov ebp, dword [0xc6f140]
lea edi, [esi + ebx*4]
test ebp, ebp
jne 0x6890af
mov ebx, eax
xor eax, eax
call fcn.0044c95b
jmp 0x689075
lea eax, [0x865d40]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0040fba0
xor eax, eax
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
jmp 0x689075
sub ebp, edx
test ebp, ebp
jl 0x689135
cmp ebp, ebx
ja 0x689135
mov dword [eax + 4], ebp
mov ecx, dword [eax + 0xc]
mov ebx, ecx
add ecx, edx
mov ebp, dword [eax + 0x10]
mov esi, edx
sar edx, 0x1f
add esi, ebx
adc edx, ebp
cmp edx, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ecx, ebx
setb bl
and esi, ebx
cmp edx, ebp
setb bl
or ebx, esi
test bl, bl
jne 0x68911b
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
add esp, 0x9c
ret
lea eax, [0x80a3e0]
mov dword [esp], eax
lea eax, [0x91f4e0]
mov dword [esp + 4], eax
call fcn.00427650
ud2
call fcn.00426870
ud2
call fcn.00426770
ud2
call fcn.00426870
ud2
call fcn.00426770
ud2
mov dword [esp + 0x20], ecx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea eax, [0x809b20]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00407440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
lea eax, [0x809b20]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.00407440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
lea eax, [0x8ae00a]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0290
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
lea eax, [0x80a3e0]
mov dword [esp], eax
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
call fcn.00407520
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00427650
ud2
call fcn.0044b100
jmp fcn.00688e00