Function at 0x14023b6b0
Capabilities:
Parse pe header

Disassembly:
push rbp
push rbx
push rsi
push r13
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0xc8
mov rax, qword [0x140479080]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rax, qword [rcx + 0x98]
xor r13d, r13d
mov rsi, qword [rcx + 0xa0]
mov r15d, edx
mov qword [rbp - 0x49], rax
mov r14, rcx
mov qword [rcx + 0xd8], r13
mov ebx, r13d
mov dword [rbp - 0x71], edx
mov rax, qword [rsi + 0x20]
test rax, rax
je 0x14023b71c
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call rax
test eax, eax
je 0x14023b71c
lea ebx, [r13 + 0x55]
jmp 0x14023b720
mov dword [rsi + 0xc], r13d
test ebx, ebx
jne 0x14023bd68
lea r8, [rbp - 0x75]
mov rcx, rsi
lea rdx, [0x140376188]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd68
lea ebx, [rax + 2]
mov qword [rsp + 0x110], rdi
mov eax, 0x5a4d
mov qword [rsp + 0xc0], r12
cmp word [rbp - 0x75], ax
jne 0x14023bd50
movzx edi, word [rbp - 0x73]
mov rcx, rsi
mov edx, edi
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd58
lea r8, [rbp - 0x6d]
mov rcx, rsi
lea rdx, [0x140376220]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd58
lea ebx, [rax + 2]
mov ecx, 0x454e
movzx eax, word [rbp - 0x6d]
cmp ax, cx
jne 0x14023b974
movzx r12d, word [rbp - 0x6b]
mov rcx, rsi
movzx r15d, r13w
lea edx, [r12 + rdi]
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd58
movzx edx, word [rbp - 0x69]
mov rcx, rsi
sub edx, r12d
call fcn.140201380
mov ebx, eax
test eax, eax
jne 0x14023bd58
mov rcx, rsi
call fcn.140201530
movzx r12d, ax
call fcn.140201530
movzx r9d, ax
test ax, ax
je 0x14023b859
mov r10d, 0x8008
nop dword [rax]
mov rcx, rsi
call fcn.140201530
cmp r9w, r10w
je 0x14023b844
movzx eax, ax
lea rcx, [rax + rax*2]
lea rcx, [rcx*4 + 4]
add qword [rsi + 0x38], rcx
mov rcx, rsi
call fcn.140201530
movzx r9d, ax
test ax, ax
jne 0x14023b810
jmp 0x14023b859
mov ecx, dword [rsi + 0xc]
movzx r15d, ax
mov r13d, dword [rsi + 0x38]
sub ecx, dword [rsi + 0x40]
add r13d, 4
add r13d, ecx
mov rcx, rsi
call fcn.1402014a0
test r15w, r15w
je 0x14023bd39
test r13d, r13d
je 0x14023bd39
movzx ecx, r15w
imul eax, ecx, 0x76
cmp eax, dword [rsi + 8]
ja 0x14023bd39
mov r15d, dword [rbp - 0x71]
mov dword [r14], ecx
cmp r15d, ecx
jge 0x14023bd45
test r15d, r15d
js 0x14023bd58
xor eax, eax
mov edx, 0xb8
mov ebx, eax
mov rax, qword [rbp - 0x49]
mov rcx, rax
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, rax
test rax, rax
jne 0x14023b8bd
lea ebx, [rax + 0x40]
jmp 0x14023b8cd
xor edx, edx
mov r8d, 0xb8
mov rcx, rdi
call fcn.14025e440
mov qword [r14 + 0xd8], rdi
test ebx, ebx
jne 0x14023bd58
lea eax, [r15 + r15*2]
mov rcx, rsi
lea edx, [rax*4]
add edx, r13d
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd50
lea edx, [rax + 0xc]
mov rcx, rsi
call fcn.140201380
mov ebx, eax
test eax, eax
jne 0x14023bd50
mov rcx, rsi
movzx r10d, r12w
call fcn.140201530
movzx r9d, ax
mov ecx, r10d
mov rax, qword [r14 + 0xd8]
shl r9d, cl
mov rcx, rsi
mov dword [rax], r9d
call fcn.140201530
movzx r9d, ax
mov ecx, r10d
mov rax, qword [r14 + 0xd8]
shl r9d, cl
mov rcx, rsi
mov dword [rax + 0xa8], r9d
add qword [rsi + 0x38], 8
call fcn.1402014a0
mov rcx, qword [r14 + 0xd8]
mov rdx, rsi
call fcn.14023b590
mov ebx, eax
jmp 0x14023bd32
mov r12d, 0x4550
cmp ax, r12w
jne 0x14023bd32
mov edx, edi
mov rcx, rsi
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd58
lea r8, [rbp - 0x41]
mov rcx, rsi
lea rdx, [0x140376238]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd58
cmp dword [rbp - 0x41], r12d
jne 0x14023bd39
mov eax, 0x14c
cmp word [rbp - 0x3d], ax
jne 0x14023bd39
mov eax, 0xe0
cmp word [rbp - 0x39], ax
jne 0x14023bd39
mov eax, 0x10b
cmp word [rbp - 0x37], ax
jne 0x14023bd39
movzx r15d, word [rbp - 0x3b]
movzx edi, r13w
mov dword [r14], r13d
cmp r13w, r15w
jae 0x14023bd39
mov r12d, dword [rbp - 0x35]
nop word [rax + rax]
lea r8, [rbp - 0x19]
mov rcx, rsi
lea rdx, [0x140376338]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd58
cmp r12d, dword [rbp - 0x11]
je 0x14023ba44
inc di
cmp di, r15w
jb 0x14023ba10
lea ebx, [rax + 3]
jmp 0x14023bd58
mov edi, dword [rbp - 9]
mov rcx, rsi
mov edx, edi
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd58
lea r8, [rbp - 0x29]
mov rcx, rsi
lea rdx, [0x140376270]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd58
movzx ecx, word [rbp - 0x1b]
movzx eax, word [rbp - 0x1d]
add eax, ecx
mov word [rbp - 0x75], r13w
mov dword [rbp - 0x6d], eax
je 0x14023bd2e
mov eax, r13d
nop dword [rax]
nop word [rax + rax]
lea eax, [rax + 2]
mov rcx, rsi
lea edx, [rdi + rax*8]
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd58
lea r8, [rbp - 0x59]
mov rcx, rsi
lea rdx, [0x140376328]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd58
mov eax, dword [rbp - 0x55]
test eax, eax
jns 0x14023bd39
btr eax, 0x1f
mov rcx, rsi
mov dword [rbp - 0x55], eax
lea r15d, [rax + rdi]
mov edx, r15d
mov dword [rbp - 0x61], r15d
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd58
lea r8, [rbp - 1]
mov rcx, rsi
lea rdx, [0x140376270]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd58
movzx ecx, word [rbp + 0xd]
movzx eax, word [rbp + 0xb]
add eax, ecx
mov word [rbp - 0x79], r13w
mov dword [rbp - 0x65], eax
je 0x14023bd13
mov eax, r13d
nop dword [rax]
lea eax, [rax + 2]
mov rcx, rsi
lea edx, [r15 + rax*8]
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd58
lea r8, [rbp - 0x51]
mov rcx, rsi
lea rdx, [0x140376328]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd58
mov r12d, dword [rbp - 0x4d]
test r12d, r12d
jns 0x14023bd39
btr r12d, 0x1f
mov rcx, rsi
mov dword [rbp - 0x4d], r12d
lea edx, [r12 + rdi]
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd58
lea r8, [rbp + 0xf]
mov rcx, rsi
lea rdx, [0x140376270]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd58
movzx eax, word [rbp + 0x1b]
movzx r15d, r13w
movzx r13d, word [rbp + 0x1d]
add r13d, eax
je 0x14023bcee
xor eax, eax
nop word [rax + rax]
lea ecx, [r12 + rdi]
lea eax, [rax + 2]
lea edx, [rcx + rax*8]
mov rcx, rsi
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd58
lea r8, [rbp - 0x29]
mov rcx, rsi
lea rdx, [0x140376328]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd58
test r12d, r12d
js 0x14023bd39
cmp dword [rbp - 0x59], 8
jne 0x14023bcdd
mov edx, dword [rbp - 0x25]
mov rcx, rsi
add edx, edi
call fcn.1402011a0
mov ebx, eax
test eax, eax
jne 0x14023bd58
lea r8, [rbp - 0x41]
mov rcx, rsi
lea rdx, [0x140376368]
call fcn.140201900
mov ebx, eax
test eax, eax
jne 0x14023bd58
mov eax, dword [rbp - 0x71]
cmp eax, dword [r14]
jne 0x14023bcda
xor eax, eax
mov edx, 0xb8
mov ebx, eax
mov rax, qword [rbp - 0x49]
mov rcx, rax
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, rax
test rax, rax
jne 0x14023bc88
lea ebx, [rax + 0x40]
jmp 0x14023bc98
xor edx, edx
mov r8d, 0xb8
mov rcx, rdi
call fcn.14025e440
mov qword [r14 + 0xd8], rdi
test ebx, ebx
jne 0x14023bd58
mov eax, dword [rbp - 0x41]
mov rdx, rsi
sub eax, dword [rbp - 0x11]
add eax, dword [rbp - 9]
mov dword [rdi], eax
mov rcx, qword [r14 + 0xd8]
mov eax, dword [rbp - 0x3d]
mov dword [rcx + 0xa8], eax
mov rcx, qword [r14 + 0xd8]
call fcn.14023b590
mov ebx, eax
test eax, eax
jne 0x14023bd50
mov edi, dword [rbp - 9]
inc dword [r14]
inc r15w
movzx eax, r15w
cmp eax, r13d
jb 0x14023bbe0
movzx r15d, word [rbp - 0x79]
mov r13d, 0
inc r15w
movzx eax, r15w
mov word [rbp - 0x79], r15w
mov r15d, dword [rbp - 0x61]
cmp eax, dword [rbp - 0x65]
jb 0x14023bb40
movzx r15d, word [rbp - 0x75]
inc r15w
movzx eax, r15w
mov word [rbp - 0x75], r15w
cmp eax, dword [rbp - 0x6d]
jb 0x14023baa0
mov r15d, dword [rbp - 0x71]
mov eax, dword [r14]
test eax, eax
jne 0x14023bd40
mov ebx, 3
jmp 0x14023bd58
cmp r15d, eax
jl 0x14023bd4c
mov ebx, 6
jmp 0x14023bd58
test ebx, ebx
je 0x14023bd58
mov rcx, r14
call fcn.14023b4f0
mov rdi, qword [rsp + 0x110]
mov r12, qword [rsp + 0xc0]
mov eax, ebx
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14023ed20
add rsp, 0xc8
pop r15
pop r14
pop r13
pop rsi
pop rbx
pop rbp
ret