Function at 0x18000d8b0
Capabilities:
Delete file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4c8]
sub rsp, 0x5c8
mov rax, qword [0x180085040]
xor rax, rsp
mov qword [rbp + 0x4b8], rax
mov r12, r9
mov qword [rsp + 0x50], r9
mov rsi, r8
mov qword [rbp - 0x40], r8
mov r13, rdx
mov rdi, rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rdx
mov qword [rbp + 0x1c0], r9
xor r15d, r15d
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x260], xmm1
xor edx, edx
mov r8d, 0x180
lea rcx, [rbp + 0x330]
call fcn.1800634b0
lea rcx, [rbp + 0x330]
call fcn.180011c00
nop
mov qword [rbp + 0x240], r15
mov r8b, 1
mov rdx, rsi
lea rcx, [rbp + 0x330]
call fcn.180011e80
mov rcx, qword [rbp + 0x340]
test rcx, rcx
je 0x18000d966
jle 0x18000d95f
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rbp + 0x340], r15
mov rcx, qword [rbp + 0x338]
test rcx, rcx
je 0x18000d981
jle 0x18000d97a
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x338], r15
mov rcx, qword [rbp + 0x330]
test rcx, rcx
je 0x18000d99c
jle 0x18000d995
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x330], r15
mov rcx, qword [rbp + 0x378]
test rcx, rcx
je 0x18000d9b7
jle 0x18000d9b0
call qword [sym.imp.KERNEL32.dll_ReleaseActCtx]
mov qword [rbp + 0x378], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x350], xmm0
mov qword [rbp + 0x438], r15
lea rax, [rbp + 0x428]
cmp qword [rbp + 0x440], 7
cmova rax, qword [rbp + 0x428]
mov word [rax], r15w
cmp byte [rbp + 0x34c], 0
je 0x18000da0a
lea rcx, [rbp + 0x448]
cmp qword [rbp + 0x460], 7
cmova rcx, qword [rbp + 0x448]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov qword [rbp + 0x458], r15
lea rax, [rbp + 0x448]
cmp qword [rbp + 0x460], 7
cmova rax, qword [rbp + 0x448]
mov word [rax], r15w
mov ebx, r15d
cmp byte [rbp + 0x349], r15b
setne bl
mov rdx, rsi
lea rcx, [rbp + 0x290]
call fcn.18000b970
nop
lea r14, [0x180076dcc]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0x290]
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.18000c350
nop
mov rdx, qword [rbp + 0x2a8]
cmp rdx, 7
jbe 0x18000dab7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000dab2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000e8f1
call fcn.180040cf8
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x260], xmm1
movq rax, xmm1
test rax, rax
je 0x18000db36
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rbx, xmm0
test rbx, rbx
je 0x18000daef
lock inc dword [rbx + 8]
mov rbx, qword [rsp + 0x48]
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x1c0], xmm1
mov r8d, 0xc000010e
lea rdx, [rbp + 0x1c0]
mov rcx, r13
call fcn.180008f90
nop
lea rcx, [rbp + 0x330]
call fcn.180011d30
nop
mov r14d, 0xffffffff
test rbx, rbx
je 0x18000e6e0
mov eax, r14d
lock xadd dword [rbx + 8], eax
jmp 0x18000e6b5
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov r8d, 0x1000
mov rdx, qword [rdi + 8]
lea rcx, [rbp + 0x1a0]
call fcn.180018000
nop
mov eax, dword [rbp + 0x1a0]
test eax, eax
jns 0x18000db7b
mov dword [r13], eax
mov byte [r13 + 0x18], 0
mov r14d, 0xffffffff
jmp 0x18000e655
mov ebx, 8
mov rcx, qword [rbp + 0x1b8]
cmp byte [rbp + 0x349], 0
jne 0x18000dc50
test cl, cl
je 0x18000e8f7
mov rdx, qword [rbp + 0x1a8]
test rdx, rdx
je 0x18000dbaf
mov eax, dword [rdx]
mov r10, rdx
jmp 0x18000dbb5
mov eax, r15d
mov r10, r15
add eax, ebx
mov dword [rbp + 0x24c], eax
movzx eax, word [rsi + 0x10]
add ax, ax
mov word [rbp + 0x248], ax
mov word [rbp + 0x24a], ax
test rdx, rdx
je 0x18000dc09
mov rax, qword [r10 + 0x18]
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r15
mov r9, rbx
lea r8, [rbp + 0x248]
mov rdx, qword [r10]
call qword [rax + 0x20]
mov rcx, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x1a8]
test cl, cl
je 0x18000e8f7
mov r8, rsi
cmp qword [rsi + 0x18], 7
jbe 0x18000dc1e
mov r8, qword [rsi]
mov r9, qword [rsi + 0x10]
add r9, r9
test rdx, rdx
je 0x18000dc47
mov rax, qword [rdx + 0x18]
mov rdx, qword [rdx]
add rdx, rbx
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r15
call qword [rax + 0x20]
mov qword [rbp - 0x78], rbx
jmp 0x18000dd17
mov dword [rbp + 0x24c], r15d
test cl, cl
je 0x18000e8eb
mov rdx, qword [rbp + 0x1a8]
test rdx, rdx
je 0x18000dc73
mov rax, qword [rdx]
mov r10, rdx
jmp 0x18000dc79
mov rax, r15
mov r10, r15
add rax, 0x10
mov qword [rbp + 0x250], rax
movzx eax, word [rsi + 0x10]
add ax, ax
mov word [rbp + 0x248], ax
mov word [rbp + 0x24a], ax
mov ebx, 0x10
mov qword [rbp - 0x78], rbx
test rdx, rdx
je 0x18000dcd9
mov rax, qword [r10 + 0x18]
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r15
mov r9d, ebx
lea r8, [rbp + 0x248]
mov rdx, qword [r10]
call qword [rax + 0x20]
mov rcx, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x1a8]
test cl, cl
je 0x18000e8eb
mov r8, rsi
cmp qword [rsi + 0x18], 7
jbe 0x18000dcee
mov r8, qword [rsi]
mov r9, qword [rsi + 0x10]
add r9, r9
test rdx, rdx
je 0x18000dd17
mov rax, qword [rdx + 0x18]
mov rdx, qword [rdx]
add rdx, rbx
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r15
call qword [rax + 0x20]
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x10]
cmp byte [rbp + 0x349], 0
je 0x18000deda
cmp byte [rcx + 0x15], 0
je 0x18000dee4
mov byte [rsp + 0x30], 0
mov ebx, r15d
cmp byte [rbp + 0x349], r15b
setne bl
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
mov r8d, 0xc
lea rdx, str.kernel32.dll
lea rcx, [rbp - 0x38]
call fcn.180009950
nop
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x270]
call fcn.18000b970
nop
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0x270]
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.18000c350
nop
mov rdx, qword [rbp + 0x288]
cmp rdx, 7
jbe 0x18000dde5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000dde0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000e8fd
call fcn.180040cf8
movdqa xmm0, xmmword [0x180078510]
movdqu xmmword [rbp + 0x280], xmm0
mov word [rbp + 0x270], r15w
mov qword [rsp + 0x20], r14
lea r9, [0x1800770c8]
mov r8, qword [rbp - 0x68]
lea rdx, [rbp + 0x2d0]
mov rcx, rdi
call fcn.18000c7e0
nop
mov r14d, 0xffffffff
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x18000de5d
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18000de5d
mov rbx, qword [rbp - 0x60]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18000de5d
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 7
jbe 0x18000de9d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000de98
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000e903
call fcn.180040cf8
movdqa xmm0, xmmword [0x180078510]
movdqu xmmword [rbp - 0x28], xmm0
mov word [rbp - 0x38], r15w
mov rax, qword [rdi]
mov rcx, qword [rax + 0x10]
movzx edx, byte [rcx + 0x15]
movzx eax, byte [rbp + 0x349]
test dl, dl
jne 0x18000deee
test al, al
jne 0x18000deee
mov dword [r13], 0xc0000359
mov byte [r13 + 0x18], al
jmp 0x18000e63f
cmp byte [rcx + 0x15], 1
jne 0x18000dd36
mov byte [rsp + 0x30], 1
jmp 0x18000dd3b
mov ebx, r15d
mov dword [rsp + 0x58], ebx
mov ecx, 1
test dl, dl
je 0x18000df07
test al, al
cmovne ebx, ecx
mov dword [rsp + 0x58], ebx
mov r9d, r15d
test al, al
setne r9b
mov dword [rsp + 0x20], ecx
lea r8, str.LdrLoadDll
lea rdx, [rbp + 0x1d0]
mov rcx, rdi
call fcn.18000d690
nop
mov eax, dword [rbp + 0x1d0]
test eax, eax
jns 0x18000df43
mov dword [r13], eax
mov byte [r13 + 0x18], 0
jmp 0x18000e629
cmp ebx, 1
jne 0x18000e087
cmp byte [rdi + 0x80], 0
jne 0x18000e087
cmp dword [0x180cb938c], 6
jne 0x18000e087
mov rax, qword [0x180cb9390]
cmp eax, ebx
ja 0x18000e087
jb 0x18000e087
mov dword [rbp + 0x4b0], 0x90909090
mov word [rbp + 0x4b4], 0x9090
mov rbx, qword [0x180cb9290]
test rbx, rbx
je 0x18000e080
mov dword [rbp + 0x230], r15d
mov rdx, qword [rdi + 8]
mov r9d, 0x40
cmp dword [rdx + 0x78], 1
jne 0x18000dfc9
mov rax, qword [rdx + 0x70]
mov ecx, 4
cmp byte [rax + 0x18], 1
cmove ecx, r9d
mov r9d, ecx
mov rax, qword [rdx + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea rdx, [rbp + 0x230]
mov qword [rsp + 0x20], rdx
mov r8d, 6
mov rdx, rbx
call qword [rax + 0x10]
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x70]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r15
mov r9d, 6
lea r8, [rbp + 0x4b0]
mov rdx, rbx
call qword [rax + 0x20]
mov rdx, qword [rdi + 8]
mov dword [rbp + 0x258], r15d
mov r9d, dword [rbp + 0x230]
mov ecx, r9d
cmp dword [rdx + 0x78], 1
jne 0x18000e05d
mov rax, qword [rdx + 0x70]
cmp byte [rax + 0x18], 1
je 0x18000e05d
cmp ecx, 0x20
jne 0x18000e043
lea r9d, [rcx - 0x1e]
jmp 0x18000e05d
cmp ecx, 0x40
jne 0x18000e04e
lea r9d, [rcx - 0x3c]
jmp 0x18000e05d
cmp ecx, 0x80
mov eax, 8
cmove r9d, eax
mov rax, qword [rdx + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea rdx, [rbp + 0x258]
mov qword [rsp + 0x20], rdx
mov r8d, 6
mov rdx, rbx
call qword [rax + 0x10]
mov byte [rdi + 0x80], 1
mov qword [rbp + 0x238], r15
mov edx, r15d
cmp byte [rbp + 0x349], r15b
setne dl
lea rcx, [rbp + 0x238]
call fcn.180001ad0
nop
mov rbx, qword [rbp + 0x238]
mov rax, qword [rbx]
mov rsi, qword [rax + 0x18]
mov qword [rbp + 0x50], 0xffffffffffff0001
mov qword [rbp + 0x58], 0xff
movabs r12, 0xffffffff00000003
mov qword [rbp + 0x60], r12
mov r8d, 0xffffffff
mov qword [rbp + 0x68], r8
mov qword [rbp + 0x78], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r15
mov dword [rbp + 0x40], 2
mov qword [rbp + 0x48], 4
mov qword [rbp + 0x70], r15
mov qword [rbp + 0xa8], 0xffffffffffff0001
mov qword [rbp + 0xb0], 0xff
mov qword [rbp + 0xb8], r12
mov qword [rbp + 0xc0], r8
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xd8], r15
movdqa xmmword [rbp + 0xe0], xmm0
mov dword [rbp + 0x98], 2
mov qword [rbp + 0xa0], 4
mov qword [rbp + 0xc8], r15
cmp byte [rbp + 0x1b8], 0
je 0x18000e909
mov rax, qword [rbp + 0x1a8]
test rax, rax
je 0x18000e17e
mov rcx, qword [rax]
mov rdx, rax
jmp 0x18000e184
mov rcx, r15
mov rdx, r15
mov qword [rbp + 0x100], 0xffffffffffff0001
mov qword [rbp + 0x108], 0xff
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], r8
mov qword [rbp + 0x128], r15
movdqa xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x140], r15
mov dword [rbp + 0xf0], 2
mov r9d, 8
mov qword [rbp + 0xf8], r9
mov qword [rbp + 0x120], rcx
test rax, rax
je 0x18000e1e6
mov rax, qword [rdx]
jmp 0x18000e1e9
mov rax, r15
add rax, 0x800
mov qword [rbp + 0x158], 0xffffffffffff0001
mov qword [rbp + 0x160], 0xff
mov qword [rbp + 0x168], r12
mov qword [rbp + 0x170], r8
mov qword [rbp + 0x180], r15
mov qword [rbp + 0x188], r15
movdqa xmmword [rbp + 0x190], xmm0
mov dword [rbp + 0x148], 2
mov qword [rbp + 0x150], r9
mov qword [rbp + 0x178], rax
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r15
lea rax, [rbp + 0x1a0]
mov qword [rbp - 0x50], rax
lea rax, [rbp + 0x40]
mov qword [rbp - 0x48], rax
lea r9, [rbp - 0x50]
lea r8, [rbp - 0x48]
mov edx, 4
lea rcx, [rsp + 0x70]
call fcn.180009760
nop
cmp byte [rbp + 0x228], 0
je 0x18000e90f
mov qword [rbp - 8], 0xffffffffffff0001
mov qword [rbp], 0xff
mov qword [rbp + 8], r12
mov eax, 0xffffffff
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x20], r15
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r15
mov dword [rbp - 0x18], 2
mov eax, 8
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x18], rax
mov r9d, 1
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x18]
mov rcx, rbx
call rsi
nop
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x18000e326
mov rdx, qword [rbp + 0x38]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e315
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000e915
call fcn.180040cf8
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r15
mov r8, qword [rsp + 0x70]
test r8, r8
je 0x18000e3fd
mov rsi, qword [rsp + 0x78]
cmp r8, rsi
je 0x18000e39d
lea rdi, [r8 + 0x50]
mov rcx, qword [rdi - 0x10]
test rcx, rcx
je 0x18000e386
mov rdx, qword [rdi]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000e376
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000e91b
mov rcx, r8
call fcn.180040cf8
mov qword [rdi - 0x10], r15
mov qword [rdi - 8], r15
mov qword [rdi], r15
add rdi, 0x58
lea rax, [rdi - 0x50]
cmp rax, rsi
jne 0x18000e342
mov r8, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x80]
sub rcx, r8
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x58
mov rax, r8
cmp rdx, 0x1000
jb 0x18000e3e8
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000e91b
mov rcx, r8
call fcn.180040cf8
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r15
lea r9, [0x180001980]
mov edx, 0x58
lea r8d, [rdx - 0x54]
lea rcx, [rbp + 0x40]
call fcn.18004126c
lea r12, [rbx + 0xa8]
mov rax, qword [r12]
lea r8, sym.write_hook.dll_struct_asmjit::Operand_const_asmjit::noOperand
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
mov r9, r8
mov edx, 0x21c
mov rcx, r12
call qword [rax + 0x30]
mov rcx, qword [rdi]
add rcx, 0x240
xor edx, edx
call fcn.180019f70
mov rsi, qword [rdi]
mov rdx, qword [rsp + 0x50]
cmp qword [rdx], 0
je 0x18000e549
mov rax, qword [rsi + 0x268]
test rax, rax
je 0x18000e47a
lock inc dword [rax + 8]
mov rbx, qword [rbp + 0x238]
mov rcx, qword [rsi + 0x260]
mov qword [rsp + 0x68], rcx
mov rdi, qword [rsi + 0x268]
mov rcx, qword [rdx]
mov qword [rsp + 0x58], rcx
test rdi, rdi
je 0x18000e4cc
mov eax, r14d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18000e4c5
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, r14d
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x18000e4c5
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rbx, qword [rbp + 0x238]
mov rsi, qword [rsp + 0x60]
mov rsi, qword [rsi]
mov rax, qword [rsp + 0x58]
mov edi, dword [r12 + 0x60]
mov rcx, r12
sub rdi, qword [r12 + 0x48]
add rdi, qword [r12 + 0x58]
cmp rax, qword [rsp + 0x68]
mov rax, qword [r12]
jne 0x18000e51d
call qword [rax + 8]
lea r9, [rbp + 0x240]
mov r8, rdi
mov rdx, rax
lea rcx, [rsi + 0x240]
call fcn.1800191f0
mov r12, qword [rsp + 0x50]
mov edi, eax
test eax, eax
jmp 0x18000e58c
call qword [rax + 8]
mov r12, qword [rsp + 0x50]
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x240]
mov r8, rdi
mov rdx, rax
lea rcx, [rsi + 0x240]
call fcn.180019360
mov edi, eax
test eax, eax
jmp 0x18000e58c
mov edi, dword [r12 + 0x60]
sub rdi, qword [r12 + 0x48]
add rdi, qword [r12 + 0x58]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x20], ecx
lea r9, [rbp + 0x240]
mov r8, rdi
mov rdx, rax
lea rcx, [rsi + 0x240]
call fcn.180018880
mov edi, eax
mov r12, qword [rsp + 0x50]
test eax, eax
js 0x18000e59e
mov edi, dword [rbp + 0x240]
mov eax, edi
test eax, eax
jns 0x18000e725
cmp dword [rbp + 0x2d0], 0
jl 0x18000e725
cmp byte [rsp + 0x30], 0
je 0x18000e725
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
add rcx, 0x240
cmp byte [rbp + 0x1b8], 0
je 0x18000e921
mov rax, qword [rbp + 0x1a8]
test rax, rax
je 0x18000e5e3
mov rdx, qword [rax]
jmp 0x18000e5e6
mov rdx, r15
mov r8, qword [rbp - 0x78]
add r8, rdx
cmp byte [rbp + 0x328], 0
je 0x18000e921
mov rdx, qword [rbp + 0x2d8]
call fcn.180019e90
test eax, eax
jne 0x18000e725
mov dword [r13], edi
mov byte [r13 + 0x18], al
test rbx, rbx
je 0x18000e629
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
nop
cmp byte [rbp + 0x228], 0
je 0x18000e63f
lea rcx, [rbp + 0x1d8]
call fcn.1800094f0
nop
cmp byte [rbp + 0x328], 0
je 0x18000e655
lea rcx, [rbp + 0x2d8]
call fcn.1800094f0
nop
cmp byte [rbp + 0x1b8], 0
je 0x18000e696
mov rbx, qword [rbp + 0x1b0]
test rbx, rbx
je 0x18000e696
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18000e696
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18000e696
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rbp + 0x330]
call fcn.180011d30
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x18000e6e0
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18000e6e0
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18000e6e0
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x18000e8bf
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18000e8bf
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x18000e8bf
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
jmp 0x18000e8bf
cmp byte [rbp + 0x349], 0
setne r15b
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp + 0x2b0]
call fcn.18000b970
nop
lea rax, [0x180076dcc]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [rbp + 0x2b0]
lea rdx, [rbp - 0x78]
mov rcx, qword [rsp + 0x60]
call fcn.18000c350
nop
mov rdx, qword [rbp + 0x2c8]
cmp rdx, 7
jbe 0x18000e7b1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e7ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000e8e5
call fcn.180040cf8
xor r8d, r8d
lea rdx, [rbp - 0x78]
mov rcx, r13
call fcn.180008f90
nop
test rbx, rbx
je 0x18000e7d4
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
nop
cmp byte [rbp + 0x228], 0
je 0x18000e7ea
lea rcx, [rbp + 0x1d8]
call fcn.1800094f0
nop
cmp byte [rbp + 0x328], 0
je 0x18000e800
lea rcx, [rbp + 0x2d8]
call fcn.1800094f0
nop
cmp byte [rbp + 0x1b8], 0
je 0x18000e841
mov rbx, qword [rbp + 0x1b0]
test rbx, rbx
je 0x18000e841
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18000e841
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18000e841
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rbp + 0x330]
call fcn.180011d30
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x18000e88b
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18000e88b
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18000e88b
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x18000e8bf
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18000e8bf
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x18000e8bf
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 8]
mov rax, r13
mov rcx, qword [rbp + 0x4b8]
xor rcx, rsp
call fcn.1800410a0
add rsp, 0x5c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18004ce30
nop
call fcn.1800017e0
nop
call fcn.18004ce30
nop
call fcn.1800017e0
nop
call fcn.18004ce30
nop
call fcn.18004ce30
nop
call fcn.1800017e0
nop
call fcn.1800017e0
int3
call fcn.18004ce30
nop
call fcn.18004ce30
nop
call fcn.1800017e0
int3