Function at 0x140005070
Capabilities:
Access peb ldr_data
Get process filename

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1b8
mov edx, 1
mov rbx, rcx
mov ecx, 0x108
lea rdi, [rsp + 0x110]
call sub.msvcrt.dll_calloc
mov ecx, 0x20
mov rsi, rax
mov eax, 0xffffffff
mov qword [rsi], rax
call fcn.140261730
movdqu xmm0, xmmword [0x140270ab0]
mov r8d, dword [rbx + 8]
mov rcx, rdi
lea rdx, [rax + 0x20]
mov qword [rsp + 0xf0], rax
movups xmmword [rax], xmm0
movdqu xmm0, xmmword [0x140270ac0]
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0xf8], rdx
mov rdx, qword [rbx]
movups xmmword [rax + 0x10], xmm0
mov qword [rsp + 0x48], rdi
call fcn.140004f30
lea rax, [rsp + 0xf0]
lea rcx, [rsp + 0x130]
mov rdx, rdi
mov r8, rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x40], rax
call fcn.140004b10
mov r15, qword [rsp + 0x138]
lea rbx, [rsp + 0x150]
movdqu xmm0, xmmword [rsp + 0x130]
lea rdx, [rsp + 0x98]
mov qword [rsp + 0xe0], 0
mov rcx, rbx
movq rbp, xmm0
mov r13, r15
punpcklqdq xmm0, xmm0
mov dword [rsp + 0x98], 0
sub r13, rbp
movups xmmword [rsp + 0x150], xmm0
movd xmm1, r13d
mov qword [rsp + 0xe8], r13
pshufd xmm0, xmm1, 0xe0
movq qword [rsp + 0x160], xmm0
call fcn.1400039e0
mov r11, rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
movzx r10d, word [r11]
mov r9, qword [rax + 0x10]
mov rax, qword [r9 + 0x60]
movzx edx, word [rax]
test r10w, r10w
je 0x1400051ec
mov edx, r10d
mov rcx, r11
jmp 0x1400051d4
movzx edx, word [rcx + 2]
add rcx, 2
lea r8, [rax + 2]
test dx, dx
je 0x1400051e8
mov rax, r8
cmp dx, word [rax]
je 0x1400051c0
mov r9, qword [r9]
mov rax, qword [r9 + 0x60]
jmp 0x1400051b5
movzx edx, word [rax + 2]
test dx, dx
je 0x140005200
mov r9, qword [r9]
jmp 0x1400051a8
lea rdx, [rsp + 0x9c]
mov rcx, rbx
mov rdi, qword [r9 + 0x30]
mov dword [rsp + 0x9c], 0
call fcn.1400039e0
mov rdx, rax
mov rcx, rdi
call fcn.1400037c0
lea rdx, [rsp + 0xa0]
mov rcx, rbx
mov dword [rsp + 0xa0], 0
mov qword [rsp + 0x70], rax
call fcn.1400039e0
mov rdx, rax
mov rcx, rdi
call fcn.1400037c0
lea rdx, [rsp + 0xa4]
mov rcx, rbx
mov dword [rsp + 0xa4], 0
mov qword [rsp + 0x30], rax
call fcn.1400039e0
mov rdx, rax
mov rcx, rdi
call fcn.1400037c0
lea rdx, [rsp + 0xa8]
mov rcx, rbx
mov dword [rsp + 0xa8], 0
mov qword [rsp + 0x38], rax
call fcn.1400039e0
lea rdx, [rsp + 0xac]
mov rcx, rbx
mov r14, rax
mov dword [rsp + 0xac], 0
call fcn.1400039e0
mov rdx, qword [rsp + 0x30]
mov r12, rax
mov rcx, r14
call rdx
mov rcx, rax
mov rdx, r12
mov rax, qword [rsp + 0x38]
call rax
lea rdx, [rsp + 0xb0]
mov rcx, rbx
mov r14, rax
mov dword [rsp + 0xb0], 0
call fcn.1400039e0
mov rdx, rax
mov rcx, rdi
call fcn.1400037c0
lea rdx, [rsp + 0xb4]
mov rcx, rbx
mov dword [rsp + 0xb4], 0
mov r12, rax
call fcn.1400039e0
mov rdx, rax
mov rcx, rdi
call fcn.1400037c0
lea rdx, [rsp + 0xb8]
mov rcx, rbx
mov dword [rsp + 0xb8], 0
mov qword [rsp + 0x60], rax
call fcn.1400039e0
mov rdx, rax
mov rcx, rdi
call fcn.1400037c0
mov dword [rsp + 0x28], 0x40
xor r8d, r8d
lea rdx, [rsp + 0xe0]
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0xe8]
mov rcx, 0xffffffffffffffff
mov dword [rsp + 0x20], 0x3000
call r14
mov rcx, qword [rsp + 0xe0]
mov r8, r13
mov rdx, rbp
call sub.msvcrt.dll_memcpy
cmp r15, rbp
je 0x1400053a7
mov qword [rsp + 0x138], rbp
movd xmm2, dword [rsp + 0xe8]
lea rdi, [rsp + 0xbc]
mov rcx, rbx
movddup xmm0, qword [rsp + 0xe0]
mov rdx, rdi
movups xmmword [rsp + 0x150], xmm0
mov dword [rsp + 0xbc], 0
pshufd xmm0, xmm2, 0xe0
mov dword [rsp + 0xc0], 0
movq qword [rsp + 0x160], xmm0
call fcn.1400039e0
mov rdx, rdi
mov rcx, rbx
call fcn.1400039e0
mov rdx, rdi
mov rcx, rbx
call fcn.1400039e0
mov rdx, rdi
mov rcx, rbx
call fcn.1400039e0
mov rdx, rdi
mov rcx, rbx
call fcn.1400039e0
mov rdx, rdi
mov rcx, rbx
call fcn.1400039e0
mov rdx, rdi
mov rcx, rbx
call fcn.1400039e0
mov rdx, rdi
mov rcx, rbx
call fcn.1400039e0
mov rdx, rdi
mov rcx, rbx
call fcn.1400039e0
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0x158]
xor edx, edx
sub r8, qword [rsp + 0x150]
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0xc0]
mov rcx, rbx
call fcn.1400039e0
lea rbp, [rsp + 0x170]
mov r8d, dword [rsp + 0xc0]
mov rdx, rax
mov rcx, rbp
call fcn.140004f30
lea rdx, [rsp + 0xc4]
mov rcx, rbx
mov dword [rsp + 0xc4], 0
call fcn.1400039e0
mov rdi, rax
movsxd rax, dword [rsp + 0xc4]
mov dword [rsp + 0x5c], 0
movq xmm3, rdi
movddup xmm0, xmm3
movd xmm4, eax
mov r13, rax
movups xmmword [rsp + 0x150], xmm0
pshufd xmm0, xmm4, 0xe0
movq qword [rsp + 0x160], xmm0
cmp rax, 3
ja 0x1400056cc
lea rdx, [rsp + 0xc8]
mov rcx, rbx
mov dword [rsp + 0xc8], 0
call fcn.1400039e0
lea rdx, [rsp + 0xcc]
mov rcx, rbx
mov r15, rax
mov dword [rsp + 0xcc], 0
call fcn.1400039e0
lea rdx, [rsp + 0xd0]
mov rcx, rbx
mov r13, rax
mov dword [rsp + 0xd0], 0
call fcn.1400039e0
lea rdx, [rsp + 0xd4]
mov rcx, rbx
mov qword [rsp + 0x78], rax
mov dword [rsp + 0xd4], 0
call fcn.1400039e0
lea rdx, [rsp + 0xd8]
mov rcx, rbx
mov rdi, rax
mov dword [rsp + 0xd8], 0
call fcn.1400039e0
movsxd r14, dword [rsp + 0xc8]
mov r9d, 0x40
mov r8d, 0x3000
xor ecx, ecx
mov rdx, r14
call r12
movq xmm5, rdi
mov rbx, rax
movddup xmm0, xmm5
test rax, rax
je 0x140005691
mov eax, dword [rsp + 0xd4]
movups xmmword [rsp + 0x190], xmm0
movd xmm1, eax
pshufd xmm0, xmm1, 0xe0
movq qword [rsp + 0x1a0], xmm0
cmp eax, 0xb
jle 0x140005897
lea rdx, [rdi + 0xc]
sub eax, 0xc
mov qword [rsp + 0x198], rdx
mov dword [rsp + 0x1a0], eax
lea r12, [0x14026f1cc]
movsx rdx, word [rdi + 2]
lea eax, [rdx - 0x400]
cmp ax, 4
ja case.default.0x140005624
movzx eax, ax
movsxd rax, dword [r12 + rax*4]
add rax, r12
jmp rax
mov r8, r14
mov rdx, r15
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov r8, r14
xor edx, edx
mov rcx, r15
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x60]
mov rdx, r14
mov rcx, rbx
lea r9, [rsp + 0xdc]
mov r8d, 0x40
call rax
mov rcx, qword [rsp + 0x170]
movsxd rax, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x178]
add rax, rbx
sub edx, ecx
call rax
mov rax, qword [rsp + 0x68]
mov r8d, 0x8000
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rsi
call fcn.140233da0
mov rcx, rbp
call fcn.14025c250
mov rcx, qword [rsp + 0x50]
call fcn.14025c250
mov rcx, qword [rsp + 0x48]
call fcn.14025c250
mov rcx, qword [rsp + 0x40]
call fcn.14025c250
nop
add rsp, 0x1b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rdi]
call qword [sym.imp.WS2_32.dll_ntohl]
add rdi, 4
add r13d, 4
mov dword [rsp + 0x5c], eax
mov qword [rsp + 0x158], rdi
mov dword [rsp + 0x160], r13d
jmp 0x1400054f8
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x88], rax
call fcn.140003b30
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x80], rax
call fcn.140003b30
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x30]
call rax
mov rcx, rax
test rax, rax
je 0x140005880
mov rdx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x38]
call rax
test rax, rax
je 0x140005691
xor edx, edx
jmp 0x140005776
add rdx, 1
cmp rdx, 0x20
je 0x14000589e
cmp rax, qword [rsi + rdx*8 + 8]
jne 0x140005768
lea eax, [rdx + 1]
cdqe
lea rdx, [rsi + rax*8]
jmp 0x140005827
movsx rax, word [rdi]
movsxd r8, dword [rdi + 8]
lea edx, [rax - 4]
cmp dx, 5
ja 0x140005691
movsxd r9, dword [rdi + 4]
lea rcx, [r15 + r9]
add rax, r9
mov edx, dword [rcx]
add rdx, r8
sub rdx, rax
mov dword [rcx], edx
jmp 0x140005851
movsx rax, word [rdi]
movsxd r9, dword [rdi + 8]
lea edx, [rax - 4]
cmp dx, 5
ja 0x140005691
movsxd r8, dword [rdi + 4]
lea rcx, [r15 + r8]
add rax, r8
mov edx, dword [rcx]
add rax, rbx
add rdx, r9
add rdx, r13
sub rdx, rax
mov dword [rcx], edx
jmp 0x140005851
movsx rax, word [rdi]
movsxd r9, dword [rdi + 8]
lea edx, [rax - 4]
cmp dx, 5
ja 0x140005691
movsxd r8, dword [rdi + 4]
mov rdi, qword [rsp + 0x78]
lea rcx, [r15 + r8]
add rax, r8
mov edx, dword [rcx]
add rax, rbx
add rdx, r9
add rdx, rdi
sub rdx, rax
mov dword [rcx], edx
jmp 0x140005851
lea rdx, [rsi + rdx*8]
movsx rax, word [rdi]
lea ecx, [rax - 4]
cmp cx, 5
ja 0x140005691
movsxd r8, dword [rdi + 4]
lea rcx, [r15 + r8]
add rax, r8
mov r9d, dword [rcx]
add rax, rbx
add rdx, r9
sub rdx, rax
mov dword [rcx], edx
mov eax, dword [rsp + 0x1a0]
cmp eax, 0xb
jle 0x1400058cb
mov rdi, qword [rsp + 0x198]
sub eax, 0xc
mov dword [rsp + 0x1a0], eax
lea rdx, [rdi + 0xc]
mov qword [rsp + 0x198], rdx
jmp 0x140005605
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x70]
call rax
mov rcx, rax
jmp 0x140005745
xor edi, edi
jmp 0x1400055fe
xor edx, edx
jmp 0x1400058b6
add rdx, 1
cmp rdx, 0x20
je 0x140005691
cmp qword [rsi + rdx*8 + 8], 0
jne 0x1400058a8
movsxd rcx, edx
mov qword [rsi + rcx*8 + 8], rax
jmp 0x14000577d
movzx eax, word [2]
ud2