Function at 0x180035e20
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rbp
push rdi
push r13
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x1800f3188]
xor rax, rsp
mov qword [rbp + 0x60], rax
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], 0x100
mov qword [rsp + 0x28], rax
mov rdi, rcx
movsxd rcx, dword [rcx + 0x1b8]
lea rax, [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r13, rdx
call qword [sym.imp.WS2_32.dll_recvfrom]
mov dword [rsp + 0x30], eax
test eax, eax
jg 0x180035e9e
call fcn.1800957f0
cmp eax, 0xffffff94
jne 0x1800365d2
cmp dword [rdi + 0x24], 0
je 0x1800365d2
mov eax, 0xfffffff5
jmp 0x1800365d2
mov qword [rsp + 0x1c8], rbx
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x180], r12
xor r12d, r12d
mov qword [rsp + 0x178], r14
mov r14d, eax
mov qword [rsp + 0x170], r15
cmp dword [rdi + 0xd0], r12d
je 0x180036034
cmp dword [rdi + 0x24], r12d
je 0x180035f41
mov rbx, qword [0x1801f3ea8]
test rbx, rbx
je 0x180035f4d
movzx esi, word [rsp + 0x60]
lea r15d, [r12 + 0x10]
cmp dword [rbx + 0x24], r12d
je 0x180035f30
cmp qword [rbx + 0xb0], r12
je 0x180035f30
cmp dword [rbx + 0xd0], r12d
je 0x180035f30
cmp si, 2
lea rcx, [rbx + 0x168]
mov r8d, 0x1c
lea rdx, [rsp + 0x60]
cmove r8, r15
call fcn.1800a3690
test eax, eax
je 0x180035f44
mov rax, qword [rbx + 0x1c8]
mov rbx, rax
test rax, rax
jne 0x180035ef5
jmp 0x180035f4d
mov rbx, rdi
test rbx, rbx
jne 0x180036015
cmp qword [rdi + 0xb0], r12
je 0x180035f64
mov eax, 0xfffffff2
mov dword [rsp + 0x30], eax
jmp 0x18003609a
mov r9d, dword [rdi + 0x158]
lea rax, [rsp + 0x30]
mov rcx, qword [rdi + 8]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180035330
mov qword [rsp + 0x38], rax
mov rbx, rax
test rax, rax
je 0x1800362cd
movaps xmm0, xmmword [rsp + 0x60]
lea rdx, [rsp + 0x38]
movups xmmword [rax + 0x168], xmm0
mov r8d, 8
movsd xmm1, qword [rsp + 0x70]
movsd qword [rax + 0x178], xmm1
mov ecx, dword [rsp + 0x78]
mov dword [rax + 0x180], ecx
lea rcx, [rdi + 0x190]
mov dword [rax + 0x24], 1
mov dword [rax + 0x20], 1
mov dword [rax + 0xc8], 4
mov dword [rax + 0x1b8], 0xffffffff
mov qword [rax + 0xb0], rdi
mov dword [rax + 0xd0], 1
inc dword [rdi + 0xac]
call fcn.180035d10
mov rbx, qword [rsp + 0x38]
mov dword [rsp + 0x30], eax
test eax, eax
js 0x180036091
lea rcx, [rbx + 0x190]
mov r8d, r14d
mov rdx, r13
call fcn.180035d10
mov dword [rsp + 0x30], eax
test eax, eax
js 0x180036091
jmp 0x1800365aa
mov rbx, qword [0x1801f3ea8]
test rbx, rbx
je 0x180036066
mov ecx, dword [r13 + 2]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp dword [rbx + 0xa0], eax
je 0x1800361a1
mov rbx, qword [rbx + 0x1c8]
test rbx, rbx
jne 0x180036040
mov eax, dword [rsp + 0x30]
cmp byte [r13 + 0xa], 1
jne 0x180036089
mov rbx, rdi
mov r9d, dword [rsp + 0x34]
lea r8, [rsp + 0x60]
mov rdx, r13
mov rcx, rbx
call fcn.1800367c0
mov dword [rsp + 0x30], eax
cmp byte [r13 + 0xa], r12b
jne 0x180036070
cmp dword [rbx + 0x24], r12d
je 0x1800361c7
movsxd r8, dword [rsp + 0x34]
lea rcx, [rbx + 0x168]
lea rdx, [rsp + 0x60]
call fcn.1800a2a90
mov ecx, dword [r13 + 6]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp eax, dword [rbx + 0x184]
jae 0x1800362d6
movsd xmm0, qword [r13]
movzx eax, word [r13 + 8]
mov ecx, dword [rbx + 0xa4]
movsd qword [rsp + 0x38], xmm0
mov word [rsp + 0x38], r12w
mov word [rsp + 0x40], ax
call qword [sym.imp.WS2_32.dll_htonl]
xor ecx, ecx
mov byte [rsp + 0x42], 0xa
mov dword [rsp + 0x3a], eax
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r14d, ax
lea rcx, [r14 + 0xb]
call fcn.1800a411c
mov edx, 0x20
mov rsi, rax
lea ecx, [rdx - 0x1f]
call fcn.1800a4478
mov rdi, rax
test rax, rax
je 0x18003627a
test rsi, rsi
je 0x180036275
lea r8, [r14 + 0xb]
mov rcx, rsi
lea rdx, [rsp + 0x38]
call fcn.1800a2a90
lea rcx, [rsp + 0x38]
mov qword [rdi], rsi
call fcn.1800a42d4
imul rcx, qword [rsp + 0x38], 0x3e8
movzx eax, word [rsp + 0x40]
add rcx, rax
mov qword [rdi + 8], rcx
jmp 0x18003628a
mov rcx, rdi
jmp 0x180036282
test rsi, rsi
je 0x180036287
mov rcx, rsi
call fcn.1800a4108
mov rdi, r12
mov rax, qword [rbx + 0x198]
test rax, rax
je 0x1800362b4
mov qword [rdi + 0x18], rax
cmp qword [rax + 0x18], r12
je 0x1800362ae
mov rax, qword [rax + 0x18]
mov qword [rdi + 0x18], rax
cmp qword [rax + 0x18], r12
jne 0x1800362a0
mov qword [rax + 0x18], rdi
jmp 0x1800362bb
mov qword [rbx + 0x198], rdi
xor ecx, ecx
mov qword [rdi + 0x18], r12
call fcn.1800a4294
mov qword [rbx + 0x160], rax
mov eax, dword [rsp + 0x30]
jmp 0x180036089
mov rdx, r13
mov rcx, rbx
call fcn.180037ca0
mov dword [rsp + 0x30], eax
test eax, eax
js 0x180036091
movsd xmm0, qword [r13]
movzx eax, word [r13 + 8]
mov ecx, dword [rbx + 0xa4]
movsd qword [rsp + 0x38], xmm0
mov word [rsp + 0x38], r12w
mov word [rsp + 0x40], ax
call qword [sym.imp.WS2_32.dll_htonl]
xor ecx, ecx
mov byte [rsp + 0x42], 2
mov dword [rsp + 0x3a], eax
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r14d, ax
lea rcx, [r14 + 0xb]
call fcn.1800a411c
mov edx, 0x20
mov rsi, rax
lea ecx, [rdx - 0x1f]
call fcn.1800a4478
mov rdi, rax
test rax, rax
je 0x18003638a
test rsi, rsi
je 0x180036385
lea r8, [r14 + 0xb]
mov rcx, rsi
lea rdx, [rsp + 0x38]
call fcn.1800a2a90
lea rcx, [rsp + 0x48]
mov qword [rdi], rsi
call fcn.1800a42d4
imul rcx, qword [rsp + 0x48], 0x3e8
movzx eax, word [rsp + 0x50]
add rcx, rax
mov qword [rdi + 8], rcx
jmp 0x18003639a
mov rcx, rdi
jmp 0x180036392
test rsi, rsi
je 0x180036397
mov rcx, rsi
call fcn.1800a4108
mov rdi, r12
mov rax, qword [rbx + 0x198]
test rax, rax
je 0x1800363c4
mov qword [rdi + 0x18], rax
cmp qword [rax + 0x18], r12
je 0x1800363be
mov rax, qword [rax + 0x18]
mov qword [rdi + 0x18], rax
cmp qword [rax + 0x18], r12
jne 0x1800363b0
mov qword [rax + 0x18], rdi
jmp 0x1800363cb
mov qword [rbx + 0x198], rdi
xor ecx, ecx
mov qword [rdi + 0x18], r12
call fcn.1800a4294
mov qword [rbx + 0x160], rax
mov esi, dword [rbx + 0x184]
mov eax, dword [rbx + 0x188]
cmp esi, eax
mov ecx, dword [r13 + 6]
cmovbe esi, eax
call qword [sym.imp.WS2_32.dll_ntohl]
cmp esi, eax
jae 0x1800362cd