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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
mov eax, dword [ebp + 8]
push ebx
push esi
xor esi, esi
add eax, 0x220
cmp dword [eax], esi
push edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
je 0x685b6e
lea edi, [esp + 0xa8]
call fcn.00686ba0
mov edx, dword [eax]
lea ecx, [esp + 0x3c]
push ecx
push edx
call fcn.0068bf40
mov ebx, dword [esp + 0x3c]
cmp ebx, esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], esi
je 0x685b6e
add dword [esp + 0x20], 1
cmp ebx, esi
je 0x685985
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.006801e0
push edi
mov eax, esi
call fcn.00680680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x685987
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x6859b8
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.006801e0
mov eax, dword [esp + 0x10]
push esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
jmp 0x6859ba
xor edi, edi
mov eax, dword [edi + 0x214]
add eax, eax
cmp eax, dword [esp + 0x14]
jbe 0x685a35
test ebx, ebx
je 0x6859f4
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.006801e0
push edi
mov eax, esi
call fcn.00680680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x6859f6
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x685a27
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.006801e0
mov eax, dword [esp + 0x10]
push esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
jmp 0x685a29
xor edi, edi
mov edi, dword [edi + 0x214]
add edi, edi
mov dword [esp + 0x14], edi
test ebx, ebx
je 0x685a61
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.006801e0
push edi
mov eax, esi
call fcn.00680680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x685a63
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x685a94
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.006801e0
mov eax, dword [esp + 0x10]
push esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
jmp 0x685a96
xor edi, edi
mov ecx, dword [edi + 0x21c]
add ecx, ecx
cmp ecx, dword [esp + 0x18]
jbe 0x685b11
test ebx, ebx
je 0x685ad0
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.006801e0
push edi
mov eax, esi
call fcn.00680680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x685ad2
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x685b03
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.006801e0
mov eax, dword [esp + 0x10]
push esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
jmp 0x685b05
xor edi, edi
mov edi, dword [edi + 0x21c]
add edi, edi
mov dword [esp + 0x18], edi
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x220]
add eax, 0x220
test edi, edi
je 0x685b4d
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.006801e0
mov eax, dword [esp + 0x10]
push esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
jmp 0x685b4f
xor edi, edi
push ebx
lea edx, [esp + 0xb4]
push edx
push edi
call fcn.00687be0
mov ebx, dword [eax]
xor esi, esi
cmp ebx, esi
jne 0x685954
mov dword [esp + 0x3c], ebx
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x224]
cmp edi, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
je 0x685dc9
mov eax, dword [0x100ef85c]
mov ebx, edi
mov esi, eax
shr ebx, 0x10
push eax
mov eax, ebx
call fcn.006801e0
push ebx
mov eax, esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
lea ecx, [esp + 0x34]
push ecx
push edi
call fcn.0068bf40
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x685dc9
add dword [esp + 0x1c], 1
test ebx, ebx
je 0x685bf7
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.006801e0
push edi
mov eax, esi
call fcn.00680680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x685bf9
xor ecx, ecx
mov edi, dword [ecx + 0x1c]
test edi, edi
je 0x685c2a
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.006801e0
mov eax, dword [esp + 0x10]
push esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
jmp 0x685c2c
xor edi, edi
mov edx, dword [edi + 8]
add edx, edx
cmp edx, dword [esp + 0x24]
jbe 0x685ca1
test ebx, ebx
je 0x685c63
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.006801e0
push edi
mov eax, esi
call fcn.00680680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x685c65
xor ecx, ecx
mov edi, dword [ecx + 0x1c]
test edi, edi
je 0x685c96
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.006801e0
mov eax, dword [esp + 0x10]
push esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
jmp 0x685c98
xor edi, edi
mov edi, dword [edi + 8]
add edi, edi
mov dword [esp + 0x24], edi
test ebx, ebx
je 0x685ccd
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.006801e0
push edi
mov eax, esi
call fcn.00680680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x685ccf
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x685d00
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.006801e0
mov eax, dword [esp + 0x10]
push esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
jmp 0x685d02
xor edi, edi
mov eax, dword [esp + 0x2c]
cmp dword [edi + 0x14], eax
jbe 0x685d73
test ebx, ebx
je 0x685d37
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.006801e0
push edi
mov eax, esi
call fcn.00680680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x685d39
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x685d6a
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.006801e0
mov eax, dword [esp + 0x10]
push esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
jmp 0x685d6c
xor edi, edi
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x2c], ecx
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x224]
test edi, edi
je 0x685daa
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.006801e0
mov eax, dword [esp + 0x10]
push esi
call fcn.00680680
and edi, 0xffff
add edi, dword [eax]
jmp 0x685dac
xor edi, edi
push ebx
lea eax, [esp + 0xb8]
push eax
push edi
call fcn.00687be0
mov ebx, dword [eax]
test ebx, ebx
jne 0x685bc6
mov dword [esp + 0x34], ebx
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x218]
test edi, edi
je 0x685e38
mov eax, dword [0x100ef85c]
mov ebx, edi
mov esi, eax
shr ebx, 0x10
push eax
mov eax, ebx
call fcn.006801e0
push ebx
mov eax, esi
call fcn.00680680
mov eax, dword [0x100ef85c]
mov esi, eax
push eax
mov eax, ebx
call fcn.006801e0
push ebx
mov eax, esi
call fcn.00680680
mov edx, dword [ebp + 8]
and edi, 0xffff
add edi, dword [eax]
mov ax, word [edx + 0x21c]
add ax, ax
mov word [esp + 0x48], ax
mov word [esp + 0x4a], ax
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x28], eax
mov ebx, eax
jmp 0x685e3e
xor ebx, ebx
mov dword [esp + 0x28], ebx
mov ecx, dword [ebp + 8]
mov ax, word [ecx + 0x214]
mov esi, dword [ebp + 0xc]
lea edx, [ecx + 0x14]
mov dword [esp + 0x44], edx
mov edx, dword [ecx + 0x228]
mov ecx, dword [ecx + 0x22c]
add ax, ax
cmp word [esi + 2], ax
mov word [esp + 0x40], ax
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
jae 0x68606f
movzx edx, ax
and edx, 0x800000ff
jns 0x685e8b
dec edx
or edx, 0xffffff00
inc edx
mov eax, dword [esp + 0x40]
sub eax, edx
add eax, 0x100
mov word [esi + 2], ax
movzx eax, ax
mov dword [esp + 0x10], eax
mov eax, dword [esi + 4]
xor edx, edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x5c], edx
test eax, eax
mov ecx, 0x100ef4b4
mov dword [esp + 0x64], edx
mov eax, 0x100ef4b8
je 0x685fa7
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x64]
lea ebx, [esp + 0x33]
mov edi, ecx
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x94], edx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
call fcn.006e5220
test al, al
je 0x685f23
mov eax, dword [esp + 0x98]
add dword [eax], 1
mov al, 1
mov edx, dword [esp + 0x10]
mov ecx, dword [0x100ef808]
push edx
mov byte [esp + 0xa8], al
mov eax, dword [esp + 0x3c]
push eax
push 1
push ecx
call dword [0x100cf1dc]
cmp byte [esp + 0xa4], 0
mov ebx, eax
je 0x686061
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x10]
add dword [ecx], 0xffffffff
mov edx, dword [eax + 0x10]
mov edi, eax
add eax, 0x10
cmp dword [edx], 0
jne 0x686061
mov eax, edx
mov dword [eax], 0
mov ecx, dword [edi + 8]
push 0
push ecx
call dword [0x100cf084]
mov edx, dword [edi + 0xc]
test edx, edx
lea eax, [edi + 0xc]
jle 0x686061
push eax
call dword [0x100cf080]
mov eax, dword [edi + 0x14]
push 0
push 1
push eax
jmp 0x68605b
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x64]
lea ebx, [esp + 0x32]
mov edi, ecx
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x74], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
call fcn.006e5220
test al, al
je 0x685fee
mov eax, dword [esp + 0x78]
add dword [eax], 1
mov al, 1
mov edx, dword [esp + 0x10]
push edx
mov byte [esp + 0x88], al
mov eax, dword [0x100ef808]
push 1
push eax
call dword [0x100cf14c]
cmp byte [esp + 0x84], 0
mov ebx, eax
je 0x686061
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x10]
add dword [ecx], 0xffffffff
mov ecx, dword [eax + 0x10]
mov edi, eax
add eax, 0x10
cmp dword [ecx], 0
jne 0x686061
mov edx, ecx
mov dword [edx], 0
mov eax, dword [edi + 8]
push 0
push eax
call dword [0x100cf084]
mov ecx, dword [edi + 0xc]
test ecx, ecx
lea eax, [edi + 0xc]
jle 0x686061
push eax
call dword [0x100cf080]
mov edx, dword [edi + 0x14]
push 0
push 1
push edx
call dword [0x100cf088]
mov eax, ebx
mov ebx, dword [esp + 0x28]
mov dword [esi + 4], eax
mov ax, word [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esi + 4]
mov word [esi], ax
movzx eax, ax
push eax
push ecx
push edx
call dword [0x100ef7ec]
test ebx, ebx
jne 0x68608e
mov dword [esi + 8], ebx
jmp 0x6860e0
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esi + 8], 1
cmp word [esi + 0xe], di
jae 0x6860cd
movzx eax, di
and eax, 0x800000ff
jns 0x6860b1
dec eax
or eax, 0xffffff00
inc eax
mov ecx, edi
sub ecx, eax
lea eax, [ecx + 0x100]
mov ecx, dword [esi + 0x10]
mov word [esi + 0xe], ax
movzx eax, ax
call fcn.006eb3c0
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
movzx edx, di
push edx
push ebx
push eax
mov word [esi + 0xc], di
call dword [0x100ef7ec]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
mov dword [esi + 0x18], ecx
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x1c], edx
mov edx, dword [esp + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x28], edx
mov edx, dword [esp + 0x2c]
pop edi
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8