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

Disassembly:
add esp, 0xffffffb0
push ebx
push ebp
mov ebp, ecx
push edi
push esi
xor esi, esi
mov edi, dword [esp + 0x64]
movzx ecx, word [edi + 0x14]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
cmp cx, 2
jb 0x66208821
mov eax, 0x10b
cmp word [edi + 0x18], ax
jne 0x66208821
mov ebx, dword [edi + 0x74]
jmp 0x66208827
mov ebx, dword [edi + 0x84]
cmp ebx, esi
jbe 0x66208958
cmp cx, 2
jb 0x66208843
mov edx, 0x10b
cmp word [edi + 0x18], dx
lea eax, [edi + 0x78]
je 0x66208849
lea eax, [edi + 0x88]
cmp eax, esi
je 0x66208958
mov ecx, dword [eax]
cmp ecx, esi
je 0x66208958
mov ebx, dword [eax + 4]
lea eax, [esp + 0x20]
push eax
push ecx
mov ecx, ebp
push edi
mov dword [esp + 0x24], ebx
call fcn.66207ff0
cmp eax, esi
jl 0x66208a5c
mov edx, dword [esp + 0x20]
push esi
mov esi, dword [esp + 0x28]
push 0x28
lea ecx, [esp + 0x40]
push ecx
push esi
push edx
mov ecx, ebp
call fcn.662071f0
or eax, eax
jl 0x66208a5c
mov eax, dword [esp + 0x68]
mov ecx, eax
sub ecx, dword [esp + 0x48]
cmp eax, 0xffff
movzx edx, cx
mov dword [esp + 0x10], edx
jbe 0x662089b6
lea eax, [esp + 0x28]
mov ecx, ebp
mov esi, dword [esp + 0x58]
push eax
push esi
push edi
call fcn.66207ff0
or eax, eax
jl 0x66208a5c
xor esi, esi
cmp dword [esp + 0x50], esi
jbe 0x66208958
lea ecx, [ecx]
xor ebx, ebx
xor ecx, ecx
mov eax, ebx
push 0
add eax, dword [esp + 0x2c]
push 4
adc ecx, dword [esp + 0x34]
lea edx, [esp + 0x1c]
push edx
push ecx
push eax
mov ecx, ebp
call fcn.662071f0
test eax, eax
jl 0x66208a5c
mov eax, dword [esp + 0x14]
or eax, eax
je 0x6620894e
lea edx, [esp + 0x30]
mov ecx, ebp
push edx
push eax
push edi
call fcn.66207ff0
test eax, eax
jl 0x66208a5c
lea eax, [esp + 0x64]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x34]
push ecx
push edx
mov ecx, ebp
push eax
call fcn.662074d0
test eax, eax
jl 0x66208a5c
cmp byte [esp + 0x64], 0
jne 0x66208967
inc esi
add ebx, 4
cmp esi, dword [esp + 0x50]
jb 0x662088e0
mov eax, 0xc000007a
pop esi
pop edi
pop ebp
pop ebx
sub esp, 0xffffffb0
ret 0x10
cmp esi, dword [esp + 0x50]
jae 0x66208958
lea ecx, [esp + 0x30]
mov edx, dword [esp + 0x5c]
push ecx
push edx
mov ecx, ebp
push edi
call fcn.66207ff0
or eax, eax
jl 0x66208a5c
push 0
lea ebx, [esi + esi]
mov ecx, ebp
xor edx, edx
add ebx, dword [esp + 0x34]
push 2
adc edx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push eax
push edx
push ebx
call fcn.662071f0
test eax, eax
jl 0x66208a5c
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
movzx eax, word [esp + 0x10]
cmp eax, dword [esp + 0x4c]
jae 0x66208958
lea ecx, [esp + 0x30]
mov edx, dword [esp + 0x54]
push ecx
mov ecx, ebp
push edx
push edi
call fcn.66207ff0
test eax, eax
jl 0x66208a5c
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
mov ecx, ebp
push eax
call fcn.662071f0
test eax, eax
jl 0x66208a5c
lea edx, [esp + 0x30]
mov eax, dword [esp + 0x1c]
push edx
push eax
mov ecx, ebp
push edi
call fcn.66207ff0
test eax, eax
jl 0x66208a5c
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
cmp ebp, esi
jb 0x66208a45
ja 0x66208a2d
cmp edi, dword [esp + 0x20]
jb 0x66208a45
xor eax, eax
add ebx, dword [esp + 0x20]
mov edx, ebx
adc eax, esi
cmp ebp, eax
ja 0x66208a45
jb 0x66208a41
cmp edi, edx
jae 0x66208a45
mov al, 1
jmp 0x66208a47
xor al, al
mov edx, dword [esp + 0x70]
test edx, edx
je 0x66208a66
mov byte [edx], al
xor eax, eax
mov ebx, dword [esp + 0x6c]
mov dword [ebx], edi
mov dword [ebx + 4], ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x50
ret 0x10
test al, al
je 0x66208a51
mov eax, 0xc000000d
pop esi
pop edi
pop ebp
pop ebx
sub esp, 0xffffffb0
ret 0x10