Function at 0x14003f230
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x178
movzx edi, r8b
mov rbp, rdx
mov rsi, rcx
test rdx, rdx
je 0x14003f70e
mov eax, 0xffff
mov word [rsp + 0x1d8], ax
cmp rdx, rax
jae 0x14003f281
mov word [rsp + 0x1d8], dx
jmp 0x14003f2ae
cmp byte [rdx], 0x23
jne 0x14003f2ae
lea rcx, [rdx + 1]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
lea ecx, [rax - 1]
cmp ecx, 0xfffd
ja 0x14003f2ae
movzx ebp, ax
mov qword [rsp + 0x1c8], rbp
mov word [rsp + 0x1d8], ax
test rsi, rsi
je 0x14003f70e
mov eax, 0x5a4d
cmp word [rsi], ax
jne 0x14003f70e
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rsi + rcx], 0x4550
lea r13, [rsi + rcx]
jne 0x14003f70e
xor r10d, r10d
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x40], r10d
test ecx, ecx
jle 0x14003f2fd
cmp ecx, 0x10000000
jae 0x14003f2fd
lea rdx, [r13 + 4]
lea r9, [r13 + 0x18]
jmp 0x14003f304
lea r9, [rsi + 0x14]
mov rdx, rsi
movzx ecx, word [r9]
sub ecx, 0x107
je 0x14003f70e
sub ecx, 4
je 0x14003f331
cmp ecx, 0x100
jne 0x14003f70e
cmp dword [r9 + 0x6c], r10d
jbe 0x14003f379
lea rax, [r9 + 0x70]
jmp 0x14003f33b
cmp dword [r9 + 0x5c], r10d
jbe 0x14003f379
lea rax, [r9 + 0x60]
cmp dword [rax], r10d
je 0x14003f379
cmp dword [rax + 4], r10d
je 0x14003f379
mov qword [rsp + 0x30], r9
lea r8, [rsp + 0x40]
mov r9d, dword [r9 + 0x3c]
mov rcx, rsi
mov qword [rsp + 0x28], rdx
movzx edx, dil
mov qword [rsp + 0x20], rax
call fcn.14003f730
mov r10d, dword [rsp + 0x40]
mov r14, rax
mov dword [rsp + 0x50], r10d
jmp 0x14003f37c
xor r14d, r14d
test r14, r14
je 0x14003f70e
test r10d, r10d
je 0x14003f70e
mov ecx, dword [r14 + 0x14]
test ecx, ecx
je 0x14003f70e
cmp r10d, 0x28
ja 0x14003f3bf
mov eax, dword [r14 + 0x18]
cmp ecx, eax
cmova eax, ecx
imul r10d, eax, 0xff
add r10d, dword [r14 + 0x24]
sub r10d, r14d
add r10d, esi
mov dword [rsp + 0x50], r10d
movzx ecx, byte [rsp + 0x1d0]
mov r8d, dword [r14 + 0x20]
mov ebx, dword [r14 + 0x1c]
mov edi, dword [r14 + 0x24]
test cl, cl
je 0x14003f3ee
add rbx, rsi
lea rdx, [rsi + rdi]
mov qword [rsp + 0x58], rbx
lea r15, [rsi + r8]
mov qword [rsp + 0x48], rdx
jmp 0x14003f430
mov rdx, rsi
mov rcx, r13
call fcn.14003f800
mov r8d, ebx
mov rdx, rsi
mov rcx, r13
mov r15, rax
call fcn.14003f800
mov r8d, edi
mov qword [rsp + 0x58], rax
mov rdx, rsi
mov rcx, r13
mov rbx, rax
call fcn.14003f800
movzx ecx, byte [rsp + 0x1d0]
mov rdx, rax
mov qword [rsp + 0x48], rax
xor eax, eax
mov dword [rsp + 0x40], eax
cmp dword [r14 + 0x14], eax
jbe 0x14003f70e
lea r9, [r14 + 0x14]
mov qword [rsp + 0x60], r9
nop dword [rax]
movzx r12d, word [rdx + rax*2]
mov r11d, dword [rbx + r12*4]
test r11d, r11d
je 0x14003f4f0
mov r9d, dword [r15 + rax*4]
test cl, cl
je 0x14003f5df
mov edi, r11d
add r9, rsi
add rdi, qword [rsp + 0x1c0]
mov r8, rdi
cmp rdi, r14
jbe 0x14003f6b5
mov eax, dword [rsp + 0x50]
add rax, r14
cmp rdi, rax
jae 0x14003f6b5
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14003f4a0
inc ebx
cmp ebx, 0x100
jae 0x14003f701
mov r8d, ebx
lea rcx, [rsp + 0x70]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
xor eax, eax
test ebx, ebx
je 0x14003f4e3
lea rcx, [rsp + 0x70]
cmp byte [rcx], 0x2e
lea edx, [rax + 1]
je 0x14003f521
inc rcx
mov eax, edx
cmp edx, ebx
jb 0x14003f4d2
mov rbp, qword [rsp + 0x1c8]
mov rdx, qword [rsp + 0x48]
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
inc eax
mov dword [rsp + 0x40], eax
cmp eax, dword [rcx]
jae 0x14003f70e
mov rsi, qword [rsp + 0x1c0]
movzx ecx, byte [rsp + 0x1d0]
mov rbx, qword [rsp + 0x58]
jmp 0x14003f450
mov ebx, edx
mov byte [rsp + rax + 0x70], 0
add rbx, rdi
je 0x14003f4e3
cmp byte [rbx], 0x23
jne 0x14003f58c
lea rcx, [rbx + 1]
test rcx, rcx
je 0x14003f4e3
movzx edi, word [rsp + 0x1d8]
mov eax, 0xffff
cmp di, ax
jae 0x14003f4e3
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov ebx, eax
lea ecx, [rbx - 1]
cmp ecx, 0xfffe
ja 0x14003f4e3
cmp ebx, edi
jne 0x14003f4e3
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
movzx r8d, byte [rsp + 0x1d0]
mov rcx, rax
movzx edx, bx
call fcn.14003f230
jmp 0x14003f710
mov rbp, qword [rsp + 0x1c8]
mov r8, rbx
mov rax, rbp
sub r8, rbp
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003f5b3
inc rax
test ecx, ecx
jne 0x14003f5a0
test edx, edx
jne 0x14003f4eb
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
movzx r8d, byte [rsp + 0x1d0]
mov rdx, rbx
mov rcx, rax
call fcn.14003f230
jmp 0x14003f710
movzx r10d, word [r13 + 6]
test r10d, r10d
je 0x14003f61c
movzx ebx, word [r13 + 0x14]
xor r8d, r8d
add rbx, 0x18
add rbx, r13
test r10d, r10d
je 0x14003f61c
lea rdx, [rbx + 0x10]
mov ecx, dword [rdx - 4]
cmp r9d, ecx
jb 0x14003f610
add ecx, dword [rdx]
cmp r9d, ecx
jb 0x14003f661
inc r8d
add rdx, 0x28
cmp r8d, r10d
jb 0x14003f601
movzx r10d, word [r13 + 6]
xor r9d, r9d
test r10d, r10d
je 0x14003f65c
movzx ebx, word [r13 + 0x14]
xor r8d, r8d
add rbx, 0x18
add rbx, r13
test r10d, r10d
je 0x14003f65c
lea rdx, [rbx + 0x10]
mov ecx, dword [rdx - 4]
cmp r11d, ecx
jb 0x14003f650
add ecx, dword [rdx]
cmp r11d, ecx
jb 0x14003f695
inc r8d
add rdx, 0x28
cmp r8d, r10d
jb 0x14003f641
xor r8d, r8d
jmp 0x14003f6bd
lea rcx, [r8 + r8*4]
lea rdx, [rbx + rcx*8]
test rdx, rdx
je 0x14003f61c
sub r9d, dword [rdx + 0xc]
movzx ebx, word [r13 + 0x14]
movzx r10d, word [r13 + 6]
add rbx, 0x18
mov eax, r9d
add rbx, r13
mov r9d, dword [rdx + 0x14]
add rax, rsi
add r9, rax
xor r8d, r8d
jmp 0x14003f63d
lea rcx, [r8 + r8*4]
lea rdx, [rbx + rcx*8]
test rdx, rdx
je 0x14003f65c
sub r11d, dword [rdx + 0xc]
mov r8d, dword [rdx + 0x14]
mov eax, r11d
add rax, rsi
add r8, rax
jmp 0x14003f6bd
mov rbp, qword [rsp + 0x1c8]
mov eax, 0xffff
cmp rbp, rax
jbe 0x14003f6e7
mov rax, rbp
sub r9, rbp
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x14003f6e3
inc rax
test ecx, ecx
jne 0x14003f6d0
test edx, edx
je 0x14003f6fc
movzx eax, word [rsp + 0x1d8]
lea ecx, [r12 + 1]
cmp ecx, eax
jne 0x14003f4eb
mov rax, r8
jmp 0x14003f710
mov rbp, qword [rsp + 0x1c8]
jmp 0x14003f4f0
xor eax, eax
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret