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

Disassembly:
mov r11, rsp
push rbp
push rdi
sub rsp, 0x88
mov rax, qword [0x140158418]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbp, qword [0x1401592a8]
mov rdi, rbp
mov eax, dword [rbp + 0x3f48]
cmp dword [rbp + 0x3f4c], eax
je 0x14004bbfd
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
xor esi, esi
mov ebx, esi
mov qword [r11 + 0x18], r12
mov qword [r11 + 0x20], r14
mov qword [r11 - 0x18], r15
movaps xmmword [rsp + 0x70], xmm6
cmp dword [rbp + 0x55a8], esi
jle 0x14004b654
mov ebp, esi
nop
mov rax, qword [rdi + 0x55b0]
cmp dword [rax + rbp + 4], 2
jne 0x14004b63f
movsxd rdx, ebx
mov rcx, rdi
shl rdx, 5
add rdx, rax
call qword [rax + rbp + reloc.WS2_32.dll_recv]
inc ebx
add rbp, 0x20
cmp ebx, dword [rdi + 0x55a8]
jl 0x14004b620
mov rbp, qword [0x1401592a8]
cmp dword [rbp + 0x3f98], 2
jl 0x14004b675
nop dword [rax]
call fcn.14004ae20
cmp dword [rbp + 0x3f98], 1
jg 0x14004b660
mov rbp, qword [0x1401592a8]
mov r14, qword [rdi + 0xd0]
test r14, r14
je 0x14004b6c8
mov rax, qword [rdi + 0x5500]
cmp rax, qword [rdi + 0x5510]
jne 0x14004b6a1
mov rax, qword [rdi + 0x5508]
cmp rax, qword [rdi + 0x5518]
je 0x14004b6c8
mov ecx, dword [rdi + 0x5520]
call fcn.14004cd90
test rax, rax
jne 0x14004b6bb
mov rax, qword [rbp + 0x41e8]
mov rax, qword [rax]
lea rdx, [rdi + 0x5500]
mov rcx, rax
call r14
mov rax, qword [rdi + 0x3fc8]
mov byte [rdi + 0x3f59], sil
test rax, rax
je 0x14004b6eb
cmp byte [rax + 0xcd], sil
jne 0x14004b6eb
mov byte [rax + 0xcb], sil
call fcn.14004ae20
mov rcx, qword [0x1401592a8]
mov rbx, rcx
cmp qword [rcx + 0x43a8], rsi
je 0x14004b70f
call fcn.140054000
mov rcx, qword [0x1401592a8]
cmp qword [rbx + 0x4240], rsi
je 0x14004b74b
cmp byte [rcx + 0x429d], sil
je 0x14004b74b
cmp dword [rcx + 0x42f0], esi
jne 0x14004b74b
cmp dword [rcx + 0x4350], esi
jne 0x14004b74b
mov eax, dword [rbx + 0x42a0]
test al, 0xf
je 0x14004b74b
test al, al
js 0x14004b74b
call fcn.140053210
mov rcx, qword [0x1401592a8]
mov r14d, esi
xorps xmm6, xmm6
cmp dword [rdi + 0x5528], esi
jle 0x14004b8cf
movaps xmmword [rsp + 0x60], xmm7
mov r15, rsi
movss xmm7, dword [0x140130ca0]
nop dword [rax]
mov rax, qword [rdi + 0x5530]
mov rbp, qword [r15 + rax + 8]
test rbp, rbp
je 0x14004b8b6
mov eax, dword [rdi + 0x3f48]
cmp dword [rbp + 0xb0], eax
jne 0x14004b8b6
movzx eax, byte [rbp + 0xc8]
test al, 1
je 0x14004b8b6
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x14004b8b6
cmp qword [rbp + 0x20], rsi
jne 0x14004b8b6
test al, 4
jne 0x14004b8b6
movss xmm0, dword [rcx + 0x3930]
movss xmm3, dword [rbp + 0x48]
addss xmm0, xmm0
movss xmm1, dword [rbp + 0x4c]
movaps xmm4, xmm3
addss xmm4, dword [rbp + 0x50]
movaps xmm2, xmm1
addss xmm3, xmm6
addss xmm2, dword [rbp + 0x54]
addss xmm0, dword [rcx + 0x3d38]
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x48], xmm4
movss dword [rsp + 0x40], xmm3
movss dword [rsp + 0x4c], xmm2
addss xmm0, xmm1
movss dword [rsp + 0x44], xmm0
movss xmm2, dword [rdx + 0x4c]
movss xmm0, dword [rdx + 0x48]
movaps xmm3, xmm2
addss xmm3, dword [rdx + 0x54]
movaps xmm1, xmm0
addss xmm1, dword [rdx + 0x50]
movss dword [rsp + 0x34], xmm2
lea rdx, [rsp + 0x30]
movaps xmm2, xmm7
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x3c], xmm3
movss dword [rsp + 0x38], xmm1
call fcn.140066040
mov rcx, qword [rbp + 0x88]
xor r8d, r8d
mov ebx, eax
mov rdx, qword [rcx + 0x2c0]
lea rcx, [rdx + 0xa8]
call fcn.14006bc20
mov rcx, qword [rbp + 0x88]
lea r8, [rsp + 0x48]
mov r9d, dword [rbp + 0x80]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x28], ebx
movss xmm0, dword [rcx + 0x80]
mov rcx, qword [rcx + 0x2c0]
movss dword [rsp + 0x20], xmm0
call fcn.1400655e0
mov rcx, qword [0x1401592a8]
inc r14d
add r15, 0x10
cmp r14d, dword [rdi + 0x5528]
jl 0x14004b770
movaps xmm7, xmmword [rsp + 0x60]
cmp qword [rcx + 0x41f8], rsi
je 0x14004b8f0
mov dword [rcx + 0x41f0], 0x3f800000
mov qword [rcx + 0x41f8], rsi
mov rcx, qword [0x1401592a8]
cmp byte [rdi + 0x43e4], sil
je 0x14004b975
mov eax, dword [rdi + 0x440c]
inc eax
cmp eax, dword [rdi + 0x3f48]
jge 0x14004b927
test byte [rdi + 0x43e8], 0x20
jne 0x14004b923
movsxd rax, dword [rdi + 0x43f0]
cmp byte [rax + rcx + 0xe0c], sil
jne 0x14004b927
mov al, 1
jmp 0x14004b929
xor al, al
cmp byte [rdi + 0x4432], sil
jne 0x14004b936
test al, al
je 0x14004b93b
call fcn.140041a60
cmp byte [rdi + 0x43e4], sil
je 0x14004b975
mov eax, dword [rdi + 0x3f48]
cmp dword [rdi + 0x43ec], eax
jge 0x14004b975
test byte [rdi + 0x43e8], 1
jne 0x14004b975
lea rcx, [0x14012f790]
mov byte [rdi + 0x43e5], 1
call fcn.14005b8f0
mov byte [rdi + 0x43e5], sil
mov eax, dword [rdi + 0x3f48]
mov dword [rdi + 0x3f4c], eax
mov byte [rdi + 0x3f58], sil
call fcn.14005e1c0
mov r15, qword [0x1401592a8]
lea r14, [r15 + 0x38c0]
mov ecx, dword [r14 + 4]
test ecx, ecx
jns 0x14004b9bb
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
mov rcx, r14
test eax, eax
cmovg edx, eax
call fcn.1400621e0
mov dword [r14], esi
mov r12d, esi
cmp dword [r15 + 0x41e0], esi
jle 0x14004ba86
mov rbp, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r15 + 0x41e8]
mov rbx, qword [rax + rbp*8]
movsd xmm0, qword [rbx + 8]
movsd qword [rbx + 0x70], xmm0
mov eax, dword [r15 + 0x3f48]
cmp dword [rbx + 0x64], eax
jl 0x14004ba0d
comiss xmm6, dword [rbx + 0x10]
jae 0x14004ba0d
comiss xmm6, dword [rbx + 0x14]
jb 0x14004ba12
test rbp, rbp
jg 0x14004ba73
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x14004ba30
cmp byte [rax + 0xcb], sil
je 0x14004ba73
cmp byte [rax + 0xd2], sil
jne 0x14004ba73
mov r8d, dword [r14]
mov ecx, dword [r14 + 4]
cmp r8d, ecx
jne 0x14004ba65
inc r8d
test ecx, ecx
je 0x14004ba4e
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14004ba53
mov eax, 8
cmp eax, r8d
mov rcx, r14
cmovg r8d, eax
mov edx, r8d
call fcn.1400621e0
movsxd rcx, dword [r14]
mov rax, qword [r14 + 8]
mov qword [rax + rcx*8], rbx
inc dword [r14]
inc r12d
inc rbp
cmp r12d, dword [r15 + 0x41e0]
jl 0x14004b9e0
mov rax, qword [r15 + 0x41e8]
lea rbx, [rdi + 0x3f88]
movaps xmm6, xmmword [rsp + 0x70]
mov r15, qword [rsp + 0x80]
mov r12, qword [rsp + 0xb0]
mov rcx, qword [rax]
mov word [rcx + 0x58], si
mov byte [rcx + 0x5a], sil
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x14004bad3
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.1400621e0
mov dword [rbx], esi
mov rcx, rbx
mov edx, dword [rdi + 0x3f68]
call fcn.1400621e0
mov ecx, dword [rdi + 0x3f68]
mov ebp, esi
test ecx, ecx
je 0x14004bb27
mov r14, rsi
mov rax, qword [rdi + 0x3f70]
mov rdx, qword [r14 + rax]
cmp byte [rdx + 0xcb], sil
je 0x14004bb0f
test dword [rdx + 0xc], 0x1000000
jne 0x14004bb17
mov rcx, rbx
call fcn.14003c190
mov ecx, dword [rdi + 0x3f68]
inc ebp
add r14, 8
cmp ebp, ecx
jne 0x14004baf2
mov eax, dword [rbx]
mov r14, qword [rsp + 0xb8]
mov dword [rdi + 0x3f68], eax
mov eax, dword [rdi + 0x3f6c]
mov dword [rbx], ecx
mov ecx, dword [rbx + 4]
mov dword [rbx + 4], eax
mov rax, qword [rdi + 0x3f70]
mov dword [rdi + 0x3f6c], ecx
mov rcx, qword [rbx + 8]
mov qword [rbx + 8], rax
mov eax, dword [rdi + 0x3fb8]
mov dword [rdi + 0xf8], eax
mov rax, qword [rdi + 0x58]
mov qword [rdi + 0x3f70], rcx
mov byte [rax + 0x18], sil
mov qword [rdi + 0xe14], rsi
mov ecx, dword [rdi + 0x37ec]
test ecx, ecx
jns 0x14004bba2
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
lea rcx, [rdi + 0x37e8]
test eax, eax
cmovg edx, eax
call fcn.1400620a0
mov dword [rdi + 0x37e8], esi
cmp dword [rdi + 0x55a8], esi
jle 0x14004bbed
mov rbx, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 0x55b0]
cmp dword [rbx + rax + 4], 3
jne 0x14004bbdf
movsxd rdx, esi
mov rcx, rdi
shl rdx, 5
add rdx, rax
call qword [rbx + rax + reloc.WS2_32.dll_recv]
inc esi
add rbx, 0x20
cmp esi, dword [rdi + 0x55a8]
jl 0x14004bbc0
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400ea080
add rsp, 0x88
pop rdi
pop rbp
ret