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

Disassembly:
push 0xffffffffffffffff
push 0x6cd080
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x80]
mov esi, ecx
mov dword [esp + 0x10], esi
mov eax, dword [edi + 8]
test eax, eax
je 0x686d01
mov ecx, dword [edi + 4]
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [esi + 0xe0c]
call fcn.00686ed0
test eax, eax
je 0x686d1b
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x686cc6
test byte [esp + 0x44], 1
jne 0x686ceb
mov edx, dword [esp + 0x48]
mov ecx, dword [esi + 0xe0c]
lea eax, [esp + 0x14]
push edx
push eax
call fcn.0066b150
mov edi, str.ECU_
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x78], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str.ECU_
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x1c]
not ecx
dec ecx
cmp eax, edx
mov ebp, ecx
jae 0x686b3e
mov edx, eax
cmp edx, ebp
mov ecx, edx
jb 0x686b46
mov ecx, ebp
mov ebx, dword [esp + 0x18]
mov edi, str.ECU_
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x686b5c
sbb eax, eax
sbb eax, 0xffffffff
xor edi, edi
cmp eax, edi
jne 0x686c85
cmp edx, ebp
jb 0x686c85
xor eax, eax
cmp edx, ebp
setne al
cmp eax, edi
jne 0x686c85
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x24]
mov edx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x10]
push edx
push eax
mov ecx, dword [ecx + 0xe0c]
call fcn.0066b150
mov esi, eax
mov dl, byte [esp + 0x14]
push edi
lea ecx, [esp + 0x54]
mov byte [esp + 0x7c], 1
mov byte [esp + 0x54], dl
call fcn.004138a0
mov eax, dword [0x6ce1fc]
lea ecx, [esp + 0x14]
push eax
push edi
push ecx
lea ecx, [esp + 0x5c]
call fcn.004136a0
mov dl, byte [esi]
push edi
lea ecx, [esp + 0x64]
mov byte [esp + 0x7c], 2
mov byte [esp + 0x64], dl
call fcn.004138a0
mov eax, dword [0x6ce1fc]
lea ecx, [esp + 0x60]
push eax
push edi
push esi
call fcn.004136a0
mov ecx, dword [esp + 0x84]
lea edx, [esp + 0x50]
push edx
push 1
mov eax, dword [ecx + 8]
mov byte [esp + 0x80], 3
push eax
call fcn.0062d5c0
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x7c], 1
call fcn.004138a0
mov eax, dword [esp + 0x54]
cmp eax, edi
je 0x686c44
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x686c3b
cmp al, 0xff
je 0x686c3b
dec al
mov byte [ecx], al
jmp 0x686c44
push ecx
call fcn.00697880
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edi
cmp eax, edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
je 0x686c75
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x686c6c
cmp al, 0xff
je 0x686c6c
dec al
mov byte [ecx], al
jmp 0x686c75
push ecx
call fcn.00697880
add esp, 4
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
cmp ebx, edi
mov dword [esp + 0x78], 0xffffffff
je 0x686cad
mov al, byte [ebx - 1]
test al, al
je 0x686ca3
cmp al, 0xff
je 0x686ca3
dec al
mov byte [ebx - 1], al
jmp 0x686cad
dec ebx
push ebx
call fcn.00697880
add esp, 4
mov esi, dword [esp + 0x10]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x80]
jmp 0x686ceb
mov eax, dword [esp + 0x88]
test eax, eax
je 0x686ceb
mov eax, dword [esp + 0x84]
push 1
lea ecx, [esp + 0x38]
push eax
push ecx
mov ecx, esi
call fcn.00686a90
test eax, eax
je 0x686d1b
mov ecx, dword [edi + 4]
mov eax, dword [edi + 8]
add ecx, 0x1c
dec eax
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
jne 0x686ac4
mov eax, 1
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x6c
ret 0xc
xor eax, eax
jmp 0x686d06