Function at 0x140097b10
Capabilities:
Parse pe header

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1e8
movaps xmmword [rsp + 0x1d0], xmm7
movaps xmmword [rsp + 0x1c0], xmm6
test rdx, rdx
je 0x140097bb2
mov rsi, r8
mov rdi, rdx
mov rbp, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
xor ebx, ebx
lea rcx, [rsp + 0xb8]
mov r8d, 0x108
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0x70]
mov r9d, 0x40
mov rcx, rbp
mov r8, rdi
call fcn.140094480
test al, al
je 0x140097d37
cmp dword [0x1406e7c68], 0xa
jl 0x140097bce
mov eax, dword [0x1406e7c6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140097bce
jmp 0x140097bb0
mov edx, dword [0x1406e7c6c]
mov ecx, dword [0x1406e7c68]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
xor ebx, ebx
jmp 0x140097d62
movzx eax, word [rsp + 0x70]
cmp eax, 0x5a4d
jne 0x140097d35
movsxd r8, dword [rsp + 0xac]
add r8, rdi
lea rdx, [rsp + 0xb8]
mov r9d, 0x108
mov rcx, rbp
call fcn.140094480
test al, al
je 0x140097d35
cmp dword [0x1406e7c68], 0xa
jl 0x140097c32
mov eax, dword [0x1406e7c6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140097c32
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x140097c30
cmp dword [rsp + 0xb8], 0x4550
jne 0x140097d35
mov r12d, dword [rsp + 0x140]
xor ebx, ebx
test r12, r12
je 0x140097d37
mov r15d, dword [rsp + 0x144]
test r15d, r15d
je 0x140097d37
xor ecx, ecx
mov rdx, r15
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r14, rax
mov eax, dword [0x1406e7c6c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406e7c68], 0xa
setl al
or al, cl
test al, al
je 0x140097c9f
lea rbx, [r12 + rdi]
mov rcx, rbp
mov rdx, r14
mov r8, rbx
mov r9, r15
call fcn.140094480
test al, al
je 0x140098184
mov eax, dword [0x1406e7c6c]
mov r8d, dword [0x1406e7c68]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete dl
cmp r8d, 0xa
setl cl
or cl, dl
test cl, cl
je 0x140097ce2
mov rcx, r14
sub rcx, r12
mov edx, dword [r14 + 0x1c]
mov ebp, dword [r14 + 0x20]
add rbp, rcx
mov qword [rsp + 0x68], rbp
mov ebp, dword [r14 + 0x24]
add rbp, rcx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x60], rcx
add rdx, rcx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x48], rbx
add r15, rbx
mov qword [rsp + 0x40], r15
xor ecx, ecx
xorps xmm6, xmm6
lea r15, [rsp + 0x20]
movaps xmm7, xmmword [0x1402599c0]
jmp 0x140097dab
xor ebx, ebx
mov edx, dword [0x1406e7c6c]
mov ecx, dword [0x1406e7c68]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x140097d62
test eax, eax
je 0x140097d62
nop word cs:[rax + rax]
nop
jmp 0x140097d60
cmp ecx, 0xa
jl 0x140097d72
test eax, eax
je 0x140097d72
nop dword [rax + rax]
jmp 0x140097d70
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [r13 + 1]
test r15d, r15d
lea r15, [rsp + 0x20]
je 0x1400981ce
mov r13, rcx
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp r8d, 0xa
jl 0x140097dc5
test ecx, ecx
jne 0x140098130
mov r12d, dword [r14 + 0x18]
cmp r13, r12
jae 0x1400981c2
mov rax, qword [rsp + 0x68]
mov ebp, dword [rax + r13*4]
cmp dword [0x1406e7ee0], 0xa
jl 0x140097df9
mov eax, dword [0x1406e7ee4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x140098140
movaps xmmword [rsp + 0x20], xmm6
cmp dword [0x1406e7f00], 0xa
jl 0x140097e1c
mov eax, dword [0x1406e7f04]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x140098150
add rbp, qword [rsp + 0x60]
lea rax, [rsp + 0x30]
movups xmmword [rax], xmm6
mov rcx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, r15
mov rdx, rbp
mov r8, rax
call fcn.14008d7b0
cmp qword [rsi + 0x18], 0x10
mov rdx, rsi
jb 0x140097e4c
mov rdx, qword [rsi]
cmp qword [rsp + 0x38], 0x10
jb 0x140097e59
mov r15, qword [rsp + 0x20]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
mov r15d, eax
mov ecx, dword [0x1406e7c6c]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
mov ecx, dword [0x1406e7c68]
test r15d, r15d
jne 0x140097f60
cmp ecx, 0xa
jl 0x140097e90
test eax, eax
jne 0x140098160
mov rdx, qword [rsp + 0x50]
movzx edx, word [rdx + r13*2]
mov rbp, qword [rsp + 0x58]
mov ebx, dword [rbp + rdx*4]
cmp rbx, 0x1001
jae 0x140097eb3
xor ebx, ebx
jmp 0x140097f53
add rbx, rdi
mov rcx, r14
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov edx, dword [0x1406e7c6c]
mov ecx, dword [0x1406e7c68]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete r8b
cmp ecx, 0xa
setl dl
or dl, r8b
cmp rbx, qword [rsp + 0x48]
jb 0x140097f03
cmp rbx, qword [rsp + 0x40]
ja 0x140097f03
test dl, dl
je 0x140098182
xor ebx, ebx
jmp 0x140097f46
test dl, dl
jne 0x140097f46
mov rcx, r14
xor edx, edx
mov r8d, 0x8000
mov rbp, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rbp
mov rcx, r14
xor edx, edx
mov r8d, 0x8000
call rbp
mov edx, dword [0x1406e7c6c]
mov ecx, dword [0x1406e7c68]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x140097f46
test eax, eax
jne 0x140097f07
cmp ecx, 0xa
jl 0x140097f53
test eax, eax
jne 0x140098180
cmp ecx, 0xa
jl 0x140097f60
test eax, eax
jne 0x140098170
mov ebp, dword [0x1406e8248]
mov edx, dword [0x1406e824c]
cmp ecx, 0xa
jl 0x14009803f
test eax, eax
je 0x14009803f
lea ecx, [rbp - 1]
imul ecx, ebp
and ecx, 1
mov rax, qword [rsp + 0x38]
cmp edx, 0xa
jl 0x140097fd6
test ecx, ecx
je 0x140097fd6
cmp rax, 0x10
jb 0x14009802e
mov rcx, qword [rsp + 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140097fcf
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x140098232
add rax, 0x28
mov rdx, rax
mov rcx, rbp
call fcn.1401fc464
jmp 0x14009802e
cmp rax, 0x10
jb 0x140098012
mov rcx, qword [rsp + 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14009800d
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x140098232
add rax, 0x28
mov rdx, rax
mov rcx, rbp
call fcn.1401fc464
mov ebp, dword [0x1406e8248]
mov edx, dword [0x1406e824c]
cmp edx, 0xa
jl 0x14009803f
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
je 0x14009803f
movaps xmmword [rsp + 0x30], xmm7
mov byte [rsp + 0x20], 0
mov eax, reloc.WS2_32.dll_ntohs
jmp 0x140097fd6
mov rax, qword [rsp + 0x38]
cmp edx, 0xa
jl 0x140098096
lea ecx, [rbp - 1]
imul ecx, ebp
and ecx, 1
je 0x140098096
cmp rax, 0x10
jb 0x1400980f0
mov rcx, qword [rsp + 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14009808f
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x140098232
add rax, 0x28
mov rdx, rax
mov rcx, rbp
call fcn.1401fc464
jmp 0x1400980f0
cmp rax, 0x10
jb 0x1400980d2
mov rcx, qword [rsp + 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400980cd
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x140098232
add rax, 0x28
mov rdx, rax
mov rcx, rbp
call fcn.1401fc464
mov eax, dword [0x1406e8248]
mov edx, dword [0x1406e824c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x140098101
test ecx, ecx
je 0x140098101
movaps xmmword [rsp + 0x30], xmm7
mov byte [rsp + 0x20], 0
mov eax, reloc.WS2_32.dll_ntohs
jmp 0x140098096
mov eax, dword [0x1406e7c6c]
mov r8d, dword [0x1406e7c68]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp r8d, 0xa
jl 0x140097d99
test ebp, ebp
jne 0x140097f86
jmp 0x140097d99
jmp 0x140098130
jmp 0x140098140
jmp 0x140098150
jmp 0x140098160
jmp 0x140098170
jmp 0x140098180
jmp 0x140098182
xor ebx, ebx
mov rcx, r14
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
cmp dword [0x1406e7c68], 0xa
jl 0x140097d37
mov eax, dword [0x1406e7c6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140097d37
nop dword [rax]
jmp 0x1400981c0
cmp r8d, 0xa
jl 0x1400981e7
test ecx, ecx
jne 0x1400981e0
jmp 0x1400981e7
cmp r8d, 0xa
jl 0x1400981e2
test ebp, ebp
je 0x1400981e2
nop dword [rax + rax]
jmp 0x1400981e0
cmp r13, r12
jb 0x140098210
xor ebx, ebx
mov rcx, r14
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, dword [0x1406e7c6c]
mov r8d, dword [0x1406e7c68]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp r8d, 0xa
jl 0x140097d37
test ebp, ebp
je 0x140097d37
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x140098230
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3