Function at 0x140031d30
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xc0
mov rax, qword [0x140076100]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov rax, qword gs:[0x58]
movabs rsi, 0x8ad77d973d1270
mov ebx, 4
mov edi, 1
movabs r14, 0xdd0fc6a86fd67c33
add rbx, qword [rax]
mov eax, dword [rbx]
cmp dword [0x1400796c0], eax
jle 0x140031dfc
lea rcx, [0x1400796c0]
call fcn.140038438
cmp dword [0x1400796c0], 0xffffffff
jne 0x140031dfc
movabs rax, 0xb161b4c31cb9085d
mov qword [rbp + 0x37], r14
mov qword [rbp - 0x49], rax
lea rcx, [rbp - 0x49]
movabs rax, 0x8ad77df245775e
mov qword [rbp + 0x3f], rsi
mov qword [rbp - 0x41], rax
mov r8d, edi
movdqa xmm0, xmmword [rbp - 0x49]
xor edx, edx
xorps xmm0, xmmword [rbp + 0x37]
movdqa xmmword [rbp - 0x49], xmm0
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
lea rcx, [0x1400796c0]
mov qword [0x140079518], rax
call fcn.1400383cc
mov eax, dword [rbx]
cmp dword [0x1400796d8], eax
jle 0x140031e35
lea rcx, [0x1400796d8]
call fcn.140038438
cmp dword [0x1400796d8], 0xffffffff
jne 0x140031e35
mov rax, qword [0x140079518]
lea rcx, [0x1400796d8]
mov qword [0x140079688], rax
call fcn.1400383cc
mov rax, qword [0x140079688]
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14003227f
mov eax, dword [rbx]
cmp dword [0x1400797d0], eax
jle 0x140031e8e
lea rcx, [0x1400797d0]
call fcn.140038438
cmp dword [0x1400797d0], 0xffffffff
jne 0x140031e8e
mov rax, qword [0x140079688]
lea rcx, [0x1400797d0]
movsxd rdx, dword [rax + 0x3c]
add rdx, qword [0x140079518]
mov qword [0x140079698], rdx
call fcn.1400383cc
mov rax, qword [0x140079698]
cmp dword [rax], 0x4550
jne 0x14003227f
mov eax, dword [rbx]
cmp dword [0x140079748], eax
jle 0x140031ee0
lea rcx, [0x140079748]
call fcn.140038438
cmp dword [0x140079748], 0xffffffff
jne 0x140031ee0
mov rax, qword [0x140079698]
lea rcx, [0x140079748]
add rax, 0x108
mov qword [0x140079740], rax
call fcn.1400383cc
mov eax, dword [rbx]
cmp dword [0x1400795b0], eax
jle 0x140031f19
lea rcx, [0x1400795b0]
call fcn.140038438
cmp dword [0x1400795b0], 0xffffffff
jne 0x140031f19
mov rax, qword [0x140079740]
lea rcx, [0x1400795b0]
mov qword [0x140079540], rax
call fcn.1400383cc
mov eax, dword [rbx]
cmp dword [0x140079548], eax
jle 0x140031f56
lea rcx, [0x140079548]
call fcn.140038438
cmp dword [0x140079548], 0xffffffff
jne 0x140031f56
mov rax, qword [0x140079698]
lea rcx, [0x140079548]
movzx edx, word [rax + 6]
mov word [0x1400796a0], dx
call fcn.1400383cc
xchg byte [0x1400794c9], dil
mov r9, qword [0x140079740]
test dil, dil
jne 0x140031fe7
movzx eax, word [0x1400796a0]
lea rcx, [rax + rax*4]
mov rax, qword [0x140079540]
lea r10, [rax + rcx*8]
cmp r9, r10
jae 0x140031fe7
mov qword [rbp + 0x37], r14
movabs r11, 0xdd0fc6a82a913d63
mov qword [rbp + 0x3f], rsi
movdqa xmm1, xmmword [rbp + 0x37]
nop
mov qword [rbp - 0x39], r11
lea r8, [rbp - 0x39]
mov qword [rbp - 0x31], rsi
mov rax, r9
movdqa xmm0, xmmword [rbp - 0x39]
sub r8, r9
xorps xmm0, xmm1
movdqa xmmword [rbp - 0x39], xmm0
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140031fd3
inc rax
test ecx, ecx
jne 0x140031fc0
test edx, edx
je 0x140031fe7
add r9, 0x28
mov qword [0x140079740], r9
cmp r9, r10
jb 0x140031fa0
mov eax, dword [rbx]
cmp dword [0x140079554], eax
jle 0x140032031
lea rcx, [0x140079554]
call fcn.140038438
cmp dword [0x140079554], 0xffffffff
jne 0x14003202a
mov rax, qword [0x140079740]
lea rcx, [0x140079554]
mov edx, dword [rax + 0xc]
add rdx, qword [0x140079518]
mov qword [0x1400797d8], rdx
call fcn.1400383cc
mov r9, qword [0x140079740]
mov r11d, dword [r9 + 0x10]
lea r8, [rbp - 0x26]
mov r10, qword [0x1400797d8]
lea r9, [0x140000000]
xorps xmm0, xmm0
mov qword [rbp + 0x27], 0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x29], xmm0
xor edi, edi
movdqu xmmword [rbp - 0x19], xmm1
movdqu xmmword [rbp - 9], xmm0
mov edx, edi
movdqu xmmword [rbp + 7], xmm1
movdqu xmmword [rbp + 0x17], xmm0
mov word [rbp + 0x2f], 0
nop dword [rax + rax]
movzx ecx, byte [rdx + r9 + 0x6a8e0]
mov byte [r8 - 3], cl
lea r8, [r8 + 0x1e]
movzx eax, byte [rdx + r9 + 0x6a8b0]
mov byte [r8 - 0x20], al
movzx ecx, byte [rdx + r9 + 0x6a8e1]
mov byte [r8 - 0x1f], cl
movzx eax, byte [rdx + r9 + 0x6a8b1]
mov byte [r8 - 0x1e], al
movzx ecx, byte [rdx + r9 + 0x6a8e2]
mov byte [r8 - 0x1d], cl
movzx eax, byte [rdx + r9 + 0x6a8b2]
mov byte [r8 - 0x1c], al
movzx ecx, byte [rdx + r9 + 0x6a8e3]
movzx eax, byte [rdx + r9 + 0x6a8b3]
mov byte [r8 - 0x1b], cl
movzx ecx, byte [rdx + r9 + 0x6a8e4]
mov byte [r8 - 0x1a], al
movzx eax, byte [rdx + r9 + 0x6a8b4]
mov byte [r8 - 0x19], cl
movzx ecx, byte [rdx + r9 + 0x6a8e5]
mov byte [r8 - 0x18], al
movzx eax, byte [rdx + r9 + 0x6a8b5]
mov byte [r8 - 0x17], cl
movzx ecx, byte [rdx + r9 + 0x6a8e6]
mov byte [r8 - 0x16], al
movzx eax, byte [rdx + r9 + 0x6a8b6]
mov byte [r8 - 0x15], cl
movzx ecx, byte [rdx + r9 + 0x6a8e7]
mov byte [r8 - 0x14], al
movzx eax, byte [rdx + r9 + 0x6a8b7]
mov byte [r8 - 0x13], cl
movzx ecx, byte [rdx + r9 + 0x6a8e8]
mov byte [r8 - 0x12], al
movzx eax, byte [rdx + r9 + 0x6a8b8]
mov byte [r8 - 0x11], cl
movzx ecx, byte [rdx + r9 + 0x6a8e9]
mov byte [r8 - 0x10], al
movzx eax, byte [rdx + r9 + 0x6a8b9]
mov byte [r8 - 0xf], cl
movzx ecx, byte [rdx + r9 + 0x6a8ea]
mov byte [r8 - 0xe], al
movzx eax, byte [rdx + r9 + 0x6a8ba]
mov byte [r8 - 0xd], cl
movzx ecx, byte [rdx + r9 + 0x6a8eb]
mov byte [r8 - 0xc], al
movzx eax, byte [rdx + r9 + 0x6a8bb]
mov byte [r8 - 0xb], cl
movzx ecx, byte [rdx + r9 + 0x6a8ec]
mov byte [r8 - 0xa], al
movzx eax, byte [rdx + r9 + 0x6a8bc]
mov byte [r8 - 9], cl
movzx ecx, byte [rdx + r9 + 0x6a8ed]
mov byte [r8 - 8], al
movzx eax, byte [rdx + r9 + 0x6a8bd]
mov byte [r8 - 7], cl
movzx ecx, byte [rdx + r9 + 0x6a8ee]
mov byte [r8 - 6], al
movzx eax, byte [rdx + r9 + 0x6a8be]
add rdx, 0xf
mov byte [r8 - 5], cl
mov byte [r8 - 4], al
cmp rdx, 0x2d
jb 0x140032080
lea rbx, [r11 + r10]
mov rax, rbx
cmp r11, 0x2d
jb 0x140032269
lea r11, [rbx - 0x2d]
nop dword [rax]
mov r8, r10
lea rdx, [rbp - 0x29]
nop word [rax + rax]
movzx r9d, word [rdx]
movzx ecx, r9w
shr cx, 8
cmp cl, 0x3f
je 0x140032256
cmp byte [r8], r9b
jne 0x140032275
inc r8
lea rcx, [rbp + 0x31]
add rdx, 2
cmp rdx, rcx
jne 0x140032240
mov rax, r10
cmp rax, rbx
cmovne rdi, rax
mov rax, rdi
jmp 0x140032281
cmp r10, r11
je 0x140032269
inc r10
jmp 0x140032230
xor eax, eax
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.140038300
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret