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

Disassembly:
sub esp, 0x34
xor eax, eax
mov dword [esp + 4], 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.005ea7a0
test eax, eax
jne 0x5f53d5
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.005bcc80
mov esi, eax
add esp, 8
mov dword [esp + 0xc], esi
test esi, esi
je 0x5f53d5
push edi
push 0
push esi
call fcn.00621d30
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 0x5f53c0
lea eax, [esp + 0x38]
push eax
push edi
push ecx
call fcn.005f44e0
mov ebx, dword [esp + 0x44]
add esp, 0xc
mov dword [esp + 0x30], eax
test ebx, ebx
je 0x5f518c
lea edx, [ebx + 0x4000]
mov dword [esp + 0x34], edx
test edi, edi
jne 0x5f517b
add ebx, 0x88
xor esi, esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], esi
jmp 0x5f522e
mov esi, edi
shl esi, 0xc
sub esi, 0x22
mov dword [esp + 0x3c], esi
jmp 0x5f522e
test eax, eax
jne 0x5f5226
mov eax, 1
mov dword [esp + 0x10], 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 0x5f5135
mov eax, ecx
mov dword [eax + 0x78], 0
cmp dword [0x6d4c38], 0
je 0x5f53a3
mov eax, dword [0x6ecdc0]
test eax, eax
je 0x5f51db
push eax
call dword [0x6d4c88]
add esp, 4
mov esi, dword [esp + 0xc]
push esi
call dword [0x6d4c64]
sub dword [0x6ecd58], eax
dec dword [0x6ecd7c]
push esi
call dword [0x6d4c5c]
mov eax, dword [0x6ecdc0]
add esp, 8
test eax, eax
je 0x5f53ad
push eax
call dword [0x6d4c90]
mov ecx, dword [esp + 0x50]
add esp, 4
mov eax, dword [esp + 0x10]
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 + 0x10], eax
test eax, eax
jne 0x5f519d
lea eax, [edi + 1]
cmp eax, dword [esp + 0x20]
jne 0x5f524b
mov edx, dword [esp + 0x24]
sub edx, esi
jmp 0x5f5250
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 + 0x14], ecx
test edx, edx
jle 0x5f5357
cmp edx, 0x10
jb 0x5f5360
mov ecx, edx
and ecx, reloc.WS2_32.dll_ntohs
jns 0x5f5292
dec ecx
or ecx, 0xfffffff0
inc ecx
movups xmm1, xmmword [0x693990]
mov ebx, edx
sub ebx, ecx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x14]
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 0x5f52b0
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp eax, edx
jge 0x5f5369
nop dword [eax + eax]
mov word [ecx + eax*2], ax
inc eax
cmp eax, edx
jl 0x5f5360
lea eax, [esp + 0x18]
push eax
push ecx
push dword [esp + 0x34]
push ebx
call fcn.005f5580
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 + 0x14]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x10], ebx
jmp 0x5f51a1
push edx
call dword [0x6d4c5c]
add esp, 4
mov ecx, dword [esp + 0x4c]
xor esi, esi
mov eax, dword [esp + 0x10]
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 + 0x10]
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