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

Disassembly:
sub esp, 0x54
push ebx
push ebp
push esi
mov esi, dword [esp + 0x68]
push edi
xor edi, edi
cmp esi, edi
je 0x715bc4
cmp dword [esi], edi
je 0x715bc4
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x715bc4
mov ebx, dword [eax + 4]
cmp ebx, edi
mov dword [esp + 0x10], ebx
je 0x715bc4
mov ebp, dword [esp + 0x70]
mov dword [ebp + 4], edi
mov dword [ebp + 0x10], edi
mov dword [ebp + 0x14], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov dword [ebp], ebx
mov eax, dword [esi]
mov dword [ebp + 4], eax
mov ecx, dword [esi + 4]
mov dword [ebp + 8], ecx
mov edx, dword [esi + 8]
mov dword [ebp + 0xc], edx
mov eax, dword [esi]
cmp eax, 3
je 0x715baf
cmp eax, 4
je 0x715baf
cmp eax, 5
jne 0x7158e0
mov esi, dword [esi + 0x10]
push edi
push esi
lea eax, reloc.WSOCK32.dll_WSACleanup
push eax
push 4
push esi
push ebx
call fcn.00eb86a2
cmp dword [ebx], edi
invalid
cmp eax, 7
jne 0x715912
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push ecx
push 1
push 1
push edx
push eax
call fcn.00eb915b
lcall 0x144d, 0x8b144589
xor eax, eax
cmp ecx, edi
pop edi
pop esi
pop ebp
pop ebx
setne al
add esp, 0x54
ret 0x10
cmp eax, 6
jne 0x715944
mov esi, dword [esi + 0x10]
push edi
push esi
lea ecx, reloc.WSOCK32.dll_WSACleanup
push ecx
push 4
push esi
push ebx
call fcn.00eb86a2
call 0x8b859eba
dec ebp
adc al, 0x33
sar byte [ebx], 0xcf
pop edi
pop esi
pop ebp
pop ebx
setne al
add esp, 0x54
ret 0x10
cmp eax, 8
jne 0x715b19
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
neg eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x74]
mov ecx, eax
mov dword [esp + 0x40], edx
shr ecx, 0x10
and ecx, 0xff
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ecx
mov edx, eax
fild qword [esp + 0x14]
shr edx, 8
and edx, 0xff
mov dword [esp + 0x18], edi
fstp dword [esp + 0x1c]
mov dword [esp + 0x14], edx
and eax, 0xff
fild qword [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x3c], 0x28
fstp dword [esp + 0x20]
fild qword [esp + 0x14]
mov word [esp + 0x48], 1
mov word [esp + 0x4a], 0x20
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
fstp dword [esp + 0x24]
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
call fcn.006f2fa8
mov edi, dword [esi + 8]
lea ecx, [esp + 0x28]
imul edi, dword [esi + 4]
shl edi, 2
push edi
call fcn.006f2fc8
mov esi, dword [esi + 0x10]
mov ecx, edi
mov ebx, eax
mov eax, ecx
mov edi, ebx
mov dword [esp + 0x70], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + 8]
test eax, eax
jbe 0x715ac7
mov eax, dword [ecx + 4]
mov dword [esp + 0x68], 0
test eax, eax
jbe 0x715ab3
mov al, byte [ebx + 3]
cmp al, 0xff
jae 0x715aa0
and eax, 0xff
lea esi, [esp + 0x1c]
mov dword [esp + 0x74], eax
mov edi, 3
fild dword [esp + 0x74]
fmul dword [0xe11988]
fld dword [0xe11984]
fsub st(1)
xor ecx, ecx
mov cl, byte [ebx]
mov dword [esp + 0x74], ecx
fild dword [esp + 0x74]
fmul st(2)
fld st(1)
fmul dword [esi]
faddp st(1)
call fcn.0076d4b0
cmp eax, 0xff
jl 0x715a84
mov byte [ebx], 0xff
jmp 0x715a8e
test eax, eax
setle dl
dec edx
and edx, eax
mov byte [ebx], dl
add esi, 4
inc ebx
dec edi
jne 0x715a5f
mov ecx, dword [esp + 0x6c]
inc ebx
fstp st(0)
fstp st(0)
jmp 0x715aa3
add ebx, 4
mov eax, dword [esp + 0x68]
mov edx, dword [ecx + 4]
inc eax
cmp eax, edx
mov dword [esp + 0x68], eax
jb 0x715a34
mov eax, dword [esp + 0x70]
mov edx, dword [ecx + 8]
inc eax
cmp eax, edx
mov dword [esp + 0x70], eax
jb 0x715a25
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
neg eax
sbb eax, eax
lea ecx, [esp + 0x3c]
and eax, edi
push 0
push ecx
push eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x48]
push 4
push edx
push eax
call fcn.00eb86a2
push es
lea ecx, [esp + 0x28]
mov dword [ebp + 0x14], eax
mov dword [esp + 0x28], 0xe11980
call fcn.006f31a8
mov ecx, dword [ebp + 0x14]
xor edi, edi
xor eax, eax
cmp ecx, edi
pop edi
pop esi
pop ebp
pop ebx
setne al
add esp, 0x54
push esp
ret 0x10
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x10]
push edi
push ecx
push edx
push eax
call fcn.00715568
add esp, 0x10
cmp eax, edi
mov dword [esp + 0x6c], eax
je 0x715bc4
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x3c]
push edi
mov dword [esp + 0x48], edx
push ecx
push eax
lea edx, [esp + 0x48]
push 4
push edx
push ebx
mov dword [esp + 0x54], 0x28
mov word [esp + 0x60], 1
mov word [esp + 0x62], 0x18
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
call fcn.00eb86a2
je 0x715b15
inc ebp
adc al, 0x8b
inc esp
and al, 0x6c
push eax
call fcn.0077de8e
add esp, 4
mov ecx, dword [ebp + 0x14]
xor eax, eax
cmp ecx, edi
pop edi
pop esi
pop ebp
setne al
pop ebx
add esp, 0x54
ret 0x10
mov ecx, dword [esi + 0xc]
pop edi
mov dword [ebp + 0x10], ecx
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x54
ret 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret 0x10