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

Disassembly:
sub esp, 0x84
push ebx
mov ebx, dword [esp + 0x8c]
push ebp
push esi
push edi
xor esi, esi
push 0xffffffffffffffff
push ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
call fcn.006864d0
mov ecx, dword [ebx + 0x58]
add esp, 8
cmp ecx, 2
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
jl 0x6894f2
cmp dword [ebx + 4], esi
jne 0x688edf
pop edi
pop esi
pop ebp
mov eax, 0xffffff76
pop ebx
add esp, 0x84
ret
mov edi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
cmp edi, esi
jl 0x6894f2
jg 0x688eff
cmp ecx, esi
jb 0x6894f2
cmp edi, edx
jg 0x6894f2
jl 0x688f11
cmp ecx, eax
ja 0x6894f2
mov ecx, dword [ebx + 0x34]
dec ecx
mov dword [esp + 0x28], ecx
js 0x688f53
mov ebp, dword [ebx + 0x44]
mov esi, ecx
shl esi, 4
lea esi, [esi + ebp + 8]
mov ebp, dword [esi]
sub eax, ebp
mov ebp, dword [esi + 4]
sbb edx, ebp
cmp edi, edx
jg 0x688f47
jl 0x688f3f
cmp dword [esp + 0x9c], eax
jae 0x688f47
dec ecx
sub esi, 0x10
test ecx, ecx
jge 0x688f27
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
mov esi, dword [ebx + 0x38]
mov edx, dword [esi + ecx*8 + 0xc]
mov eax, dword [esi + ecx*8 + 8]
mov ebp, dword [esi + ecx*8 + 4]
mov dword [esp + 0x1c], edx
mov edx, dword [esi + ecx*8]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x20], edx
shl ecx, 4
add ecx, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ebp
mov edi, dword [ecx]
mov esi, dword [ecx + 8]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 0xc]
add esi, edi
mov dword [esp + 0x3c], edi
adc ecx, eax
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x50], ecx
mov ecx, edi
mov edi, dword [esp + 0x30]
sub ecx, esi
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x40], eax
sbb eax, edi
add ecx, esi
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xa0]
adc eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
cmp ebp, eax
jg 0x689289
jl 0x688fe0
cmp edx, dword [esp + 0x18]
jae 0x689289
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
sub ecx, edi
sbb eax, ebp
test eax, eax
jg 0x689006
jl 0x688ffe
cmp ecx, 0x10000
jae 0x689006
mov edi, dword [esp + 0x20]
mov esi, ebp
jmp 0x689067
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
sub edx, esi
sbb edi, dword [esp + 0x40]
push eax
push ecx
push edi
push edx
call fcn.0057f267
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x40]
sub ecx, esi
mov esi, dword [esp + 0x50]
sbb esi, edi
push esi
push ecx
push edx
push eax
call fcn.0057f30c
mov ecx, dword [esp + 0x20]
mov edi, eax
mov esi, edx
add edi, ecx
adc esi, ebp
sub edi, 0x10000
sbb esi, 0
cmp esi, ebp
jg 0x689067
jl 0x68905b
mov eax, ecx
cmp edi, eax
ja 0x689067
mov edi, dword [esp + 0x20]
mov esi, ebp
add edi, 1
adc esi, 0
push esi
push edi
push ebx
call fcn.00686fb0
cdq
add esp, 0xc
mov dword [esp + 0x10], eax
or eax, edx
jne 0x6894d1
mov edx, dword [esp + 0x18]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
sub edx, eax
mov eax, dword [esp + 0x1c]
sbb eax, ecx
lea ecx, [esp + 0x64]
push eax
push edx
push ecx
push ebx
call fcn.00686c20
add esp, 0x10
cmp eax, 0xffffff80
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
jne 0x6890b9
mov eax, edx
cmp eax, 0xffffffff
je 0x6894d1
mov eax, dword [esp + 0x14]
test eax, eax
jg 0x68912d
jl 0x6890cb
mov eax, dword [esp + 0x10]
test eax, eax
jae 0x68912d
mov ecx, dword [esp + 0x20]
mov eax, ebp
add ecx, 1
adc eax, 0
cmp esi, eax
jl 0x689289
jg 0x6890e9
cmp edi, ecx
jbe 0x689289
mov edx, edi
or edx, esi
je 0x6894d1
add edi, 0xffff0000
adc esi, 0xffffffff
cmp esi, ebp
jg 0x68910c
jl 0x689108
cmp edi, dword [esp + 0x20]
ja 0x68910c
mov edi, ecx
mov esi, eax
push esi
push edi
push ebx
call fcn.00686fb0
cdq
add esp, 0xc
mov dword [esp + 0x10], eax
or eax, edx
mov dword [esp + 0x14], edx
jne 0x6894d1
jmp 0x689240
lea eax, [esp + 0x64]
push eax
call fcn.0057b027
mov ecx, dword [ebx + 0x40]
mov edx, dword [esp + 0x2c]
add esp, 4
cmp eax, dword [ecx + edx*4]
jne 0x689240
lea eax, [esp + 0x64]
push eax
call fcn.0057fcd5
mov ecx, eax
add esp, 4
and ecx, edx
cmp ecx, 0xffffffff
je 0x689240
cmp edx, dword [esp + 0x38]
jg 0x6891bd
jl 0x689172
cmp eax, dword [esp + 0x34]
jae 0x6891bd
mov ecx, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x34]
mov ebp, dword [ebx + 0xc]
mov dword [esp + 0x3c], eax
sub ecx, eax
mov eax, dword [esp + 0x38]
sbb eax, edx
mov dword [esp + 0x20], edi
test eax, eax
mov dword [esp + 0x40], edx
jg 0x68926d
jl 0x6891b6
cmp ecx, 0xac44
ja 0x68926d
mov esi, ebp
jmp 0x689240
mov ecx, dword [esp + 0x20]
add ecx, 1
mov dword [esp + 0x54], ecx
mov ecx, ebp
adc ecx, 0
cmp esi, ecx
mov dword [esp + 0x58], ecx
jl 0x689289
jg 0x6891e5
cmp edi, dword [esp + 0x54]
jbe 0x689289
mov ecx, dword [esp + 0x18]
cmp ecx, dword [ebx + 8]
jne 0x68925d
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [ebx + 0xc]
jne 0x68925d
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add edi, 0xffff0000
mov dword [esp + 0x18], edx
adc esi, 0xffffffff
mov dword [esp + 0x1c], eax
cmp esi, ebp
jg 0x689224
jl 0x68921c
cmp edi, dword [esp + 0x20]
ja 0x689224
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
push esi
push edi
push ebx
call fcn.00686fb0
cdq
add esp, 0xc
mov dword [esp + 0x10], eax
or eax, edx
mov dword [esp + 0x14], edx
jne 0x6894d1
cmp ebp, dword [esp + 0x1c]
jg 0x689289
jl 0x68907f
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
cmp eax, ecx
jae 0x689289
jmp 0x68907f
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
cmp ebp, dword [esp + 0x1c]
jl 0x688fe0
jg 0x689289
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
cmp eax, edx
jb 0x688fe0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push ebx
call fcn.00686fb0
cdq
or edi, 0xffffffff
add esp, 0xc
mov dword [esp + 0x10], eax
mov dword [ebx + 0x50], edi
or eax, edx
mov dword [ebx + 0x54], edi
jne 0x6894d1
push edi
lea edx, [esp + 0x58]
push edi
push edx
push ebx
call fcn.00686c20
xor ebp, ebp
add esp, 0x10
cmp edx, ebp
mov dword [esp + 0x10], eax
jl 0x6894d1
jg 0x6892da
cmp eax, ebp
jb 0x6894d1
mov esi, dword [esp + 0x28]
mov eax, dword [ebx + 0x60]
cmp esi, eax
je 0x689303
push ebx
call fcn.00687ff0
mov eax, dword [ebx + 0x40]
mov dword [ebx + 0x60], esi
add esp, 4
mov ecx, dword [eax + esi*4]
mov dword [ebx + 0x58], 3
mov dword [ebx + 0x5c], ecx
jmp 0x689312
lea edx, [ebx + 0x1e0]
push edx
call fcn.0057b27a
add esp, 4
mov eax, dword [ebx + 0x5c]
lea esi, [ebx + 0x78]
push eax
push esi
call fcn.0057f8cf
lea ecx, [esp + 0x5c]
push ecx
push esi
call fcn.0057f06e
add esp, 0x10
lea edx, [esp + 0x74]
push edx
push esi
call fcn.0057e434
cdq
mov ecx, eax
add esp, 8
or ecx, edx
je 0x68937a
cmp edx, ebp
jl 0x689428
jg 0x689354
cmp eax, ebp
jb 0x689428
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov edx, eax
and edx, ecx
cmp edx, edi
jne 0x689435
push ebp
push esi
call fcn.0057fe1a
add esp, 8
jmp 0x68932d
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push eax
push ecx
push ebx
call fcn.00686fb0
cdq
add esp, 0xc
cmp edx, ebp
mov dword [esp + 0x10], eax
jl 0x6894d1
jg 0x6893a4
cmp eax, ebp
jb 0x6894d1
lea edx, [esp + 0x54]
push edx
push ebx
call fcn.00687030
mov esi, edx
add esp, 8
mov edi, eax
cmp esi, ebp
mov dword [esp + 0x10], edi
jl 0x6894d1
jg 0x6893cc
cmp edi, ebp
jb 0x6894d1
lea eax, [esp + 0x54]
push eax
call fcn.0057b027
mov ecx, dword [ebx + 0x5c]
add esp, 4
cmp eax, ecx
jne 0x68940a
lea ecx, [esp + 0x54]
push ecx
call fcn.0057fcd5
add esp, 4
cmp edx, 0xffffffff
jg 0x689412
jl 0x6893f9
cmp eax, 0xffffffff
ja 0x689412
lea edx, [esp + 0x54]
push edx
call fcn.0057a96a
add esp, 4
test eax, eax
je 0x689412
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], esi
jmp 0x6893a4
push esi
push edi
push ebx
call fcn.00687bf0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov dword [esp + 0x10], 0xffffff78
jmp 0x6894cd
mov edx, dword [ebx + 0x60]
mov esi, dword [ebx + 0x44]
shl edx, 4
add edx, esi
sub eax, dword [edx]
mov esi, dword [edx + 4]
mov dword [ebx + 0x50], eax
sbb ecx, esi
mov eax, ecx
mov dword [ebx + 0x54], ecx
cmp eax, ebp
jg 0x689460
jl 0x68945a
cmp dword [ebx + 0x50], ebp
jae 0x689460
mov dword [ebx + 0x50], ebp
mov dword [ebx + 0x54], ebp
mov eax, dword [esp + 0x2c]
mov esi, dword [ebx + 0x50]
mov ecx, dword [esp + 0x30]
add esi, eax
mov dword [ebx + 0x50], esi
mov edx, dword [ebx + 0x54]
mov esi, dword [esp + 0xa0]
adc edx, ecx
cmp edx, esi
mov dword [ebx + 0x54], edx
jg 0x6894c5
jl 0x689493
mov eax, dword [ebx + 0x50]
mov ecx, dword [esp + 0x9c]
cmp eax, ecx
ja 0x6894c5
push edi
push ebx
call fcn.006864d0
add esp, 8
cmp esi, edx
jg 0x6894c5
jl 0x6894ac
cmp dword [esp + 0x9c], eax
ja 0x6894c5
mov dword [ebx + 0x68], ebp
mov dword [ebx + 0x70], ebp
pop edi
mov dword [ebx + 0x6c], ebp
mov dword [ebx + 0x74], ebp
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x84
ret
mov dword [esp + 0x10], 0xffffff7f
mov dword [esp + 0x14], edi
or eax, 0xffffffff
push ebx
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], eax
call fcn.00687ff0
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffff7d
pop ebx
add esp, 0x84
ret