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

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
sub esp, 0xc
cmp ecx, 0x7fffffff
push ebx
push esi
push edi
ja 0x46443f
xor ebx, ebx
cmp ecx, ebx
je 0x46443f
mov esi, dword [ebp + 8]
mov eax, 0x40000000
cdq
idiv dword [esi + 0x30]
inc eax
cmp ecx, eax
je 0x46443f
mov eax, dword [ebp + 0x10]
mov dword [eax], ebx
mov al, byte [esi + 0xb]
cmp al, bl
je 0x464118
cmp al, 0xd
je 0x464118
movzx eax, al
jmp 0x464442
cmp dword [esi + 0x3c], ebx
jne 0x4641cd
cmp byte [esi + 3], bl
jne 0x464140
xor ebx, ebx
inc ebx
call fcn.00463062
test eax, eax
je 0x46413e
mov ecx, esi
call fcn.00462451
jmp 0x464442
xor ebx, ebx
call fcn.0046321d
test eax, eax
je 0x4641c8
push 4
push dword [esi + 0x58]
call sym.AdobeCollabSync.exe_PR_GetOpenFileInfo64
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x46416d
push ebx
push dword [esi + 0x58]
call fcn.004649c1
pop ecx
pop ecx
mov byte [esi + 0xa], bl
mov eax, edi
jmp 0x464132
lea eax, [esi + 0x5c]
push eax
push dword [esi + 0x50]
mov byte [esi + 0xa], 4
call fcn.004538b5
test eax, eax
pop ecx
pop ecx
je 0x464198
push ebx
push dword [esi + 0x58]
call fcn.004649c1
pop ecx
pop ecx
mov byte [esi + 0xa], bl
push 5
jmp 0x464441
mov edi, esi
mov byte [esi], 1
mov byte [esi + 1], bl
mov dword [esi + 0x80], ebx
mov dword [esi + 0x84], ebx
mov byte [esi + 0x12], bl
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], ebx
call fcn.0046373f
cmp eax, ebx
jne 0x464132
mov dword [ebp - 4], ebx
jmp 0x4641e3
mov edx, ecx
mov ecx, esi
call fcn.0046291f
mov edi, eax
cmp edi, ebx
mov dword [ebp - 4], edi
jne 0x464422
mov ecx, dword [esi + 0x34]
cmp ecx, dword [esi + 0x40]
jl 0x464246
cmp dword [esi + 0x68], ebx
je 0x464246
lea eax, [ebp - 4]
push eax
push 1
mov eax, esi
call fcn.00463aff
cmp eax, ebx
pop ecx
pop ecx
jne 0x464442
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov dword [edi + 4], eax
mov ecx, dword [esi + 0x44]
cmp ecx, ebx
je 0x4642bf
cmp eax, dword [esi + 0x18]
jg 0x4642bf
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, eax
mov eax, dword [esi + 0x44]
shr ecx, 3
mov al, byte [ecx + eax]
test al, dl
setne al
mov byte [edi + 0x24], al
mov eax, dword [ebp + 0xc]
jmp 0x4642c2
mov eax, dword [esi + 0xbc]
cmp ecx, eax
jl 0x464274
mov ecx, 0x100
cmp eax, ecx
jl 0x46425c
lea ecx, [eax + eax]
push ecx
mov edi, esi
call fcn.00462395
cmp dword [esi + 0xbc], ebx
pop ecx
jne 0x464274
push 7
jmp 0x464441
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx + 0x3c]
push 1
push eax
call fcn.00449eab
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x46426d
push 0x38
push ebx
push edi
call sub.MSVCR80.dll_memset
mov dword [edi], esi
mov eax, dword [esi + 0x74]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x38]
add esp, 0xc
inc dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
cmp ecx, eax
mov dword [esi + 0x74], edi
jle 0x46420a
inc eax
mov dword [esi + 0x38], eax
jmp 0x46420a
mov byte [edi + 0x24], bl
mov byte [edi + 0x27], bl
cmp dword [esi + 0x48], ebx
je 0x4642f1
cmp eax, dword [esi + 0x1c]
jg 0x4642f1
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, eax
mov eax, dword [esi + 0x48]
shr ecx, 3
mov al, byte [ecx + eax]
test al, dl
je 0x4642f1
mov eax, edi
call fcn.004628fb
jmp 0x464320
cmp byte [edi + 0x25], bl
je 0x464320
mov eax, dword [edi + 0x20]
cmp eax, ebx
mov ecx, dword [edi + 0x1c]
je 0x464305
mov dword [eax + 0x1c], ecx
jmp 0x46430a
mov eax, dword [edi]
mov dword [eax + 0x78], ecx
mov eax, dword [edi + 0x1c]
cmp eax, ebx
je 0x464317
mov ecx, dword [edi + 0x20]
mov dword [eax + 0x20], ecx
mov dword [edi + 0x1c], ebx
mov dword [edi + 0x20], ebx
mov byte [edi + 0x25], bl
mov eax, edi
call fcn.004632b6
mov word [edi + 0x2a], 1
mov eax, dword [esi + 0x2c]
inc dword [esi + 0x3c]
cmp eax, ebx
jle 0x464349
push eax
mov eax, dword [esi + 0x30]
lea eax, [eax + edi + 0x38]
push ebx
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
cmp byte [esi + 0xb], bl
je 0x464361
add edi, 0x38
push edi
call fcn.00464067
movzx eax, byte [esi + 0xb]
pop ecx
jmp 0x464442
push esi
call fcn.00462f33
pop ecx
mov ecx, dword [ebp + 0xc]
cmp eax, ecx
jl 0x4643e5
mov eax, dword [esi + 0x30]
cdq
push edx
push eax
dec ecx
push ebx
push ecx
call fcn.004806e0
push edx
push eax
push dword [esi + 0x58]
call fcn.00464962
add esp, 0xc
cmp eax, ebx
mov dword [ebp - 4], eax
jne 0x4643aa
push dword [esi + 0x30]
lea eax, [edi + 0x38]
push eax
push dword [esi + 0x58]
call sym.AdobeCollabSync.exe_PR_Read
add esp, 0xc
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x4643f5
lea eax, [ebp - 0xc]
push eax
push dword [esi + 0x58]
call sym.AdobeCollabSync.exe_PR_GetOpenFileInfo
test eax, eax
pop ecx
pop ecx
jne 0x4643d3
mov eax, dword [esi + 0x30]
mov ecx, dword [ebp - 8]
imul eax, dword [ebp + 0xc]
cmp ecx, ebx
jg 0x4643d3
jl 0x4643e5
mov ecx, dword [ebp - 0xc]
cmp ecx, eax
jb 0x4643e5
mov dword [edi + 4], ebx
add edi, 0x38
push edi
call fcn.00464067
mov eax, dword [ebp - 4]
pop ecx
jmp 0x464442
push dword [esi + 0x30]
lea eax, [edi + 0x38]
push ebx
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
mov eax, dword [esi + 0xbc]
dec eax
and eax, dword [ebp + 0xc]
add esi, 0xc0
mov ecx, dword [esi]
shl eax, 2
mov ecx, dword [eax + ecx]
mov dword [edi + 8], ecx
mov ecx, dword [esi]
mov dword [eax + ecx], edi
cmp dword [edi + 8], ebx
je 0x464433
mov eax, dword [edi + 8]
mov dword [eax + 0xc], edi
jmp 0x464433
cmp word [edi + 0x2a], bx
jne 0x46442f
call fcn.00463099
jmp 0x464433
inc word [edi + 0x2a]
mov eax, dword [ebp + 0x10]
add edi, 0x38
mov dword [eax], edi
xor eax, eax
jmp 0x464442
push 0xb
pop eax
pop edi
pop esi
pop ebx
leave
ret