Function at 0x1400ec130
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x390]
sub rsp, 0x490
mov rax, qword [0x14019d0c0]
xor rax, rsp
mov qword [rbp + 0x380], rax
mov r12, r9
mov r14, r8
mov qword [rsp + 0x40], r8
mov r15, rdx
mov r13, rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdx
mov rax, qword [rbp + 0x3f0]
mov qword [rsp + 0x38], rax
xor esi, esi
mov qword [rbp + 0x10], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], 7
mov word [rbp + 0x18], si
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], rsi
mov qword [rbp + 0x50], recvfrom
mov byte [rbp + 0x38], sil
mov dword [rbp + 0x58], esi
mov rbx, qword [r8]
test rbx, rbx
jne 0x1400ec1d1
mov dword [rdx], 0xc00000ef
mov byte [rdx + 0x58], bl
jmp 0x1400ec4c2
movups xmmword [rbp + 0x60], xmm0
lea rax, [fcn.14012e000]
mov qword [rbp + 0x60], rax
mov rdi, rsi
mov qword [rbp + 0x68], rsi
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x170]
call fcn.14014c1f0
mov rax, qword [r13 + 8]
mov qword [rbp + 0xf0], rsi
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea rdx, [rbp + 0xf0]
mov qword [rsp + 0x20], rdx
mov r9d, 0x40
lea r8, [rbp + 0x130]
mov rdx, rbx
call qword [rax + 0x18]
mov eax, 0x5a4d
cmp word [rbp + 0x130], ax
je 0x1400ec26b
mov dword [r15], 0xc000012f
mov byte [r15 + 0x58], 0
jmp 0x1400ec4c2
mov rax, qword [r13 + 8]
movsxd rdx, dword [rbp + 0x16c]
add rdx, qword [r14]
mov qword [rbp + 0xf8], rsi
je 0x1400ec2a9
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea r8, [rbp + 0xf8]
mov qword [rsp + 0x20], r8
mov r9d, 0x108
lea r8, [rbp + 0x170]
call qword [rax + 0x18]
cmp dword [rbp + 0x170], 0x4550
je 0x1400ec2c6
mov dword [r15], 0xc000007b
mov byte [r15 + 0x58], 0
jmp 0x1400ec4c2
mov ebx, dword [rbp + 0x1f8]
mov ecx, 0x10b
mov rax, qword [rbp + 0x188]
cmp ax, cx
cmove ebx, dword [rbp + 0x1e8]
mov r14d, ebx
test ebx, ebx
je 0x1400ec4a8
mov r13d, dword [rbp + 0x1fc]
cmp ax, cx
cmove r13d, dword [rbp + 0x1ec]
mov ecx, r13d
call fcn.1401325bc
mov rdi, rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 8]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
mov qword [rbp + 0x100], rsi
add rdx, r14
jne 0x1400ec339
mov eax, 0xc0000141
jmp 0x1400ec35d
mov rax, qword [rcx + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea r8, [rbp + 0x100]
mov qword [rsp + 0x20], r8
mov r9d, r13d
mov r8, rdi
call qword [rax + 0x18]
test eax, eax
jns 0x1400ec36a
mov dword [r15], eax
mov byte [r15 + 0x58], 0
jmp 0x1400ec4b4
mov r10, rdi
cmp r13d, 0x28
ja 0x1400ec40e
mov ecx, dword [rdi + 0x14]
cmp ecx, dword [rdi + 0x18]
cmovbe ecx, dword [rdi + 0x18]
imul r13d, ecx, 0xff
add r13d, dword [rdi + 0x24]
sub r13d, ebx
mov ebx, r13d
mov ecx, r13d
call fcn.1401325bc
mov rdi, rax
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0xc0]
test rax, rax
je 0x1400ec3b6
mov rcx, rax
call fcn.14012e000
nop
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 8]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
mov qword [rbp + 0xc0], rsi
add rdx, r14
jne 0x1400ec3da
mov eax, 0xc0000141
jmp 0x1400ec401
mov rax, qword [rcx + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea r8, [rbp + 0xc0]
mov qword [rsp + 0x20], r8
mov r9, rbx
mov r8, rdi
call qword [rax + 0x18]
mov r10, rdi
test eax, eax
jns 0x1400ec40e
mov dword [r15], eax
mov byte [r15 + 0x58], 0
jmp 0x1400ec4b4
mov ebx, dword [r10 + 0x24]
sub rbx, r14
add rbx, r10
mov ecx, dword [r10 + 0x20]
sub rcx, r14
add rcx, r10
mov qword [rbp + 0x90], rcx
mov eax, dword [r10 + 0x1c]
sub rax, r14
add rax, r10
mov qword [rbp + 0xc8], rax
mov r8d, esi
cmp dword [r10 + 0x14], esi
jbe 0x1400ec4a8
cmp r12, 0xffff
ja 0x1400ec460
movzx r11d, r8w
movzx ecx, r8w
add ecx, dword [r10 + 0x10]
movzx eax, r12w
cmp eax, ecx
jmp 0x1400ec496
cmp r8d, dword [r10 + 0x18]
jae 0x1400ecbca
mov eax, r8d
mov ecx, dword [rcx + rax*4]
sub rcx, r14
add rcx, r10
movzx r11d, word [rbx + rax*2]
mov r9, r12
sub r9, rcx
movzx edx, byte [rcx]
movzx eax, byte [rcx + r9]
sub edx, eax
jne 0x1400ec494
inc rcx
test eax, eax
jne 0x1400ec481
test edx, edx
je 0x1400ec501
inc r8d
cmp r8d, dword [r10 + 0x14]
mov rcx, qword [rbp + 0x90]
jb 0x1400ec443
mov dword [r15], 0xc0000225
mov byte [r15 + 0x58], 0
test rdi, rdi
je 0x1400ec4c2
mov rcx, rdi
call fcn.14012e000
nop
lea rcx, [rbp + 0x38]
call fcn.140001e20
lea rcx, [rbp + 0x18]
call fcn.1400152a0
mov rax, r15
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.14011c6a0
mov rbx, qword [rsp + 0x4e8]
add rsp, 0x490
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
movzx eax, r11w
mov rcx, qword [rbp + 0xc8]
mov ebx, dword [rcx + rax*4]
add rbx, rdx
mov qword [rbp + 0x10], rbx
lea rax, [r14 + rdx]
cmp rbx, rax
jb 0x1400ecb6b
mov eax, r13d
add rax, r14
add rax, rdx
cmp rbx, rax
ja 0x1400ecb6b
xor edx, edx
mov r8d, 0xff
lea rcx, [rbp + 0x280]
call fcn.14014c1f0
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 8]
mov qword [rbp + 0xc8], rsi
test rbx, rbx
je 0x1400ec590
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea rdx, [rbp + 0xc8]
mov qword [rsp + 0x20], rdx
mov r9d, 0xff
lea r8, [rbp + 0x280]
mov rdx, rbx
call qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], rsi
lea rax, [rbp + 0x280]
mov r14, 0xffffffffffffffff
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x1400ec5b6
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x70]
call fcn.1400016c0
nop
lea rbx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova rbx, qword [rbp + 0x70]
mov r13, qword [rbp + 0x80]
cmp r13, 1
jb 0x1400ec639
lea r12, [rbx + r13]
mov r8, r13
mov edx, 0x2e
mov rcx, rbx
call fcn.14014c590
test rax, rax
je 0x1400ec639
cmp byte [rax], 0x2e
jne 0x1400ec611
mov ecx, esi
jmp 0x1400ec616
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400ec719
inc rax
mov r8, r12
sub r8, rax
mov edx, 0x2e
mov rcx, rax
call fcn.14014c590
test rax, rax
jne 0x1400ec608
mov rax, r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
cmp r13, rax
cmovb rax, r13
lea rdx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova rdx, qword [rbp + 0x70]
mov r8, rax
lea rcx, [rsp + 0x50]
call fcn.1400016c0
nop
mov r8d, 4
lea rdx, str..dll
lea rcx, [rsp + 0x50]
call fcn.140008d70
xorps xmm0, xmm0
movups xmmword [rbp + 0x108], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x118], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x108], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x118], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], recvfrom
mov byte [rax], 0
lea rcx, [rsp + 0x50]
call fcn.140001e20
lea r13, [rbp + 0x70]
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x88]
cmp r9, 0xf
cmova r13, rdx
mov r12, qword [rbp + 0x80]
cmp r12, 1
jb 0x1400ec754
lea rbx, [r12 + r13]
mov r8, r12
mov edx, 0x2e
mov rcx, r13
call fcn.14014c590
test rax, rax
je 0x1400ec749
nop word [rax + rax]
cmp byte [rax], 0x2e
jne 0x1400ec721
mov ecx, esi
jmp 0x1400ec726
sub rax, rbx
jmp 0x1400ec63c
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400ec82b
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x2e
mov rcx, rax
call fcn.14014c590
test rax, rax
jne 0x1400ec710
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x88]
mov rax, r14
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], rsi
mov qword [rbp + 0xb8], rsi
cmp r12, rcx
jb 0x1400ecbdb
sub r12, rcx
mov r8, r14
cmp r12, r14
cmovb r8, r12
lea rax, [rbp + 0x70]
cmp r9, 0xf
cmova rax, rdx
lea rdx, [rax + rcx]
lea rcx, [rbp + 0xa0]
call fcn.1400016c0
nop
lea rdx, [rbp + 0x108]
lea rcx, [rbp + 0xd0]
call fcn.1400eb190
nop
mov byte [rbp + 0x5a], 1
lea rdx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 7
cmova rdx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xe0]
lea rcx, [rbp + 0x18]
call fcn.140066880
lea r13, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0xf
cmova r13, qword [rbp + 0xa0]
mov r12, qword [rbp + 0xb0]
cmp r12, 1
jb 0x1400ec862
lea rbx, [r12 + r13]
mov r8, r12
mov edx, 0x23
mov rcx, r13
call fcn.14014c590
test rax, rax
je 0x1400ec862
cmp byte [rax], 0x23
jne 0x1400ec83e
mov ecx, esi
jmp 0x1400ec843
sub rax, r13
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x88]
jmp 0x1400ec757
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400ec8ac
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x23
mov rcx, rax
call fcn.14014c590
test rax, rax
jne 0x1400ec822
mov byte [rbp + 0x5b], 0
lea r9, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0xf
cmova r9, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x50]
cmp r12, rax
ja 0x1400ec8dd
lea rbx, [rbp + 0x38]
cmp rax, 0xf
cmova rbx, qword [rbp + 0x38]
mov qword [rbp + 0x48], r12
mov r8, r12
mov rdx, r9
mov rcx, rbx
call fcn.14014bb50
mov byte [r12 + rbx], 0
jmp 0x1400ec8e9
sub rax, r13
sete byte [rbp + 0x5b]
test rax, rax
jne 0x1400ec866
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0xf
cmova rcx, qword [rbp + 0xa0]
inc rcx
call fcn.140133360
mov word [rbp + 0x58], ax
jmp 0x1400ec8e9
mov rdx, r12
lea rcx, [rbp + 0x38]
call fcn.14000af00
mov eax, 0x10b
cmp word [rbp + 0x188], ax
setne sil
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0x90]
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.1400ebba0
nop
cmp qword [rbp + 0x90], 0
jne 0x1400eca0f
lea rax, [rbp - 0x40]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x40], rax
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x38]
call fcn.1400e8ce0
nop
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x18]
call fcn.140007930
movzx eax, word [rbp + 0x58]
mov word [rbp + 8], ax
movzx eax, byte [rbp + 0x5a]
mov byte [rbp + 0xa], al
movzx eax, byte [rbp + 0x5b]
mov byte [rbp + 0xb], al
mov r8d, 0x107
lea rdx, [rbp - 0x40]
mov rcx, r15
call fcn.1400ee640
nop
mov rbx, qword [rbp + 0x98]
test rbx, rbx
je 0x1400ec9cd
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400ec9c9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x1400ec9c9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rbp + 0x68]
lea rcx, [rbp + 0xd0]
call fcn.1400152a0
nop
lea rcx, [rbp + 0xa0]
call fcn.140001e20
nop
lea rcx, [rbp + 0x108]
call fcn.140001e20
nop
lea rcx, [rbp + 0x70]
call fcn.140001e20
nop
test rdi, rdi
je 0x1400eca0a
mov rcx, rdi
call qword [rbp + 0x60]
nop
jmp 0x1400ec4c2
lea rax, [rbp + 0xd0]
lea r8, [rbp + 0x90]
mov rdx, r15
mov rcx, rbx
cmp byte [rbp + 0x5b], 0
je 0x1400ecabd
cmp qword [rbp + 0xe8], 7
cmova rax, qword [rbp + 0xd0]
movzx r9d, word [rbp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.1400ec100
nop
mov rbx, qword [rbp + 0x98]
test rbx, rbx
je 0x1400eca87
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400eca83
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x1400eca83
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rbp + 0x68]
lea rcx, [rbp + 0xd0]
call fcn.1400152a0
nop
lea rcx, [rbp + 0xa0]
call fcn.140001e20
nop
lea rcx, [rbp + 0x108]
call fcn.140001e20
nop
lea rcx, [rbp + 0x70]
call fcn.140001e20
nop
jmp 0x1400ecb5a
cmp qword [rbp + 0xe8], 7
cmova rax, qword [rbp + 0xd0]
lea r9, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0xf
cmova r9, qword [rbp + 0xa0]
mov qword [rsp + 0x20], rax
call fcn.1400ec100
nop
mov rbx, qword [rbp + 0x98]
test rbx, rbx
je 0x1400ecb29
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400ecb25
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x1400ecb25
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rbp + 0x68]
lea rcx, [rbp + 0xd0]
call fcn.1400152a0
nop
lea rcx, [rbp + 0xa0]
call fcn.140001e20
nop
lea rcx, [rbp + 0x108]
call fcn.140001e20
nop
lea rcx, [rbp + 0x70]
call fcn.140001e20
nop
test rdi, rdi
je 0x1400ecb66
mov rcx, rdi
call qword [rbp + 0x60]
nop
jmp 0x1400ec4c2
mov qword [rsp + 0x70], rbx
movups xmm1, xmmword [rbp + 0x18]
movups xmmword [rsp + 0x78], xmm1
movups xmm0, xmmword [rbp + 0x28]
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], 7
mov word [rbp + 0x18], si
movups xmm1, xmmword [rbp + 0x38]
movups xmmword [rbp - 0x68], xmm1
movups xmm0, xmmword [rbp + 0x48]
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp + 0x48], rsi
mov qword [rbp + 0x50], recvfrom
mov byte [rbp + 0x38], 0
mov dword [rbp - 0x48], esi
xor r8d, r8d
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.1400ee640
nop
jmp 0x1400ec4b4
mov dword [r15], 0xc0000225
mov byte [r15 + 0x58], 0
jmp 0x1400ec4b4
call fcn.1400098d0
int3