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

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x64]
movzx eax, word [edi + 0x14]
xor ebp, ebp
mov esi, ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
cmp ax, 2
jb 0x6620b351
mov ecx, 0x10b
cmp word [edi + 0x18], cx
jne 0x6620b351
mov ecx, dword [edi + 0x74]
jmp 0x6620b357
mov ecx, dword [edi + 0x84]
cmp ecx, ebp
jbe 0x6620b488
cmp ax, 2
jb 0x6620b373
mov edx, 0x10b
lea eax, [edi + 0x78]
cmp word [edi + 0x18], dx
je 0x6620b379
lea eax, [edi + 0x88]
cmp eax, ebp
je 0x6620b488
mov ecx, dword [eax]
cmp ecx, ebp
je 0x6620b488
mov ebx, dword [eax + 4]
lea eax, [esp + 0x20]
push eax
push ecx
push edi
mov ecx, esi
mov dword [esp + 0x24], ebx
call fcn.6620acd0
cmp eax, ebp
jl 0x6620b58c
mov edx, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x28]
push 0x28
lea ecx, [esp + 0x40]
push ecx
push ebp
push edx
mov ecx, esi
call fcn.6620a500
test eax, eax
jl 0x6620b58c
mov eax, dword [esp + 0x68]
mov ecx, eax
sub ecx, dword [esp + 0x48]
movzx edx, cx
mov dword [esp + 0x10], edx
cmp eax, 0xffff
jbe 0x6620b4e6
mov ecx, dword [esp + 0x58]
lea eax, [esp + 0x28]
push eax
push ecx
push edi
mov ecx, esi
call fcn.6620acd0
test eax, eax
jl 0x6620b58c
xor ebx, ebx
cmp dword [esp + 0x50], ebx
jbe 0x6620b488
xor ebp, ebp
lea ecx, [ecx]
push 0
xor ecx, ecx
mov eax, ebp
add eax, dword [esp + 0x2c]
push 4
adc ecx, dword [esp + 0x34]
lea edx, [esp + 0x1c]
push edx
push ecx
push eax
mov ecx, esi
call fcn.6620a500
test eax, eax
jl 0x6620b58c
mov eax, dword [esp + 0x14]
test eax, eax
je 0x6620b47e
lea edx, [esp + 0x30]
push edx
push eax
push edi
mov ecx, esi
call fcn.6620acd0
test eax, eax
jl 0x6620b58c
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x64]
push eax
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
mov ecx, esi
call fcn.6620a800
test eax, eax
jl 0x6620b58c
cmp byte [esp + 0x64], 0
jne 0x6620b497
inc ebx
add ebp, 4
cmp ebx, dword [esp + 0x50]
jb 0x6620b410
pop edi
pop esi
pop ebp
mov eax, 0xc000007a
pop ebx
add esp, 0x50
ret 0x10
cmp ebx, dword [esp + 0x50]
jae 0x6620b488
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x30]
push ecx
push edx
push edi
mov ecx, esi
call fcn.6620acd0
test eax, eax
jl 0x6620b58c
push 0
xor edx, edx
lea ecx, [ebx + ebx]
add ecx, dword [esp + 0x34]
push 2
adc edx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push eax
push edx
push ecx
mov ecx, esi
call fcn.6620a500
test eax, eax
jl 0x6620b58c
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
movzx eax, word [esp + 0x10]
cmp eax, dword [esp + 0x4c]
jae 0x6620b488
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x30]
push ecx
push edx
push edi
mov ecx, esi
call fcn.6620acd0
test eax, eax
jl 0x6620b58c
movzx eax, word [esp + 0x10]
add eax, eax
add eax, eax
cdq
add eax, dword [esp + 0x30]
push 0
adc edx, dword [esp + 0x38]
push 4
lea ecx, [esp + 0x24]
push ecx
push edx
push eax
mov ecx, esi
call fcn.6620a500
test eax, eax
jl 0x6620b58c
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x30]
push edx
push eax
push edi
mov ecx, esi
call fcn.6620acd0
test eax, eax
jl 0x6620b58c
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
cmp edx, ebp
jb 0x6620b575
ja 0x6620b55d
cmp esi, dword [esp + 0x20]
jb 0x6620b575
xor eax, eax
add ebx, dword [esp + 0x20]
adc eax, ebp
mov ecx, ebx
cmp edx, eax
ja 0x6620b575
jb 0x6620b571
cmp esi, ecx
jae 0x6620b575
mov al, 1
jmp 0x6620b577
xor al, al
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x6620b596
mov byte [ecx], al
mov eax, dword [esp + 0x6c]
mov dword [eax], esi
mov dword [eax + 4], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0x10
test al, al
je 0x6620b581
pop edi
pop esi
pop ebp
mov eax, 0xc000000d
pop ebx
add esp, 0x50
ret 0x10