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

Disassembly:
sub esp, 0x34
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
push ebx
push esi
push edi
mov esi, dword [eax + 0x44]
mov dword [esp + 0x24], esi
lea eax, [esi + 0x21]
shr eax, 0xc
lea ebx, [eax + 1]
lea eax, [eax + eax*4]
mov dword [esp + 0x20], ebx
lea eax, [esi + eax*2]
lea edi, [eax*2 + 0x1c]
call fcn.004ef2e0
test eax, eax
jne 0x4f9f25
mov eax, 0x1000
mov ecx, esi
cmp esi, eax
cmova ecx, eax
xor eax, eax
add ecx, ecx
add ecx, edi
adc eax, eax
push eax
push ecx
call fcn.004c19b0
mov esi, eax
add esp, 8
mov dword [esp + 0xc], esi
test esi, esi
je 0x4f9f25
push edi
push 0
push esi
call fcn.00656e20
mov ecx, dword [esp + 0x50]
lea eax, [esi + edi]
mov edi, dword [esp + 0x54]
add esp, 0xc
mov dword [esi + 4], ebx
mov dword [esp + 0x2c], eax
mov dword [ecx + 0x78], esi
lea edi, [edi + 0x22]
shr edi, 0xc
mov dword [esp + 0x1c], edi
cmp edi, ebx
jge 0x4f9f10
lea eax, [esp + 0x38]
push eax
push edi
push ecx
call fcn.004f9040
mov ebx, dword [esp + 0x44]
add esp, 0xc
mov dword [esp + 0x30], eax
test ebx, ebx
je 0x4f9cdc
lea edx, [ebx + 0x4000]
mov dword [esp + 0x34], edx
test edi, edi
jne 0x4f9ccb
add ebx, 0x88
xor esi, esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], esi
jmp 0x4f9d7e
mov esi, edi
shl esi, 0xc
sub esi, 0x22
mov dword [esp + 0x3c], esi
jmp 0x4f9d7e
test eax, eax
jne 0x4f9d76
mov eax, 1
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x20]
inc edi
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x1c], edi
test eax, eax
je 0x4f9c85
mov eax, ecx
mov dword [eax + 0x78], 0
cmp dword [0x713018], 0
je 0x4f9ef3
mov eax, dword [0x7181b8]
test eax, eax
je 0x4f9d2b
push eax
call dword [0x713068]
add esp, 4
mov esi, dword [esp + 0xc]
push esi
call dword [0x713044]
sub dword [0x718150], eax
dec dword [0x718174]
push esi
call dword [0x71303c]
mov eax, dword [0x7181b8]
add esp, 8
test eax, eax
je 0x4f9efd
push eax
call dword [0x713070]
mov ecx, dword [esp + 0x50]
add esp, 4
mov eax, dword [esp + 0x14]
xor esi, esi
pop edi
mov dword [ecx], esi
pop esi
pop ebx
add esp, 0x34
ret
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4f9ced
lea eax, [edi + 1]
cmp eax, dword [esp + 0x20]
jne 0x4f9d9b
mov edx, dword [esp + 0x24]
sub edx, esi
jmp 0x4f9da0
sub edx, ebx
sar edx, 2
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], edx
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*2]
inc esi
lea ecx, [ecx + eax*2]
mov dword [esp + 0x3c], esi
add ecx, 8
xor eax, eax
mov dword [esp + 0x10], ecx
test edx, edx
jle 0x4f9eb9
cmp edx, 0x10
jb 0x4f9eb0
mov ecx, edx
and ecx, reloc.WS2_32.dll_ntohs
jns 0x4f9de2
dec ecx
or ecx, 0xfffffff0
inc ecx
movups xmm1, xmmword [0x68d1b0]
mov ebx, edx
sub ebx, ecx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
add ebx, 0x10
nop dword [eax]
movd xmm0, eax
lea ecx, [eax + 4]
pshufd xmm0, xmm0, 0
lea ebx, [ebx + 0x20]
paddd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm0, xmm0, 0xd8
movq qword [ebx - 0x30], xmm0
movd xmm0, ecx
lea ecx, [eax + 8]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm0, xmm0, 0xd8
movq qword [ebx - 0x28], xmm0
movd xmm0, ecx
lea ecx, [eax + 0xc]
pshufd xmm0, xmm0, 0
add eax, 0x10
paddd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm0, xmm0, 0xd8
movq qword [ebx - 0x20], xmm0
movd xmm0, ecx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm0, xmm0, 0xd8
movq qword [ebx - 0x18], xmm0
cmp eax, edi
jl 0x4f9e00
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
cmp eax, edx
jge 0x4f9eb9
nop dword [eax + eax]
mov word [ecx + eax*2], ax
inc eax
cmp eax, edx
jl 0x4f9eb0
lea eax, [esp + 0x18]
push eax
push ecx
push dword [esp + 0x34]
push ebx
call fcn.004fa0d0
mov edx, dword [esp + 0x1c]
lea eax, [edi + edi*4]
lea ecx, [edx + eax*4]
mov eax, dword [esp + 0x28]
add esp, 0x10
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x10], ebx
jmp 0x4f9cf1
push edx
call dword [0x71303c]
add esp, 4
mov ecx, dword [esp + 0x4c]
xor esi, esi
mov eax, dword [esp + 0x14]
pop edi
mov dword [ecx], esi
pop esi
pop ebx
add esp, 0x34
ret
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
pop edi
mov dword [ecx], esi
pop esi
pop ebx
add esp, 0x34
ret
pop edi
pop esi
mov eax, 7
pop ebx
add esp, 0x34
ret