Function at 0x140015430
Capabilities:
Access peb ldr_data
Get kernel32 base address
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x320]
sub rsp, 0x420
mov rax, qword [0x140188020]
xor rax, rsp
mov qword [rbp + 0x310], rax
mov rax, r9
mov qword [rsp + 0x40], rax
mov rbx, rdx
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x68], rcx
mov qword [rbp + 0x140], rdx
mov qword [rbp + 0x148], rax
xor r13d, r13d
mov dword [rsp + 0x30], r13d
lea rcx, [rbp + 0xc0]
call fcn.14001f1d0
mov rcx, rax
call fcn.14001caf0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14001ed60
nop
lea r12, [rbp + 0x1a8]
cmp qword [rbp + 0x1c0], 0x10
cmovae r12, qword [rbp + 0x1a8]
lea rcx, [rbp + 0x100]
call fcn.14001f2c0
mov rcx, rax
call fcn.14001d920
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
mov eax, 0x5a4d
cmp qword [rdi + 0x60], 0
je 0x1400155b2
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400154f8
cmp word [r11], ax
jne 0x1400155b2
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400155b2
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400155b2
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
mov r10d, r13d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x1400154f3
nop word [rax + rax]
xor r8b, r8b
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], r8b
je 0x1400155a1
mov rdx, rsi
sub rdx, rcx
movzx eax, byte [rcx + rdx]
test al, al
je 0x14001559c
cmp byte [rcx], al
jne 0x1400155a1
mov r8b, 1
inc rcx
cmp byte [rcx], 0
jne 0x140015574
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x1400155b5
test r8b, r8b
jne 0x14001558b
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140015560
jmp 0x1400154f3
mov rax, r13
lea rdx, [rbp + 0x1d0]
mov rcx, r12
call rax
mov qword [rbp - 0x28], rax
cmp rax, 0xffffffffffffffff
jne 0x140015600
lea rcx, [rbp + 0x1a8]
call fcn.14001e820
nop
mov rcx, qword [rsp + 0x50]
call fcn.14001e820
nop
mov rcx, qword [rsp + 0x40]
call fcn.14001e820
xor al, al
jmp 0x140016129
mov ebx, dword [rsp + 0x30]
or ebx, 1
lea rcx, [rbp - 0x60]
call fcn.14001f3c0
mov rcx, rax
call fcn.14001d3a0
lea rcx, [rbp + 0x1fc]
sub rax, rcx
movzx r8d, byte [rcx]
movzx edx, byte [rcx + rax]
sub r8d, edx
jne 0x140015636
inc rcx
test edx, edx
jne 0x140015622
test r8d, r8d
je 0x14001567d
or ebx, 2
lea rcx, [rbp + 0x150]
call fcn.14001f4a0
mov rcx, rax
call fcn.14001caf0
lea rcx, [rbp + 0x1fc]
sub rax, rcx
nop dword [rax]
movzx r8d, byte [rcx]
movzx edx, byte [rcx + rax]
sub r8d, edx
jne 0x140015674
inc rcx
test edx, edx
jne 0x140015660
test r8d, r8d
je 0x14001567d
xor al, al
jmp 0x14001567f
mov al, 1
test bl, 2
je 0x140015687
and ebx, 0xfffffffd
and ebx, 0xfffffffe
mov dword [rsp + 0x30], ebx
test al, al
jne 0x140015f1e
lea rcx, [rbp - 0x20]
call fcn.14001f590
mov rcx, rax
call fcn.14001d3a0
mov r8, rax
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.14001ed60
nop
lea rdx, [rbp + 0x1fc]
mov rcx, rax
call fcn.14001e570
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x188], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x198], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or ebx, 4
mov dword [rsp + 0x30], ebx
lea rcx, [rsp + 0x78]
call fcn.14001e820
test byte [rbp + 0x1d0], 0x10
je 0x1400157aa
lea rax, [rbp - 0x60]
mov qword [rsp + 0x48], rax
lea rcx, [rbp + 0x20]
call fcn.14001f670
mov rcx, rax
call fcn.14001d3a0
mov r8, rax
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.14001ed60
nop
lea rdx, [rbp + 0x1fc]
mov rcx, rax
call fcn.14001e570
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or ebx, 8
mov dword [rsp + 0x30], ebx
lea rdx, [rbp + 0x188]
lea rcx, [rbp + 0x150]
call fcn.14001e730
nop
lea r9, [rbp - 0x60]
mov r8b, 1
mov rdx, rax
mov rcx, qword [rbp - 0x68]
call fcn.140015430
nop
lea rcx, [rsp + 0x58]
jmp 0x140015f0c
xor ebx, ebx
mov qword [rbp + 0x150], rbx
mov qword [rbp + 0x160], rbx
mov qword [rbp + 0x168], 0xf
mov byte [rbp + 0x150], bl
xor r8d, r8d
lea rdx, [0x14015febb]
lea rcx, [rbp + 0x150]
call fcn.14001ea30
nop
lea rcx, [rbp + 0x20]
call fcn.14001f750
mov rcx, rax
call fcn.14001d3a0
mov r8, rax
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.14001ed60
nop
mov rdx, rax
lea rcx, [rbp + 0x150]
call fcn.14001e600
nop
lea rcx, [rbp - 0x60]
call fcn.14001e820
lea rdx, [rbp + 0x1fc]
lea rcx, [rbp + 0x150]
call fcn.14001e570
lea rdx, [rbp + 0x188]
cmp qword [rbp + 0x1a0], 0x10
cmovae rdx, qword [rbp + 0x188]
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], 0xf
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x140015860
lea rcx, [rbp - 0x20]
call fcn.14001ea30
lea rax, [rbp - 0x20]
mov qword [rsp + 0x48], rax
lea r13, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae r13, qword [rbp - 0x20]
lea rcx, [rbp + 0x20]
call fcn.14001eff0
mov rcx, rax
call fcn.14001d7f0
mov r14, rax
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rsi, qword [rcx]
cmp qword [rsi + 0x60], 0
je 0x140015975
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x1400158b2
mov edi, 0x5a4d
cmp word [r11], di
jne 0x140015970
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140015970
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140015970
lea rax, [r11 + rcx]
mov r15d, dword [rax + 0x1c]
add r15, r11
mov edi, dword [rax + 0x20]
add rdi, r11
mov r12d, dword [rax + 0x24]
add r12, r11
mov r10d, ebx
mov r9, rbx
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x140015969
nop dword [rax + rax]
xor dl, dl
mov ecx, dword [rdi + r9*4]
add rcx, r11
cmp byte [rcx], dl
je 0x14001595e
mov r8, r14
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x14001595a
cmp byte [rcx], al
jne 0x14001595e
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x140015933
movzx eax, word [r12 + r9*2]
mov r10d, dword [r15 + rax*4]
add r10, r11
xor ebx, ebx
jmp 0x140015978
test dl, dl
jne 0x14001594a
inc r10d
inc r9
cmp r10d, ebx
jb 0x140015920
xor ebx, ebx
jmp 0x1400158b2
mov r10, rbx
jmp 0x14001597d
mov r10, rbx
mov edi, 0x5a4d
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov r9d, 0xffffffff
mov r8, r13
xor edx, edx
mov ecx, 0xfde9
call r10
mov dword [rsp + 0x34], eax
xor r8d, r8d
movsxd rdx, eax
lea rcx, [rbp - 0x60]
call fcn.14001e470
or dword [rsp + 0x30], 0x10
lea r13, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae r13, qword [rbp - 0x60]
lea rax, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rax, qword [rbp - 0x20]
mov qword [rsp + 0x38], rax
lea rcx, [rbp + 0x70]
call fcn.14001f0e0
mov rcx, rax
call fcn.14001d7f0
mov r14, rax
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rsi, qword [rcx]
cmp qword [rsi + 0x60], 0
je 0x140015ad2
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x140015abc
cmp word [r11], di
jne 0x140015acd
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140015acd
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140015acd
lea rax, [r11 + rcx]
mov r15d, dword [rax + 0x1c]
add r15, r11
mov edi, dword [rax + 0x20]
add rdi, r11
mov r12d, dword [rax + 0x24]
add r12, r11
mov r10d, ebx
mov r9, rbx
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x140015aba
xor dl, dl
mov ecx, dword [rdi + r9*4]
add rcx, r11
cmp byte [rcx], dl
je 0x140015aaf
mov r8, r14
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x140015aab
cmp byte [rcx], al
jne 0x140015aaf
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x140015a84
movzx eax, word [r12 + r9*2]
mov r10d, dword [r15 + rax*4]
add r10, r11
xor ebx, ebx
jmp 0x140015ad5
test dl, dl
jne 0x140015a9b
inc r10d
inc r9
cmp r10d, ebx
jb 0x140015a71
xor ebx, ebx
cmp qword [rsi + 0x60], 0
je 0x140015ad2
mov edi, 0x5a4d
jmp 0x140015a10
mov r10, rbx
jmp 0x140015ada
mov r10, rbx
mov edi, 0x5a4d
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
mov r9d, 0xffffffff
mov r8, qword [rsp + 0x38]
xor edx, edx
mov ecx, 0xfde9
call r10
nop
lea rcx, [rbp - 0x20]
call fcn.14001e820
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rax, qword [rbp - 0x60]
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0x10
cmovae rdx, qword [rbp + 0x150]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], 0xf
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140015b50
lea rcx, [rsp + 0x58]
call fcn.14001ea30
lea rax, [rsp + 0x58]
mov qword [rbp + 0x18], rax
lea r13, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae r13, qword [rsp + 0x58]
lea rcx, [rbp + 0x70]
call fcn.14001eff0
mov rcx, rax
call fcn.14001d7f0
mov r14, rax
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rsi, qword [rcx]
cmp qword [rsi + 0x60], 0
je 0x140015c82
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x140015c6c
cmp word [r11], di
jne 0x140015c7d
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140015c7d
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140015c7d
lea rax, [r11 + rcx]
mov r15d, dword [rax + 0x1c]
add r15, r11
mov edi, dword [rax + 0x20]
add rdi, r11
mov r12d, dword [rax + 0x24]
add r12, r11
mov r10d, ebx
mov r9, rbx
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x140015c6a
xor dl, dl
mov ecx, dword [rdi + r9*4]
add rcx, r11
cmp byte [rcx], dl
je 0x140015c5f
mov r8, r14
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x140015c5b
cmp byte [rcx], al
jne 0x140015c5f
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x140015c34
movzx eax, word [r12 + r9*2]
mov r10d, dword [r15 + rax*4]
add r10, r11
xor ebx, ebx
jmp 0x140015c85
test dl, dl
jne 0x140015c4b
inc r10d
inc r9
cmp r10d, ebx
jb 0x140015c21
xor ebx, ebx
cmp qword [rsi + 0x60], 0
je 0x140015c82
mov edi, 0x5a4d
jmp 0x140015bc0
mov r10, rbx
jmp 0x140015c8a
mov r10, rbx
mov edi, 0x5a4d
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov r9d, 0xffffffff
mov r8, r13
xor edx, edx
mov ecx, 0xfde9
call r10
mov dword [rsp + 0x34], eax
xor r8d, r8d
movsxd rdx, eax
lea rcx, [rsp + 0x78]
call fcn.14001e470
or dword [rsp + 0x30], 0x20
lea r13, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae r13, qword [rsp + 0x78]
lea rax, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rcx, [rbp + 0x20]
call fcn.14001f0e0
mov rcx, rax
call fcn.14001d7f0
mov r14, rax
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rsi, qword [rcx]
cmp qword [rsi + 0x60], 0
je 0x140015ddb
nop dword [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x140015dca
cmp word [r11], di
jne 0x140015ddb
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140015ddb
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140015ddb
lea rax, [r11 + rcx]
mov r15d, dword [rax + 0x1c]
add r15, r11
mov edi, dword [rax + 0x20]
add rdi, r11
mov r12d, dword [rax + 0x24]
add r12, r11
mov r10d, ebx
mov r9, rbx
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x140015dc8
xor dl, dl
mov ecx, dword [rdi + r9*4]
add rcx, r11
cmp byte [rcx], dl
je 0x140015dbd
mov r8, r14
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x140015db9
cmp byte [rcx], al
jne 0x140015dbd
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x140015d94
movzx eax, word [r12 + r9*2]
mov r10d, dword [r15 + rax*4]
add r10, r11
jmp 0x140015dde
test dl, dl
jne 0x140015dab
inc r10d
inc r9
cmp r10d, ebx
jb 0x140015d81
xor ebx, ebx
cmp qword [rsi + 0x60], 0
je 0x140015ddb
mov edi, 0x5a4d
jmp 0x140015d20
mov r10, rbx
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
mov r9d, 0xffffffff
mov r8, qword [rsp + 0x38]
xor edx, edx
mov ecx, 0xfde9
call r10
nop
lea rcx, [rsp + 0x58]
call fcn.14001e820
lea rax, [rsp + 0x78]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
cmovae rax, rcx
mov r10, qword [rbp - 0x68]
test r10, r10
jne 0x140015e31
mov eax, 0x10000
jmp 0x140015e63
cmp dword [r10], 2
je 0x140015e3e
mov eax, 0x80000
jmp 0x140015e63
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov r8, qword [rsp + 0x48]
mov rdx, rax
mov rcx, qword [r10 + 8]
call fcn.140125e10
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rsp + 0x78]
mov dword [0x14018df3c], eax
mov ebx, dword [rsp + 0x30]
and ebx, 0xffffffdf
cmp rdx, 8
jb 0x140015ea8
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015ea3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001617f
call fcn.14012b910
xor r13d, r13d
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r13w
and ebx, 0xffffffef
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140015f05
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015eff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016179
call fcn.14012b910
nop
lea rcx, [rbp + 0x150]
call fcn.14001e820
nop
lea rcx, [rbp + 0x188]
call fcn.14001e820
lea rcx, [rbp + 0x20]
call fcn.14001f830
mov rcx, rax
call fcn.14001d2b0
mov r14, rax
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rsi, qword [rcx]
cmp qword [rsi + 0x60], 0
je 0x140016001
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x140015f46
mov ebx, 0x5a4d
cmp word [r11], bx
jne 0x140015ffc
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140015ffc
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140015ffc
lea rax, [r11 + rcx]
mov r15d, dword [rax + 0x1c]
add r15, r11
mov ebx, dword [rax + 0x20]
add rbx, r11
mov r12d, dword [rax + 0x24]
add r12, r11
mov r10d, r13d
mov r9, r13
mov edi, dword [rax + 0x18]
test edi, edi
je 0x140015f46
nop
xor dl, dl
mov eax, dword [rbx + r9*4]
add rax, r11
cmp byte [rax], dl
je 0x140015fec
mov r8, r14
sub r8, rax
movzx ecx, byte [r8 + rax]
test cl, cl
je 0x140015fe8
cmp byte [rax], cl
jne 0x140015fec
mov dl, 1
inc rax
cmp byte [rax], 0
jne 0x140015fc3
movzx eax, word [r12 + r9*2]
mov r8d, dword [r15 + rax*4]
add r8, r11
jmp 0x140016004
test dl, dl
jne 0x140015fda
inc r10d
inc r9
cmp r10d, edi
jb 0x140015fb0
jmp 0x140015f46
mov r8, r13
jmp 0x140016009
mov r8, r13
mov ebx, 0x5a4d
lea rdx, [rbp + 0x1d0]
mov r12, qword [rbp - 0x28]
mov rcx, r12
call r8
test eax, eax
jne 0x140015600
lea rcx, [rbp + 0x20]
call fcn.14001f930
mov rcx, rax
call fcn.14001c8f0
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
cmp qword [rdi + 0x60], 0
je 0x1400160fe
nop word [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x140016168
cmp word [r11], bx
jne 0x1400160fe
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400160fe
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400160fe
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
mov r10d, r13d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x140016168
nop dword [rax + rax]
xor r8b, r8b
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], r8b
je 0x140016158
mov rdx, rsi
sub rdx, rcx
movzx eax, byte [rdx + rcx]
test al, al
je 0x140016153
cmp byte [rcx], al
jne 0x140016158
mov r8b, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400160d8
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov r13d, dword [r14 + rcx*4]
add r13, r11
mov rcx, r12
call r13
nop
lea rcx, [rbp + 0x1a8]
call fcn.14001e820
nop
mov rcx, qword [rsp + 0x50]
call fcn.14001e820
nop
mov rcx, qword [rsp + 0x40]
call fcn.14001e820
mov al, 1
mov rcx, qword [rbp + 0x310]
xor rcx, rsp
call fcn.14012b8f0
mov rbx, qword [rsp + 0x470]
add rsp, 0x420
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test r8b, r8b
jne 0x1400160ef
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400160c0
cmp qword [rdi + 0x60], 0
je 0x1400160fe
mov ebx, 0x5a4d
jmp 0x140016060
call fcn.140133e80
nop
call fcn.140133e80
int3