Function at 0x180003149
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x478
movaps xmmword [rsp + 0x460], xmm7
movaps xmmword [rsp + 0x450], xmm6
mov qword [rsp + 0x58], rcx
mov edi, 0xffffffff
test r8, r8
je 0x180004135
mov rbx, r8
mov esi, edx
call sym.bof_launcher_win_x64_shared.dll_bofLauncherInit
test eax, eax
js 0x180004135
mov rcx, qword [0x18000c328]
lea rdx, [rcx + 0x38]
mov eax, 1
mov qword [rsp + 0x170], rbx
cmp rax, 0x41
je 0x1800031bd
cmp byte [rdx], 1
jne 0x1800031c2
inc rax
add rdx, 0x20
jmp 0x1800031a9
mov eax, 0x41
mov edx, eax
mov r8, rdx
shl r8, 5
mov bl, 1
mov byte [rcx + r8 + 0x18], bl
lea rcx, [0x18000c328]
mov r8, qword [0x18000c338]
inc word [r8 + rdx*2]
mov r8, qword [0x18000c338]
movzx edx, word [r8 + rdx*2]
shl edx, 0x10
or edx, eax
mov dword [rsp + 0x9c], edx
call fcn.180004946
mov r14, rax
movups xmm0, xmmword [0x18000c2e8]
movaps xmmword [rsp + 0x200], xmm0
movsxd rsi, esi
mov rcx, rax
call fcn.180003117
mov byte [r14 + 0x19], bl
lea rax, [rsp + 0x3a0]
mov rdx, qword [rsp + 0x58]
mov qword [rax], rdx
mov qword [rax + 8], rsi
and qword [rax + 0x10], 0
and word [rax + 0x1c], 0
xorps xmm6, xmm6
movaps xmmword [rsp + 0x210], xmm6
lea rax, [rsp + 0x1d0]
movaps xmmword [rax + 0x10], xmm6
movaps xmm0, xmmword [rsp + 0x200]
movaps xmmword [rax], xmm0
mov qword [rsp + 0xb8], rax
lea rax, [0x18000c288]
mov qword [rsp + 0xc0], rax
mov eax, dword [rdx + 0xc]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc0]
lea rdi, [rsp + 0x1a8]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rcx
movups xmmword [rdi + 8], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi], rax
movzx ebx, word [rdx + 2]
movzx eax, word [rdx + 0x10]
add rax, rdx
add rax, 0x14
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rbx
shl rbx, 0xf
add rbx, 0x8000
xor r15d, r15d
xor ecx, ecx
mov rdx, rbx
mov r8d, 0x103000
mov r9d, 0x40
call sub.KERNEL32.dll_VirtualAlloc
mov qword [rsp + 0xf8], rax
mov qword [r14], rax
mov qword [rsp + 0xe0], r14
mov qword [r14 + 8], rbx
movaps xmmword [rsp + 0x3d0], xmm6
movdqu xmm0, xmmword [rsp + 0xb8]
movdqa xmmword [rsp + 0x3e0], xmm0
movaps xmmword [rsp + 0x60], xmm6
movdqa xmmword [rsp + 0x70], xmm0
mov ebp, 0x8000
lea rsi, [rsp + 0x348]
lea rbx, [rsp + 0x410]
lea r14, [rsp + 0x330]
cmp r15, qword [rsp + 0x108]
je 0x180003412
imul rax, r15, 0x28
mov rcx, qword [rsp + 0x100]
movups xmm0, xmmword [rcx + rax]
movaps xmmword [rsp + 0x330], xmm0
mov r12d, dword [rcx + rax + 0x10]
mov r13d, dword [rcx + rax + 0x14]
mov dword [rsp + 0x340], r12d
mov dword [rsp + 0x344], r13d
movdqu xmm0, xmmword [rcx + rax + 0x18]
movdqu xmmword [rsi], xmm0
mov rcx, rbx
lea rdx, [rsp + 0x3a0]
mov r8, r14
call fcn.180002a67
test r12, r12
je 0x1800033f6
mov rax, qword [rsp + 0xf8]
lea rdx, [rax + rbp]
add r13, qword [rsp + 0x58]
xor eax, eax
cmp r12, rax
je 0x1800033d9
mov cl, byte [r13 + rax]
mov byte [rdx + rax], cl
inc rax
jmp 0x1800033c7
mov rcx, rdi
mov r8, r12
call fcn.180002c20
test ax, ax
jne 0x180004053
add rbp, 0x8000
jmp 0x18000340a
mov rcx, rdi
xor r8d, r8d
call fcn.180002c20
test ax, ax
jne 0x180004053
inc r15
jmp 0x180003352
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx + 8]
add rcx, rax
test rax, rax
cmove rcx, rax
mov qword [rsp + 0xf0], rcx
lea rsi, [rsp + 0x3f0]
lea rdx, [rsp + 0x3a0]
mov rcx, rsi
call fcn.180002d9f
movzx r13d, word [rsi + 0x18]
test r13w, r13w
jne 0x180004084
movdqu xmm0, xmmword [rsp + 0x3f0]
lea rax, [rsp + 0x1f0]
movdqa xmmword [rax], xmm0
lea rbp, [rsp + 0xa0]
xorps xmm6, xmm6
xor eax, eax
cmp rax, qword [rsp + 0x108]
je 0x18000415b
mov qword [rsp + 0xe8], rax
imul rax, rax, 0x28
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rdx + rax + 0x10]
mov qword [rsp + 0x2e0], rcx
movdqu xmm0, xmmword [rdx + rax]
movdqa xmmword [rsp + 0x2d0], xmm0
movzx r9d, word [rdx + rax + 0x20]
movzx ecx, word [rdx + rax + 0x26]
lea r8, [rsp + 0x2f2]
mov word [r8 + 4], cx
mov ecx, dword [rdx + rax + 0x22]
mov dword [r8], ecx
mov rsi, qword [rdx + rax + 0x18]
mov qword [rsp + 0x2e8], rsi
mov qword [rsp + 0x180], r9
mov word [rsp + 0x2f0], r9w
lea rcx, [rsp + 0x428]
lea rdx, [rsp + 0x3a0]
lea r8, [rsp + 0x2d0]
call fcn.180002a67
mov eax, esi
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x178], rax
xor ebx, ebx
cmp rbx, qword [rsp + 0x180]
je 0x180004043
imul rax, rbx, 0xa
mov rdx, qword [rsp + 0x178]
mov ecx, dword [rdx + rax]
mov qword [rsp + 0x90], rcx
mov ecx, dword [rdx + rax + 4]
movzx r12d, word [rdx + rax + 8]
imul rax, rcx, 0x12
mov r8, qword [rsp + 0xf0]
mov rcx, qword [r8 + rax]
mov r15d, dword [r8 + rax + 8]
movzx edx, word [r8 + rax + 0x10]
mov dword [rsp + 0xa0], r15d
mov r14d, dword [r8 + rax + 0xc]
mov dword [rsp + 0xa4], r14d
mov qword [rsp + 0xa8], rcx
mov word [rsp + 0xb0], dx
mov byte [rsp + 0xb4], 0
mov rcx, rbp
call fcn.180002e00
test rax, rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x2c], r12d
jne 0x1800035d4
lea rcx, [rsp + 0x1a0]
mov rdx, rbp
call fcn.180002e6d
mov edx, dword [rsp + 0x1a0]
lea rcx, [rsp + 0x1f0]
call fcn.180002ebf
mov rsi, rax
mov rdi, rdx
mov r15, qword [0x18000c308]
cmp dword [0x18000c310], 0
lea rax, [0x180009560]
je 0x180003695
mov rcx, rsi
mov rdx, rdi
call fcn.180007f5a
mov rbx, rax
test r15, r15
je 0x180003613
mov r12d, dword [r15 - 8]
lea r13d, [r12 - 1]
jmp 0x18000361c
xor r12d, r12d
mov r13d, 0xffffffff
mov rbp, rbx
shr rbp, 0x39
and ebx, r13d
mov al, byte [r15 + rbx]
sub r12d, 1
setb cl
test al, al
je 0x18000366c
test cl, cl
jne 0x18000366c
test al, al
jns 0x180003667
and al, 0x7f
cmp bpl, al
jne 0x180003667
mov rax, qword [r15 - 0x10]
mov rcx, rbx
shl rcx, 4
mov r8, qword [rax + rcx]
mov r9, qword [rax + rcx + 8]
mov rcx, rsi
mov rdx, rdi
call fcn.1800029d9
test al, 1
jne 0x180003675
inc rbx
jmp 0x180003623
lea rax, [0x180009560]
jmp 0x18000368d
mov qword [rsp + 0x130], rbx
mov byte [rsp + 0x138], 1
lea rax, [rsp + 0x130]
lea rbp, [rsp + 0xa0]
movd xmm0, r14d
cmp byte [rax + 8], 0
movd r12d, xmm0
je 0x1800036bf
mov rax, qword [rax]
mov rcx, qword [r15 - 0x18]
mov r13, qword [rcx + rax*8]
test r12w, r12w
sete cl
xor r15d, r15d
jmp 0x180003a99
test r12w, r12w
je 0x1800036d2
mov r15b, 1
xor r13d, r13d
xor ecx, ecx
jmp 0x180003a99
lea rcx, [rsp + 0x360]
mov rdx, rsi
mov r8, rdi
mov r9b, 0x24
call fcn.180002ed7
cmp byte [rsp + 0x368], 0
je 0x180003904
mov qword [rsp + 0x300], rsi
mov qword [rsp + 0x308], rdi
movups xmm7, xmmword [0x180009510]
lea rax, [rsp + 0x310]
movups xmmword [rax], xmm7
lea rax, [0x18000c02c]
mov qword [rsp + 0x320], rax
mov qword [rsp + 0x328], 1
lea rcx, [rsp + 0x300]
call fcn.180002f8c
mov rbx, rax
mov r14, rdx
mov rcx, rax
mov r8, rsi
mov r9, rdi
call fcn.1800029d9
mov qword [rsp + 0x238], rbx
mov qword [rsp + 0x240], r14
lea rcx, [rsp + 0x288]
lea rbx, [rsp + 0xb8]
mov rdx, rbx
lea r8, [rsp + 0x238]
call fcn.180002ef5
movzx r13d, word [rsp + 0x298]
test r13w, r13w
jne 0x180004084
mov r15, qword [rsp + 0x288]
mov r14, qword [rsp + 0x290]
lea rcx, [rsp + 0x300]
call fcn.180002f8c
mov qword [rsp + 0x370], rax
mov qword [rsp + 0x378], rdx
lea rax, [rsp + 0x380]
movups xmmword [rax], xmm7
lea rax, [0x18000c02e]
mov qword [rsp + 0x390], rax
mov qword [rsp + 0x398], 1
lea rcx, [rsp + 0x370]
call fcn.180002f8c
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], rdx
lea rcx, [rsp + 0x2a0]
mov rdx, rbx
lea r8, [rsp + 0x248]
call fcn.180002ef5
cmp word [rsp + 0x2b0], 0
jne 0x180004058
mov r13, qword [rsp + 0x2a0]
mov rbx, qword [rsp + 0x2a8]
mov rcx, r15
call sub.KERNEL32.dll_GetModuleHandleA
test rax, rax
jne 0x180003853
mov rcx, r15
call sub.KERNEL32.dll_LoadLibraryA
mov qword [rsp + 0x88], r15
mov rcx, rax
mov qword [rsp + 0x80], r13
mov rdx, r13
call sub.KERNEL32.dll_GetProcAddress
mov r13, rax
lea rax, [0x180009560]
test r13, r13
je 0x180003895
mov qword [rsp + 0x258], r13
mov byte [rsp + 0x260], 1
lea rax, [rsp + 0x258]
inc rbx
mov rbp, qword [rsp + 0x4b8]
mov al, byte [rax + 8]
mov byte [rsp + 0x2a], al
mov qword [rsp + 0x20], rbp
xor r15d, r15d
lea rcx, [rsp + 0x1d0]
mov rdx, qword [rsp + 0x80]
mov r8, rbx
xor r9d, r9d
call qword [0x18000c298]
inc r14
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x1d0]
mov rdx, qword [rsp + 0x88]
mov r8, r14
xor r9d, r9d
call qword [0x18000c298]
mov cl, 1
cmp byte [rsp + 0x2a], 0
lea rbp, [rsp + 0xa0]
jne 0x180003a99
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x208], rdi
movdqu xmm0, xmmword [0x180009510]
lea rax, [rsp + 0x210]
movdqu xmmword [rax], xmm0
lea rax, [0x18000c02e]
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 1
lea rcx, [rsp + 0x200]
call fcn.180002f8c
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x270], rdx
lea rcx, [rsp + 0x2b8]
lea rdx, [rsp + 0xb8]
lea r8, [rsp + 0x268]
call fcn.180002ef5
movzx r13d, word [rsp + 0x2c8]
test r13w, r13w
jne 0x180004084
mov rsi, qword [rsp + 0x2b8]
mov rdi, qword [rsp + 0x2c0]
xor r14d, r14d
mov r15, qword [rsp + 0xd8]
cmp r14, 0x50
je 0x180003a19
lea rax, [0x180009300]
mov rbx, qword [r14 + rax]
mov rcx, rbx
call sub.KERNEL32.dll_GetModuleHandleA
test rax, rax
jne 0x1800039d1
mov rcx, rbx
call sub.KERNEL32.dll_LoadLibraryA
mov rcx, rax
mov rdx, rsi
call sub.KERNEL32.dll_GetProcAddress
lea rcx, [0x180009560]
test rax, rax
je 0x1800039fb
mov byte [rsp + 0x190], 1
mov r15, rax
lea rcx, [rsp + 0x188]
add r14, 8
cmp byte [rcx + 8], 0
je 0x1800039ab
mov qword [rsp + 0xd8], r15
mov qword [rsp + 0x188], r15
mov bl, 1
jmp 0x180003a62
mov qword [rsp + 0x188], r15
xor ecx, ecx
call sub.KERNEL32.dll_GetModuleHandleA
mov rcx, rax
mov rdx, rsi
call sub.KERNEL32.dll_GetProcAddress
lea rcx, [0x180009560]
test rax, rax
je 0x180003a57
mov qword [rsp + 0x278], rax
mov byte [rsp + 0x280], 1
lea rcx, [rsp + 0x278]
mov qword [rsp + 0xd8], r15
mov bl, byte [rcx + 8]
mov r13, qword [rcx]
inc rdi
mov rax, qword [rsp + 0x4b8]
mov qword [rsp + 0x20], rax
xor r15d, r15d
lea rcx, [rsp + 0x1d0]
mov rdx, rsi
mov r8, rdi
xor r9d, r9d
call qword [0x18000c298]
mov cl, 1
test bl, bl
je 0x18000407f
mov rdx, qword [rsp + 0x1a8]
test cl, cl
jne 0x180003ab4
dec r12d
movzx eax, r12w
shl rax, 4
mov rax, qword [rdx + rax]
mov rcx, qword [rsp + 0xe8]
shl rcx, 4
mov rsi, qword [rsp + 0x90]
add rsi, qword [rdx + rcx]
test r15b, r15b
je 0x180003b02
mov ecx, dword [rsp + 0x2c]
cmp ecx, 1
je 0x180003b34
cmp ecx, 3
je 0x180003b3e
cmp ecx, 4
mov rbx, qword [rsp + 0x38]
jne 0x18000403b
sub eax, esi
mov rcx, qword [rsp + 0x30]
add ecx, dword [rsi]
add eax, ecx
add eax, 0xfffffffc
mov dword [rsi], eax
jmp 0x18000403b
mov qword [rsp + 0x198], r13
mov r12, qword [rsp + 0x60]
mov r15d, dword [rsp + 0x68]
test r15d, r15d
je 0x180003ba3
mov rcx, r13
call fcn.180007f5f
test r12, r12
je 0x180003b4f
mov ecx, dword [r12 - 8]
lea edx, [rcx - 1]
jmp 0x180003b56
add rax, qword [rsp + 0x30]
add qword [rsi], rax
jmp 0x180003b45
sub eax, esi
add eax, 0xfffffffc
mov dword [rsi], eax
mov rbx, qword [rsp + 0x38]
jmp 0x18000403b
xor ecx, ecx
mov edx, 0xffffffff
mov r8, rax
shr r8, 0x39
and eax, edx
mov r9b, byte [r12 + rax]
sub ecx, 1
setb r10b
test r9b, r9b
je 0x180003b96
test r10b, r10b
jne 0x180003b96
test r9b, r9b
jns 0x180003b91
and r9b, 0x7f
cmp r8b, r9b
jne 0x180003b91
mov r9, qword [r12 - 0x10]
cmp qword [r9 + rax*8], r13
je 0x180003ca6
inc rax
jmp 0x180003b5d
cmp r15d, 0xff
ja 0x18000407f
cmp dword [rsp + 0x6c], 0
je 0x180003bc5
mov rcx, r13
call fcn.180007f5f
test r12, r12
je 0x180003c0c
mov edx, dword [r12 - 8]
lea r8d, [rdx - 1]
mov r9, rdx
jmp 0x180003c17
test r12, r12
mov qword [rsp + 0x90], rsi
je 0x180003cc0
mov eax, dword [r12 - 8]
imul rcx, rax, 0x50
mov rax, rcx
xor edx, edx
mov r8d, 0x64
div r8
neg rdx
lea rax, [rcx + rdx]
add rax, 0x64
xor edx, edx
mov ecx, 0x50
div rcx
mov rdx, rax
inc edx
jmp 0x180003cc5
xor edx, edx
mov r8d, 0xffffffff
xor r9d, r9d
mov rcx, rax
shr rax, 0x39
and ecx, r8d
mov r10b, byte [r12 + rcx]
add edx, 0xffffffff
setb r11b
test r10b, r10b
je 0x180003c6e
test r11b, r11b
je 0x180003c6e
test r10b, r10b
jns 0x180003c57
mov r11d, r10d
and r11b, 0x7f
cmp al, r11b
jne 0x180003c57
mov r10, qword [r12 - 0x10]
cmp qword [r10 + rcx*8], r13
jne 0x180003c69
jmp 0x180003fb3
mov r11d, dword [r12 - 8]
cmp r9, r11
jne 0x180003c69
cmp r10b, 1
cmove r9, rcx
inc rcx
jmp 0x180003c1e
mov edx, dword [r12 - 8]
cmp r9, rdx
cmovb rcx, r9
dec dword [rsp + 0x6c]
or al, 0x80
mov byte [r12 + rcx], al
lea rax, [rcx*4]
add rax, qword [r12 - 0x18]
mov rdx, qword [r12 - 0x10]
inc dword [rsp + 0x68]
mov qword [rdx + rcx*8], r13
mov rcx, rax
jmp 0x180003fbc
mov rcx, qword [r12 - 0x18]
mov r15d, dword [rcx + rax*4]
lea rdx, [0x180009350]
mov rbx, qword [rsp + 0x38]
jmp 0x180003fcb
mov edx, 2
lea rsi, [rsp + 0x130]
mov rcx, rsi
call fcn.180008300
mov edi, dword [rsp + 0x130]
cmp edi, 9
mov eax, 8
cmovb edi, eax
movaps xmmword [rsp + 0x40], xmm6
lea rbx, [rdi + 0x1f]
and rbx, 0xfffffffffffffff8
lea r14d, [rdi*8]
add r14, rbx
lea eax, [rdi*4]
lea r8, [rax + r14]
add r8, 7
movabs rax, 0x7fffffff8
and r8, rax
lea rax, [rsp + 0x70]
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x110], xmm0
mov rcx, rsi
lea rdx, [rsp + 0x110]
call fcn.180008280
movzx esi, word [rsp + 0x140]
test si, si
jne 0x180003efd
mov word [rsp + 0x2a], si
mov rax, qword [rsp + 0x130]
lea rsi, [rax + 0x18]
add r14, rax
mov qword [rax], r14
add rbx, rax
mov qword [rax + 8], rbx
mov dword [rax + 0x10], edi
mov qword [rsp + 0x40], rsi
mov r8d, dword [rax + 0x10]
mov rcx, rsi
xor edx, edx
call fcn.1800088ff
imul rax, rdi, 0x50
xor edx, edx
mov ecx, 0x64
div rcx
mov rdi, rax
mov dword [rsp + 0x4c], edi
test r15d, r15d
je 0x180003ec8
test r12, r12
mov dword [rsp + 0x30], r15d
je 0x180003db1
mov ebp, dword [r12 - 8]
jmp 0x180003db3
xor ebp, ebp
mov rax, qword [r12 - 0x18]
mov qword [rsp + 0x88], rax
mov rax, qword [r12 - 0x10]
mov qword [rsp + 0x80], rax
xor r15d, r15d
xor r14d, r14d
cmp r15, rbp
je 0x180003ea8
cmp byte [r12 + r15], 0
jns 0x180003ea0
mov rax, qword [rsp + 0x80]
mov rbx, qword [rax + r15*8]
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + r15*4]
mov dword [rsp + 0x2c], eax
test r14d, r14d
je 0x180003e59
mov rcx, rbx
call fcn.180007f5f
mov ecx, dword [rsi - 8]
lea edx, [rcx - 1]
mov r8, rax
shr r8, 0x39
and eax, edx
mov r9b, byte [rsi + rax]
sub ecx, 1
setb r10b
test r9b, r9b
je 0x180003e59
test r10b, r10b
jne 0x180003e59
test r9b, r9b
jns 0x180003e4c
and r9b, 0x7f
cmp r8b, r9b
jne 0x180003e4c
mov r9, qword [rsi - 0x10]
cmp qword [r9 + rax*8], rbx
je 0x180003e51
inc rax
jmp 0x180003e1d
mov byte [rsp + 0x138], 1
mov rcx, rbx
call fcn.180007f5f
mov edx, dword [rsi - 8]
dec edx
mov r8, rax
mov ecx, r8d
and ecx, edx
lea r8, [rcx + 1]
cmp byte [rsi + rcx], 0
js 0x180003e69
dec edi
shr rax, 0x39
or al, 0x80
mov byte [rsi + rcx], al
mov rax, qword [rsi - 0x10]
mov qword [rax + rcx*8], rbx
mov rax, qword [rsi - 0x18]
mov edx, dword [rsp + 0x2c]
mov dword [rax + rcx*4], edx
inc r14d
cmp r14d, dword [rsp + 0x30]
je 0x180003eaf
inc r15
jmp 0x180003dd3
mov r15d, dword [rsp + 0x30]
jmp 0x180003eb7
mov r15d, dword [rsp + 0x30]
mov r14d, r15d
lea rbp, [rsp + 0xa0]
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x4c], edi
and dword [rsp + 0x68], 0
movdqa xmm0, xmmword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x6c], eax
movdqa xmmword [rsp + 0x40], xmm0
mov r12, qword [rsp + 0x60]
movzx esi, word [rsp + 0x2a]
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x70]
call fcn.1800067fe
test si, si
mov rsi, qword [rsp + 0x90]
je 0x180003baa
cmp dword [rsp + 0x68], 0
lea rax, [0x180009560]
je 0x180003fa6
mov rcx, r13
call fcn.180007f5f
test r12, r12
je 0x180003f42
mov ecx, dword [r12 - 8]
lea edx, [rcx - 1]
jmp 0x180003f49
xor ecx, ecx
mov edx, 0xffffffff
mov r8, rax
shr r8, 0x39
and eax, edx
mov r9b, byte [r12 + rax]
sub ecx, 1
setb r10b
test r9b, r9b
je 0x180003f85
test r10b, r10b
jne 0x180003f85
test r9b, r9b
jns 0x180003f80
and r9b, 0x7f
cmp r8b, r9b
jne 0x180003f80
mov r9, qword [r12 - 0x10]
cmp qword [r9 + rax*8], r13
je 0x180003f8e
inc rax
jmp 0x180003f50
lea rax, [0x180009560]
jmp 0x180003fa6
mov qword [rsp + 0x158], rax
mov byte [rsp + 0x160], 1
lea rax, [rsp + 0x158]
cmp byte [rax + 8], 0
je 0x18000407f
mov rcx, qword [rax]
shl rcx, 2
add rcx, qword [r12 - 0x18]
lea rdx, [0x180009350]
mov rbx, qword [rsp + 0x38]
mov dword [rcx], r15d
and dword [rsp + 0xd0], 0
and qword [rsp + 0xc8], 0
xor eax, eax
cmp rax, 0xc
je 0x180003ff3
mov cl, byte [rax + rdx]
mov byte [rsp + rax + 0xc8], cl
inc rax
jmp 0x180003fde
xor eax, eax
cmp rax, 8
je 0x18000400e
mov cl, byte [rsp + rax + 0x198]
mov byte [rsp + rax + 0xca], cl
inc rax
jmp 0x180003ff5
mov eax, r15d
imul rax, rax, 0xc
add rax, qword [rsp + 0xf8]
xor ecx, ecx
cmp rcx, 0xc
je 0x180004034
mov dl, byte [rsp + rcx + 0xc8]
mov byte [rax + rcx], dl
inc rcx
jmp 0x18000401f
sub eax, esi
add eax, 0xfffffffc
mov dword [rsi], eax
inc rbx
jmp 0x18000351d
mov rax, qword [rsp + 0xe8]
inc rax
jmp 0x180003475
mov r13d, eax
jmp 0x180004084
inc r14
mov rax, qword [rsp + 0x4b8]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x1d0]
mov rdx, r15
mov r8, r14
xor r9d, r9d
call qword [0x18000c298]
mov r13w, 7
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x60]
call fcn.1800067fe
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x150], rax
movups xmm0, xmmword [rsp + 0x1b8]
movaps xmmword [rsp + 0x140], xmm0
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x150]
lea rcx, [rsp + 0x40]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov rdx, qword [rsp + 0x1a8]
mov r8, qword [rsp + 0x1b8]
call fcn.18000685e
lea rcx, [rsp + 0x1d0]
call fcn.180002d63
test r13w, r13w
je 0x180004122
mov rsi, qword [rsp + 0xe0]
mov rcx, rsi
call fcn.180003117
mov byte [rsi + 0x18], 0
mov edi, 0xffffffff
jmp 0x180004135
mov rax, qword [rsp + 0x170]
mov ecx, dword [rsp + 0x9c]
mov dword [rax], ecx
xor edi, edi
mov eax, edi
movaps xmm6, xmmword [rsp + 0x450]
movaps xmm7, xmmword [rsp + 0x460]
add rsp, 0x478
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
imul r14, qword [rsp + 0x168], 0x12
xor r15d, r15d
lea rsi, [rsp + 0x110]
lea rdi, [rsp + 0x158]
lea rbx, [rsp + 0x1f0]
mov r13w, 7
cmp r14, r15
je 0x180004084
mov rdx, qword [rsp + 0xf0]
mov rax, qword [rdx + r15]
mov r12d, dword [rdx + r15 + 8]
movzx ecx, word [rdx + r15 + 0x10]
mov dword [rsp + 0x110], r12d
mov ebp, dword [rdx + r15 + 0xc]
mov dword [rsp + 0x114], ebp
mov qword [rsp + 0x118], rax
mov word [rsp + 0x120], cx
mov byte [rsp + 0x124], 0
mov rcx, rsi
call fcn.180002e00
test rax, rax
jne 0x1800041f7
mov rcx, rdi
mov rdx, rsi
call fcn.180002e6d
mov edx, dword [rsp + 0x158]
mov rcx, rbx
call fcn.180002ebf
cmp rdx, 2
je 0x180004216
cmp rdx, 3
jne 0x180004221
cmp byte [rax], 0x5f
jne 0x180004221
cmp byte [rax + 1], 0x67
jne 0x180004221
cmp byte [rax + 2], 0x6f
jne 0x180004221
jmp 0x18000422a
cmp byte [rax], 0x67
jne 0x180004221
cmp byte [rax + 1], 0x6f
je 0x18000422a
add r15, 0x12
jmp 0x18000417f
movd xmm0, ebp
movd eax, xmm0
dec eax
mov rcx, qword [rsp + 0x1a8]
movzx eax, ax
shl rax, 4
add r12, qword [rcx + rax]
je 0x180004084
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r12
xor r13d, r13d
jmp 0x180004084