Function at 0x5f4820
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.005e9f00
test eax, eax
jne 0x5f4b55
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.005bc3f0
mov esi, eax
add esp, 8
mov dword [esp + 0xc], esi
test esi, esi
je 0x5f4b55
push edi
push 0
push esi
call fcn.006213c0
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 0x5f4b40
lea eax, [esp + 0x38]
push eax
push edi
push ecx
call fcn.005f3c60
mov ebx, dword [esp + 0x44]
add esp, 0xc
mov dword [esp + 0x30], eax
test ebx, ebx
je 0x5f490c
lea edx, [ebx + 0x4000]
mov dword [esp + 0x34], edx
test edi, edi
jne 0x5f48fb
add ebx, 0x88
xor esi, esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], esi
jmp 0x5f49ae
mov esi, edi
shl esi, 0xc
sub esi, 0x22
mov dword [esp + 0x3c], esi
jmp 0x5f49ae
test eax, eax
jne 0x5f49a6
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 0x5f48b5
mov eax, ecx
mov dword [eax + 0x78], 0
cmp dword [0x6d3c38], 0
je 0x5f4b23
mov eax, dword [0x6ebdc0]
test eax, eax
je 0x5f495b
push eax
call dword [0x6d3c88]
add esp, 4
mov esi, dword [esp + 0xc]
push esi
call dword [0x6d3c64]
sub dword [0x6ebd58], eax
dec dword [0x6ebd7c]
push esi
call dword [0x6d3c5c]
mov eax, dword [0x6ebdc0]
add esp, 8
test eax, eax
je 0x5f4b2d
push eax
call dword [0x6d3c90]
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 0x5f491d
lea eax, [edi + 1]
cmp eax, dword [esp + 0x20]
jne 0x5f49cb
mov edx, dword [esp + 0x24]
sub edx, esi
jmp 0x5f49d0
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 0x5f4ad7
cmp edx, 0x10
jb 0x5f4ae0
mov ecx, edx
and ecx, reloc.WS2_32.dll_ntohs
jns 0x5f4a12
dec ecx
or ecx, 0xfffffff0
inc ecx
movups xmm1, xmmword [0x692990]
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 0x5f4a30
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp eax, edx
jge 0x5f4ae9
nop dword [eax + eax]
mov word [ecx + eax*2], ax
inc eax
cmp eax, edx
jl 0x5f4ae0
lea eax, [esp + 0x18]
push eax
push ecx
push dword [esp + 0x34]
push ebx
call fcn.005f4d00
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 0x5f4921
push edx
call dword [0x6d3c5c]
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