Function at 0x7ff7e151b5a0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov byte [rsp + 0x18], r8b
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x140
movzx edi, r8b
mov r15, rdx
mov r14, rcx
test rdx, rdx
je 0x7ff7e151b9ed
mov eax, 0xffff
mov word [rsp + 0x188], ax
cmp rdx, rax
jae 0x7ff7e151b5eb
mov word [rsp + 0x188], dx
jmp 0x7ff7e151b611
cmp byte [rdx], 0x23
jne 0x7ff7e151b611
lea rcx, [rdx + 1]
call qword [sym.imp.ucrtbase.dll_atoi]
lea ecx, [rax - 1]
cmp ecx, 0xfffd
ja 0x7ff7e151b611
mov word [rsp + 0x188], ax
movzx r15d, ax
test r14, r14
je 0x7ff7e151b9ed
mov eax, 0x5a4d
cmp word [r14], ax
jne 0x7ff7e151b9ed
movsxd rbp, dword [r14 + 0x3c]
add rbp, r14
cmp dword [rbp], 0x4550
jne 0x7ff7e151b9ed
xor r8d, r8d
mov dword [rsp + 0x198], 0
lea r9, [rsp + 0x198]
movzx edx, dil
mov rcx, r14
call fcn.7ff7e151bd90
mov r13, rax
test rax, rax
je 0x7ff7e151b9ed
mov eax, dword [rsp + 0x198]
mov dword [rsp + 0x198], eax
test eax, eax
je 0x7ff7e151b9ed
mov ebx, dword [r13 + 0x14]
test ebx, ebx
je 0x7ff7e151b9ed
mov edi, dword [r13 + 0x24]
cmp eax, 0x28
ja 0x7ff7e151b6b4
mov eax, dword [r13 + 0x18]
cmp ebx, eax
cmova eax, ebx
imul eax, eax, 0xff
sub eax, r13d
add eax, edi
add eax, r14d
mov dword [rsp + 0x198], eax
movzx edx, byte [rsp + 0x190]
mov r8d, dword [r13 + 0x20]
mov esi, dword [r13 + 0x1c]
test dl, dl
je 0x7ff7e151b6e0
add r8, r14
mov eax, edi
lea r9, [r14 + rsi]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r9
add rax, r14
jmp 0x7ff7e151b723
mov rdx, r14
mov rcx, rbp
call fcn.7ff7e151c150
mov r8d, esi
mov qword [rsp + 0x28], rax
mov rdx, r14
mov rcx, rbp
call fcn.7ff7e151c150
mov r8d, edi
mov qword [rsp + 0x20], rax
mov rdx, r14
mov rcx, rbp
call fcn.7ff7e151c150
movzx edx, byte [rsp + 0x190]
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x20]
xor r12d, r12d
mov qword [rsp + 0x30], rax
test ebx, ebx
je 0x7ff7e151b9ed
movzx esi, word [rax + r12*2]
mov r11d, dword [r9 + rsi*4]
test r11d, r11d
je 0x7ff7e151b963
mov r9d, dword [r8 + r12*4]
test dl, dl
je 0x7ff7e151b88f
lea rdi, [r14 + r11]
add r9, r14
mov r8, rdi
cmp rdi, r13
jbe 0x7ff7e151b915
mov eax, dword [rsp + 0x198]
add rax, r13
cmp rdi, rax
jae 0x7ff7e151b915
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rdi + rbx], 0
jne 0x7ff7e151b780
inc ebx
cmp ebx, 0x100
jae 0x7ff7e151b95e
mov r8d, ebx
lea rcx, [rsp + 0x40]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy_1
xor eax, eax
test ebx, ebx
je 0x7ff7e151b95e
lea rcx, [rsp + 0x40]
cmp byte [rcx], 0x2e
lea edx, [rax + 1]
je 0x7ff7e151b7cc
inc rcx
mov eax, edx
cmp edx, ebx
jb 0x7ff7e151b7b6
jmp 0x7ff7e151b95e
mov ebx, edx
mov byte [rsp + rax + 0x40], 0
add rbx, rdi
je 0x7ff7e151b95e
cmp byte [rbx], 0x23
jne 0x7ff7e151b847
lea rcx, [rbx + 1]
test rcx, rcx
je 0x7ff7e151b95e
movzx edi, word [rsp + 0x188]
mov eax, 0xffff
cmp di, ax
jae 0x7ff7e151b95e
call qword [sym.imp.ucrtbase.dll_atoi]
mov ebx, eax
lea ecx, [rbx - 1]
cmp ecx, 0xfffe
ja 0x7ff7e151b95e
cmp ebx, edi
jne 0x7ff7e151b95e
lea rcx, [rsp + 0x40]
call qword [sym.imp.kernel32.dll_LoadLibraryA]
movzx r8d, byte [rsp + 0x190]
mov rcx, rax
movzx edx, bx
call fcn.7ff7e151b5a0
jmp 0x7ff7e151b9ef
mov r8, rbx
mov rax, r15
sub r8, r15
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x7ff7e151b863
inc rax
test ecx, ecx
jne 0x7ff7e151b850
test edx, edx
jne 0x7ff7e151b95e
lea rcx, [rsp + 0x40]
call qword [sym.imp.kernel32.dll_LoadLibraryA]
movzx r8d, byte [rsp + 0x190]
mov rdx, rbx
mov rcx, rax
call fcn.7ff7e151b5a0
jmp 0x7ff7e151b9ef
movzx r10d, word [rbp + 6]
test r10d, r10d
je 0x7ff7e151b8cf
movzx eax, word [rbp + 0x14]
lea rbx, [rbp + 0x18]
add rbx, rax
xor r8d, r8d
test r10d, r10d
je 0x7ff7e151b8cf
lea rdx, [rbx + 0x10]
mov ecx, dword [rdx - 4]
cmp r9d, ecx
jb 0x7ff7e151b8c3
add ecx, dword [rdx]
cmp r9d, ecx
jb 0x7ff7e151b987
inc r8d
add rdx, 0x28
cmp r8d, r10d
jb 0x7ff7e151b8b0
movzx r10d, word [rbp + 6]
xor r9d, r9d
test r10d, r10d
je 0x7ff7e151b912
movzx eax, word [rbp + 0x14]
lea rbx, [rbp + 0x18]
add rbx, rax
xor r8d, r8d
test r10d, r10d
je 0x7ff7e151b912
lea rdx, [rbx + 0x10]
mov ecx, dword [rdx - 4]
cmp r11d, ecx
jb 0x7ff7e151b906
add ecx, dword [rdx]
cmp r11d, ecx
jb 0x7ff7e151b9c1
inc r8d
add rdx, 0x28
cmp r8d, r10d
jb 0x7ff7e151b8f3
xor r8d, r8d
mov eax, 0xffff
cmp r15, rax
jbe 0x7ff7e151b94b
mov rax, r15
sub r9, r15
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x7ff7e151b943
inc rax
test ecx, ecx
jne 0x7ff7e151b930
test edx, edx
je 0x7ff7e151b9e8
movzx eax, word [rsp + 0x188]
lea ecx, [rsi + 1]
cmp ecx, eax
je 0x7ff7e151b9e8
mov r9, qword [rsp + 0x20]
inc r12d
cmp r12d, dword [r13 + 0x14]
jae 0x7ff7e151b9ed
movzx edx, byte [rsp + 0x190]
mov r8, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
jmp 0x7ff7e151b733
lea rcx, [r8 + r8*4]
lea rdx, [rbx + rcx*8]
test rdx, rdx
je 0x7ff7e151b8cf
sub r9d, dword [rdx + 0xc]
lea rbx, [rbp + 0x18]
movzx r10d, word [rbp + 6]
mov eax, r9d
mov r9d, dword [rdx + 0x14]
add rax, r14
add r9, rax
movzx eax, word [rbp + 0x14]
add rbx, rax
xor r8d, r8d
jmp 0x7ff7e151b8ef
lea rcx, [r8 + r8*4]
lea rdx, [rbx + rcx*8]
test rdx, rdx
je 0x7ff7e151b912
sub r11d, dword [rdx + 0xc]
mov r8d, dword [rdx + 0x14]
mov eax, r11d
add rax, r14
add r8, rax
jmp 0x7ff7e151b915
mov rax, r8
jmp 0x7ff7e151b9ef
xor eax, eax
mov rbx, qword [rsp + 0x180]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret