Function at 0x140019200
Capabilities:
Parse pe header

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x418
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x380], xmm8
movaps xmmword [rbp + 0x370], xmm7
movaps xmmword [rbp + 0x360], xmm6
mov qword [rbp + 0x358], 0xfffffffffffffffe
mov rdi, rdx
test rcx, rcx
je 0x140019d78
mov rdx, rcx
mov qword [rbp + 0x350], rdi
mov rcx, qword [0x1402c00a0]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1b0], xmm0
movaps xmmword [rbp + 0x1c0], xmm0
movaps xmmword [rbp + 0x1d0], xmm0
movaps xmmword [rbp + 0x1e0], xmm0
lea r8, [rbp + 0x1b0]
mov r9d, 0x40
mov qword [rbp + 0x328], rdx
call fcn.140006140
movzx eax, word [rbp + 0x1b0]
cmp eax, 0x5a4d
jne 0x140019d6c
mov rdi, qword [0x1402c00a0]
movsxd rbx, dword [rbp + 0x1ec]
add rbx, qword [rbp + 0x328]
lea rsi, [rbp - 0x58]
mov r8d, 0x108
mov rcx, rsi
xor edx, edx
call fcn.1401d5110
mov r9d, 0x108
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call fcn.140006140
cmp dword [rbp - 0x58], 0x4550
jne 0x140019d6c
xorps xmm6, xmm6
movaps xmmword [rbp + 0x200], xmm6
movaps xmmword [rbp + 0x1f0], xmm6
mov qword [rbp + 0x210], 0
mov r14d, dword [rbp + 0x30]
mov eax, dword [rbp + 0x34]
mov qword [rbp + 0x2b0], rax
add r14, qword [rbp + 0x328]
mov rcx, qword [0x1402c00a0]
lea r8, [rbp + 0x1f0]
mov r9d, 0x28
mov rdx, r14
call fcn.140006140
add qword [rbp + 0x2b0], r14
mov eax, dword [rbp + 0x20c]
mov ecx, dword [rbp + 0x210]
mov rdx, qword [rbp + 0x328]
add rax, rdx
mov qword [rbp + 0x258], rax
mov eax, dword [rbp + 0x214]
add rax, rdx
mov qword [rbp + 0x250], rax
add rcx, rdx
mov qword [rbp + 0x248], rcx
movaps xmm7, xmmword [section..rdata]
lea r12, [rbp + 0xb0]
movaps xmm8, xmmword [0x140208480]
xor r13d, r13d
mov rdi, qword [rbp + 0x350]
mov qword [rbp + 0x260], r14
jmp 0x1400193cc
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400ad894
add r13d, 1
test sil, sil
jne 0x140019d7b
cmp r13d, dword [rbp + 0x204]
jae 0x140019d7b
mov dword [rbp + 0x31c], 0
mov dword [rbp + 0x320], 0
mov dword [rbp + 0x324], 0
mov rcx, qword [0x1402c00a0]
mov ebx, r13d
mov rax, qword [rbp + 0x248]
lea rdx, [rax + rbx*4]
mov r9d, 4
lea r8, [rbp + 0x31c]
call fcn.140006140
mov qword [rbp + 0x2d8], 0
movups xmmword [rbp + 0x2e8], xmm7
mov byte [rbp + 0x2d8], 0
mov rax, qword [rbp + 0x350]
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x140019470
cmp rdi, 0xf
jbe 0x140019490
mov byte [rsp + 0x20], 0
lea rcx, [rbp + 0x2d8]
mov rdx, rdi
mov r9, rdi
call fcn.1400066d0
jmp 0x1400194b0
mov qword [rbp + 0x2e8], 0
mov byte [rbp + 0x2d8], 0
jmp 0x1400194b0
mov qword [rbp + 0x2e8], rdi
lea rcx, [rbp + 0x2d8]
xor edx, edx
mov r8, rdi
call fcn.1401d5110
mov byte [rbp + rdi + 0x2d8], 0
mov rcx, qword [0x1402c00a0]
mov r9, qword [rbp + 0x2e8]
cmp qword [rbp + 0x2f0], 0x10
lea r8, [rbp + 0x2d8]
jb 0x1400194d6
mov r8, qword [rbp + 0x2d8]
mov edx, dword [rbp + 0x31c]
add rdx, qword [rbp + 0x328]
call fcn.140006140
mov rdi, qword [rbp + 0x350]
mov r8, qword [rdi + 0x10]
cmp qword [rbp + 0x2e8], r8
jne 0x14001952a
cmp qword [rbp + 0x2f0], 0x10
lea rcx, [rbp + 0x2d8]
jb 0x140019514
mov rcx, qword [rbp + 0x2d8]
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x140019521
mov rdx, qword [rdi]
call fcn.1401d4960
test eax, eax
je 0x14001956f
xor esi, esi
mov rax, qword [rbp + 0x2f0]
cmp rax, 0x10
jb 0x1400193bf
mov rcx, qword [rbp + 0x2d8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400193ba
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jb 0x1400193b0
jmp 0x140019df0
mov rcx, qword [0x1402c00a0]
mov rax, qword [rbp + 0x250]
lea rdx, [rax + rbx*2]
mov r9d, 2
lea r8, [rbp + 0x324]
call fcn.140006140
mov rcx, qword [0x1402c00a0]
mov eax, dword [rbp + 0x324]
mov rdx, qword [rbp + 0x258]
lea rdx, [rdx + rax*4]
mov r9d, 4
lea r8, [rbp + 0x320]
call fcn.140006140
mov r15d, dword [rbp + 0x320]
add r15, qword [rbp + 0x328]
mov sil, 1
cmp r15, r14
jb 0x1400196f6
cmp r15, qword [rbp + 0x2b0]
jae 0x1400196f6
movups xmmword [rbp + 0x19f], xmm6
movaps xmmword [rbp + 0x190], xmm6
movaps xmmword [rbp + 0x180], xmm6
movaps xmmword [rbp + 0x170], xmm6
movaps xmmword [rbp + 0x160], xmm6
movaps xmmword [rbp + 0x150], xmm6
movaps xmmword [rbp + 0x140], xmm6
movaps xmmword [rbp + 0x130], xmm6
movaps xmmword [rbp + 0x120], xmm6
movaps xmmword [rbp + 0x110], xmm6
movaps xmmword [rbp + 0x100], xmm6
movaps xmmword [rbp + 0xf0], xmm6
movaps xmmword [rbp + 0xe0], xmm6
movaps xmmword [rbp + 0xd0], xmm6
movaps xmmword [rbp + 0xc0], xmm6
movaps xmmword [rbp + 0xb0], xmm6
mov rcx, qword [0x1402c00a0]
mov r9d, 0xff
mov rdx, r15
mov r8, r12
call fcn.140006140
mov qword [rbp + 0x2f8], 0
movups xmmword [rbp + 0x308], xmm7
mov byte [rbp + 0x2f8], 0
mov rdi, r12
mov rcx, r12
call fcn.1401ed780
mov r15, rax
cmp rax, 0xf
jbe 0x140019702
test r15, r15
js 0x140019df5
mov rax, r15
or rax, 0xf
movabs rdi, 0x7fffffffffffffff
movabs rcx, 0x8000000000000000
js 0x1400196dc
cmp rax, 0x17
mov edi, reloc.WS2_32.dll_shutdown
cmovae rdi, rax
lea rcx, [rdi + 1]
cmp rdi, 0xfff
jb 0x140019730
mov rdi, rax
add rcx, 0x27
call fcn.1400ad850
mov rsi, rax
add rsi, 0x27
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140019738
mov rdi, qword [rbp + 0x350]
jmp 0x14001952c
mov qword [rbp + 0x308], r15
lea rbx, [rbp + 0x2f8]
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call fcn.1401d4a60
mov byte [rbp + r15 + 0x2f8], 0
mov rsi, qword [rbp + 0x2f8]
jmp 0x140019767
call fcn.1400ad850
mov rsi, rax
mov rdx, r12
mov qword [rbp + 0x308], r15
mov qword [rbp + 0x310], rdi
mov rcx, rsi
mov r8, r15
call fcn.1401d4a60
mov byte [rsi + r15], 0
mov qword [rbp + 0x2f8], rsi
lea rbx, [rbp + 0x2f8]
mov rdi, qword [rbp + 0x308]
mov r14, qword [rbp + 0x310]
cmp r14, 0x10
cmovb rsi, rbx
test rdi, rdi
je 0x140019841
mov rcx, rsi
mov edx, 0x2e
mov r8, rdi
call fcn.1401d48e0
test rax, rax
je 0x140019841
sub rax, rsi
mov r15d, 0
cmp rax, 0xffffffffffffffff
je 0x140019d15
lea r15, [rax + 1]
mov qword [rbp + 0x330], 0
movups xmmword [rbp + 0x340], xmm7
mov byte [rbp + 0x330], 0
cmp rdi, rax
cmova rdi, r15
cmp rdi, 0xf
mov qword [rbp + 0x268], rax
jbe 0x140019849
test rdi, rdi
js 0x140019e04
mov rax, rdi
or rax, 0xf
movabs r14, 0x7fffffffffffffff
movabs rcx, 0x8000000000000000
js 0x140019827
cmp rax, 0x17
mov r14d, reloc.WS2_32.dll_shutdown
cmovae r14, rax
lea rcx, [r14 + 1]
cmp r14, 0xfff
jb 0x14001986c
mov r14, rax
add rcx, 0x27
call fcn.1400ad850
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140019874
xor r15d, r15d
jmp 0x140019d15
mov qword [rbp + 0x340], rdi
lea rcx, [rbp + 0x330]
mov rdx, rsi
mov r8, rdi
call fcn.1401d4a60
mov byte [rbp + rdi + 0x330], 0
jmp 0x14001989b
call fcn.1400ad850
mov rbx, rax
mov qword [rbp + 0x340], rdi
mov qword [rbp + 0x348], r14
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.1401d4a60
mov byte [rbx + rdi], 0
mov qword [rbp + 0x330], rbx
mov rax, qword [rbp + 0x340]
mov rcx, qword [rbp + 0x348]
mov rdx, rcx
sub rdx, rax
cmp rdx, 3
jae 0x1400198d8
mov qword [rsp + 0x20], 3
mov edx, 3
lea rcx, [rbp + 0x330]
lea r9, [0x14026fe1f]
call fcn.1400037c0
jmp 0x1400198fe
lea rdx, [rax + 3]
mov qword [rbp + 0x340], rdx
lea rdx, [rbp + 0x330]
cmp rcx, 0x10
jb 0x1400198f7
mov rdx, qword [rbp + 0x330]
mov dword [rdx + rax], 0x6c6c64
mov rdi, qword [rbp + 0x340]
cmp qword [rbp + 0x348], 0x10
lea rbx, [rbp + 0x330]
jb 0x14001991d
mov rbx, qword [rbp + 0x330]
test rdi, rdi
je 0x140019943
add rdi, rbx
nop word cs:[rax + rax]
nop
movsx ecx, byte [rbx]
call fcn.1401eed80
mov byte [rbx], al
add rbx, 1
cmp rbx, rdi
jne 0x140019930
mov qword [rbp + 0x2b8], 0
movups xmmword [rbp + 0x2c8], xmm7
mov byte [rbp + 0x2b8], 0
mov rbx, qword [rbp + 0x308]
cmp rbx, qword [rbp + 0x268]
jbe 0x140019dfa
sub rbx, r15
cmp qword [rbp + 0x310], 0x10
lea r14, [rbp + 0x2f8]
jb 0x14001998b
mov r14, qword [rbp + 0x2f8]
add r14, r15
cmp rbx, 0xf
jbe 0x1400199f2
test rbx, rbx
js 0x140019dff
mov rax, rbx
or rax, 0xf
movabs r15, 0x7fffffffffffffff
movabs rcx, 0x8000000000000000
js 0x1400199d8
cmp rax, 0x17
mov r15d, reloc.WS2_32.dll_shutdown
cmovae r15, rax
lea rcx, [r15 + 1]
cmp r15, 0xfff
jb 0x140019a15
mov r15, rax
add rcx, 0x27
call fcn.1400ad850
mov rdi, rax
add rdi, 0x27
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140019a1d
mov qword [rbp + 0x2c8], rbx
lea rcx, [rbp + 0x2b8]
mov rdx, r14
mov r8, rbx
call fcn.1401d4a60
mov byte [rbp + rbx + 0x2b8], 0
jmp 0x140019a44
call fcn.1400ad850
mov rdi, rax
mov qword [rbp + 0x2c8], rbx
mov qword [rbp + 0x2d0], r15
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.1401d4a60
mov byte [rdi + rbx], 0
mov qword [rbp + 0x2b8], rdi
cmp qword [rbp + 0x348], 0x10
lea rdx, [rbp + 0x330]
jb 0x140019a5c
mov rdx, qword [rbp + 0x330]
mov r8, qword [rbp + 0x340]
add r8, rdx
mov qword [rbp + 0x290], 0
movups xmmword [rbp + 0x2a0], xmm8
mov word [rbp + 0x290], 0
lea rcx, [rbp + 0x290]
call fcn.14000ee20
mov qword [rbp + 0x270], 0
lea rax, [rbp + 0x280]
movups xmmword [rax], xmm6
cmp qword [rbp + 0x2d0], 0x10
lea r14, [rbp + 0x2b8]
jb 0x140019abb
mov r14, qword [rbp + 0x2b8]
mov rdi, qword [rbp + 0x2c8]
cmp rdi, 0xf
ja 0x140019ada
movups xmm0, xmmword [r14]
movaps xmmword [rbp + 0x270], xmm0
mov ebx, send
jmp 0x140019b34
mov rbx, rdi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmovae rbx, rax
cmp rbx, 0xfff
jb 0x140019b15
lea rcx, [rbx + 0x28]
call fcn.1400ad850
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140019b1e
lea rcx, [rbx + 1]
call fcn.1400ad850
mov qword [rbp + 0x270], rax
lea r8, [rdi + 1]
mov rcx, rax
mov rdx, r14
call fcn.1401d4a60
mov qword [rbp + 0x280], rdi
mov qword [rbp + 0x288], rbx
mov r14, qword [0x1402c00a0]
mov qword [rbp + 0x220], 0
lea rax, [rbp + 0x230]
movups xmmword [rax], xmm6
mov rdi, qword [rbp + 0x2a0]
cmp qword [rbp + 0x2a8], 8
lea r15, [rbp + 0x290]
jb 0x140019b7d
mov r15, qword [rbp + 0x290]
cmp rdi, 7
ja 0x140019b95
movups xmm0, xmmword [r15]
movaps xmmword [rbp + 0x220], xmm0
mov ebx, 7
jmp 0x140019c09
mov rbx, rdi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmovb rax, rbx
lea rcx, [rax + rax]
cmp rax, 0x7ff
jb 0x140019be6
movabs rdx, 0x7fffffffffffffec
cmp rax, rdx
jae 0x140019e09
add rcx, 0x29
call fcn.1400ad850
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140019bef
add rcx, 2
call fcn.1400ad850
mov qword [rbp + 0x220], rax
lea r8, [rdi + rdi]
add r8, 2
mov rcx, rax
mov rdx, r15
call fcn.1401d4a60
mov qword [rbp + 0x230], rdi
mov qword [rbp + 0x238], rbx
mov rcx, r14
lea rdx, [rbp + 0x220]
call fcn.1400061f0
mov rcx, rax
lea rdx, [rbp + 0x270]
call fcn.140019200
mov r15, rax
mov rax, qword [rbp + 0x2a8]
cmp rax, 8
jb 0x140019c84
mov rcx, qword [rbp + 0x290]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140019c7f
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x140019df0
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.1400ad894
mov rax, qword [rbp + 0x2d0]
cmp rax, 0x10
jb 0x140019cc9
mov rcx, qword [rbp + 0x2b8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140019cc4
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x140019df0
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400ad894
mov rax, qword [rbp + 0x348]
cmp rax, 0x10
jb 0x140019d0e
mov rcx, qword [rbp + 0x330]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140019d09
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x140019df0
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400ad894
mov r14, qword [rbp + 0x310]
cmp r14, 0x10
mov rdi, qword [rbp + 0x350]
mov rbx, qword [rbp + 0x260]
jb 0x140019d61
mov rcx, qword [rbp + 0x2f8]
lea rdx, [r14 + 1]
cmp rdx, 0x1000
jb 0x140019d5c
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140019df0
add r14, 0x28
mov rdx, r14
mov rcx, rax
call fcn.1400ad894
mov sil, 1
mov r14, rbx
jmp 0x14001952c
xor r15d, r15d
mov rdi, qword [rbp + 0x350]
jmp 0x140019d7b
xor r15d, r15d
mov rax, qword [rdi + 0x18]
cmp rax, 0x10
jb 0x140019db5
mov rcx, qword [rdi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140019db0
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x140019df0
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400ad894
movaps xmm0, xmmword [section..rdata]
movups xmmword [rdi + 0x10], xmm0
mov byte [rdi], 0
mov rax, r15
movaps xmm6, xmmword [rbp + 0x360]
movaps xmm7, xmmword [rbp + 0x370]
movaps xmm8, xmmword [rbp + 0x380]
add rsp, 0x418
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1401e54b4
call fcn.1400035c0
call fcn.1400335a0
call fcn.1400035c0
call fcn.1400035c0
call fcn.1400035e0
int3