Function at 0x180007e00
Capabilities:
Check mutex on windows
Delete file
Delete registry value
Get file size
Read file on windows
Set registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
mov qword [rbp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x348], rbx
mov rax, qword [0x180034310]
xor rax, rsp
mov qword [rbp + 0x1e8], rax
mov esi, r8d
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x50], rcx
movzx eax, byte [rdx]
cmp al, 0xc9
je 0x180008b5c
movzx eax, al
cmp eax, 6
ja case.default.0x180007e72
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x8b88]
add rcx, rdx
jmp rcx
mov rcx, qword [r14 + 0x18]
call qword [sym.imp.KERNEL32.dll_SetEvent]
xor r12d, r12d
mov dword [rsp + 0x48], r12d
or edx, 0xffffffff
mov rcx, qword [r14 + 0x238]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rcx, [r14 + 0x2c]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r12 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x180007f8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
lea ebx, [rax + 3]
mov ecx, ebx
call fcn.180014f9c
mov rsi, rax
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.18001adf0
mov byte [rsi], 7
lea r8d, [rbx - 1]
lea rdx, [rsi + 1]
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x48]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov edi, eax
mov rcx, qword [r14 + 0x238]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
test edi, edi
je 0x180007f57
cmp ebx, 2
jae 0x180007f49
mov byte [rsp + 0x40], 8
cmp dword [r14 + 0x10], r12d
jne 0x180007f77
mov rcx, qword [r14 + 8]
mov rax, qword [rcx]
lea r8d, [r12 + 1]
lea rdx, [rsp + 0x40]
call qword [rax + reloc.WS2_32.dll_recv]
cmp dword [r14 + 0x10], r12d
jne 0x180007f77
mov r8d, ebx
mov rdx, rsi
jmp 0x180007f6d
mov byte [rsp + 0x40], 8
cmp dword [r14 + 0x10], r12d
jne 0x180007f77
mov r8d, 1
lea rdx, [rsp + 0x40]
mov rcx, qword [r14 + 8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, rsi
call fcn.180016660
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180008b5c
mov rcx, qword [r14 + 0x238]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rsp + 0x40], 8
cmp dword [r14 + 0x10], r12d
jne 0x180008b5c
mov rcx, qword [r14 + 8]
mov rax, qword [rcx]
mov r8d, 1
lea rdx, [rsp + 0x40]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x180008b5c
lea r8, [r14 + 0x2c]
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
or edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rcx, [r14 + 0x2c]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x180008b5c
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 2
xor r8d, r8d
lea rdx, [0x18002ce20]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea rdx, str.open
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r8, [rsp + 0x48]
lea rdx, [0x18002ce20]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x18000811b
lea rax, [0x18002ce34]
jmp 0x1800080f3
lea rcx, [r14 + 0x250]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [rsi - 1]
lea rcx, [rbx + 1]
call fcn.180008be0
lea rcx, [r14 + 0x250]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x180008b5c
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 2
xor r8d, r8d
lea rdx, [0x18002ce20]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea rdx, str.open
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r8, [rsp + 0x48]
lea rdx, [0x18002ce20]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x18000811b
lea rax, [0x18002ce38]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
lea rdx, str.open
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x180008b5c
xor r12d, r12d
mov dword [r14 + 0x27c], r12d
jmp 0x180008b5c
lea rdx, [rbx + 1]
mov qword [rbp + 0x138], socket
xor r12d, r12d
mov qword [rbp + 0x130], r12
mov byte [rbp + 0x120], r12b
xor eax, eax
or r14, 0xffffffffffffffff
mov rcx, r14
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp + 0x120]
call fcn.180009650
nop
mov qword [rbp + 0x110], socket
mov qword [rbp + 0x108], r12
mov byte [rbp + 0xf8], r12b
mov rdi, qword [rbp + 0x130]
cmp rdi, r14
cmova rdi, r14
mov rdx, rdi
lea rcx, [rbp + 0xf8]
call fcn.180009c40
test al, al
je 0x18000820e
lea rdx, [rbp + 0x120]
cmp qword [rbp + 0x138], 0x10
cmovae rdx, qword [rbp + 0x120]
lea rcx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 0x10
cmovae rcx, qword [rbp + 0xf8]
mov r8, rdi
call fcn.180015b40
mov qword [rbp + 0x108], rdi
lea rax, [rbp + 0xf8]
cmp qword [rbp + 0x110], 0x10
cmovae rax, qword [rbp + 0xf8]
mov byte [rax + rdi], r12b
mov r15, r12
mov qword [rsp + 0x58], r12
mov rsi, r12
mov qword [rsp + 0x60], r12
mov r13, r12
mov qword [rsp + 0x68], r12
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r12
call fcn.1800153e8
mov qword [rbp + 0x30], rax
call fcn.180015198
mov rdi, rax
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.18001556c
mov rcx, qword [rdi + 8]
cmp rcx, 0xffffffffffffffff
jae 0x180008260
inc rcx
mov qword [rdi + 8], rcx
lea rcx, [rsp + 0x48]
call fcn.18001559c
nop
lea rdx, [0x18002ce48]
lea rcx, [rbp + 0x18]
call fcn.18000a400
nop
lea rdx, [rbp + 0xf8]
mov rdi, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x110]
cmp rcx, 0x10
cmovae rdx, rdi
add rdx, qword [rbp + 0x108]
lea rax, [rbp + 0xf8]
cmp rcx, 0x10
cmovae rax, rdi
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rdx
lea rcx, [rbp + 0x18]
mov qword [rbp - 0x70], rcx
mov dword [rbp - 0x68], r12d
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r12
mov byte [rbp - 0x28], 0
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], r12
mov byte [rbp - 0x10], 0
mov qword [rbp - 8], r12
mov qword [rbp], r12
mov byte [rbp + 8], 0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
lea r9, [rbp + 0x18]
lea r8, [rbp - 0x60]
mov rcx, rax
call fcn.18000a4f0
mov rbx, qword [rbp - 0x70]
test al, al
cmove rbx, r12
mov qword [rbp - 0x70], rbx
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], r12
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x90], r12
mov byte [rbp + 0x98], 0
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], r12
mov byte [rbp + 0xb0], 0
mov qword [rbp + 0xb8], r12
mov qword [rbp + 0xc0], r12
mov byte [rbp + 0xc8], 0
nop word [rax + rax]
test rbx, rbx
je 0x180008790
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp - 0x60]
call fcn.180008dc0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800083a6
mov rdx, qword [rax]
mov qword [rbp + 0xe8], socket
mov qword [rbp + 0xe0], r12
mov byte [rbp + 0xd0], 0
xor eax, eax
mov rcx, r14
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp + 0xd0]
call fcn.180009650
nop
cmp qword [rbp + 0x1d8], 0x10
jb 0x1800083f3
mov rcx, qword [rbp + 0x1c0]
call fcn.180015af4
mov qword [rbp + 0x1d8], socket
mov qword [rbp + 0x1d0], r12
mov byte [rbp + 0x1c0], 0
mov rbx, qword [rbp + 0xe0]
test rbx, rbx
je 0x1800084ae
cmp rbx, 2
jb 0x1800084ae
dec rbx
lea rdi, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0x10
cmovae rdi, qword [rbp + 0xd0]
mov r8, rbx
mov edx, recv
mov rcx, rdi
call fcn.1800167ec
mov rdx, rax
test rax, rax
je 0x1800084ae
nop dword [rax + rax]
movzx eax, word [rdx]
cmp ax, word [0x18002ce4c]
je 0x180008492
sub rdi, rdx
lea rbx, [rbx + rdi - 1]
lea rdi, [rdx + 1]
mov r8, rbx
mov edx, recv
mov rcx, rdi
call fcn.1800167ec
mov rdx, rax
test rax, rax
jne 0x180008460
jmp 0x1800084ae
lea rax, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0x10
cmovae rax, qword [rbp + 0xd0]
sub rdx, rax
jmp 0x1800084b1
mov rdx, r14
cmp rdx, 0xffffffffffffffff
je 0x18000857b
xor r8d, r8d
lea rcx, [rbp + 0xd0]
call fcn.180009140
mov rbx, qword [rbp + 0xe0]
test rbx, rbx
je 0x18000856e
cmp rbx, 2
jb 0x18000856e
dec rbx
lea rdi, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0x10
cmovae rdi, qword [rbp + 0xd0]
mov r8, rbx
mov edx, recv
mov rcx, rdi
call fcn.1800167ec
mov rdx, rax
test rax, rax
je 0x18000856e
nop word [rax + rax]
movzx eax, word [rdx]
cmp ax, word [0x18002ce4c]
je 0x180008552
sub rdi, rdx
lea rbx, [rbx + rdi - 1]
lea rdi, [rdx + 1]
mov r8, rbx
mov edx, recv
mov rcx, rdi
call fcn.1800167ec
mov rdx, rax
test rax, rax
jne 0x180008520
jmp 0x18000856e
lea rax, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0x10
cmovae rax, qword [rbp + 0xd0]
sub rdx, rax
jmp 0x180008571
mov rdx, r14
cmp rdx, 0xffffffffffffffff
jne 0x1800084bb
lea rax, [rbp + 0xd0]
cmp rax, rsi
jae 0x180008616
lea rax, [rbp + 0xd0]
cmp r15, rax
ja 0x180008616
lea rcx, [rbp + 0xd0]
sub rcx, r15
movabs rax, 0x6666666666666667
imul rcx
mov rdi, rdx
sar rdi, 4
mov rax, rdi
shr rax, 0x3f
add rdi, rax
cmp rsi, r13
jne 0x1800085dd
lea rcx, [rsp + 0x58]
call fcn.180009510
mov r13, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
lea rax, [rdi + rdi*4]
lea rdx, [r15 + rax*8]
mov qword [rsp + 0x48], rsi
mov qword [rbp + 0x10], rsi
test rsi, rsi
je 0x180008611
mov qword [rsi + 0x18], send
mov qword [rsi + 0x10], r12
mov byte [rsi], 0
mov r9, r14
xor r8d, r8d
mov rcx, rsi
call fcn.180009080
nop
jmp 0x1800086db
cmp rsi, r13
jne 0x180008634
lea rcx, [rsp + 0x58]
call fcn.180009510
mov r13, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
mov qword [rbp + 0x10], rsi
mov qword [rsp + 0x48], rsi
test rsi, rsi
je 0x1800086db
mov qword [rsi + 0x18], send
mov qword [rsi + 0x10], r12
mov byte [rsi], 0
mov rdi, qword [rbp + 0xe0]
cmp rdi, 0xffffffffffffffff
cmova rdi, r14
lea rax, [rbp + 0xd0]
mov rdx, rdi
mov rcx, rsi
cmp rsi, rax
jne 0x18000868d
mov r8, r14
call fcn.180009860
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.180009860
jmp 0x1800086db
call fcn.180009c40
test al, al
je 0x1800086db
lea rdx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0x10
cmovae rdx, qword [rbp + 0xd0]
cmp qword [rsi + 0x18], 0x10
jb 0x1800086b9
mov rcx, qword [rsi]
jmp 0x1800086bc
mov rcx, rsi
mov r8, rdi
call fcn.180015b40
mov qword [rsi + 0x10], rdi
cmp qword [rsi + 0x18], 0x10
jb 0x1800086d4
mov rax, qword [rsi]
jmp 0x1800086d7
mov rax, rsi
mov byte [rax + rdi], 0
add rsi, 0x28
mov qword [rsp + 0x60], rsi
mov rbx, qword [rbp - 0x70]
test rbx, rbx
je 0x180008771
mov rcx, qword [rbp - 0x58]
mov rdi, qword [rcx + 8]
cmp qword [rcx], rdi
jne 0x180008739
mov rdx, qword [rbp - 0x78]
cmp rdi, rdx
jne 0x18000870c
mov rbx, r12
jmp 0x18000876d
mov ecx, dword [rbp - 0x68]
or ecx, 0x60
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9, rbx
lea r8, [rbp - 0x60]
mov rcx, rdi
call fcn.18000a4f0
mov rbx, qword [rbp - 0x70]
test al, al
jne 0x180008771
inc rdi
mov ecx, dword [rbp - 0x68]
bts ecx, 8
mov dword [rbp - 0x68], ecx
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9, rbx
lea r8, [rbp - 0x60]
mov rdx, qword [rbp - 0x78]
mov rcx, rdi
call fcn.18000a4f0
mov rbx, qword [rbp - 0x70]
test al, al
cmove rbx, r12
mov qword [rbp - 0x70], rbx
cmp qword [rbp + 0xe8], 0x10
jb 0x180008380
mov rcx, qword [rbp + 0xd0]
call fcn.180015af4
jmp 0x180008380
mov rcx, rsi
sub rcx, r15
movabs rax, 0x6666666666666667
imul rcx
mov r14, rdx
sar r14, 4
mov rax, r14
shr rax, 0x3f
add r14, rax
je 0x180008a9b
mov r15, qword [rsp + 0x50]
lea rcx, [r15 + 0x280]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11, qword [0x18003c288]
mov rax, r11
mov rdi, qword [0x18003c280]
sub rax, rdi
sar rax, 3
test rax, rax
je 0x18000883a
cmp rdi, r11
je 0x18000883a
lea rbx, [rdi + 8]
mov rcx, qword [rdi]
test rcx, rcx
je 0x180008809
call fcn.1800076b0
mov qword [rdi], r12
mov r11, qword [0x18003c288]
sub r11, rbx
sar r11, 3
lea r8, [r11*8]
mov rdx, rbx
mov rcx, rdi
call fcn.180015b40
mov r11, qword [0x18003c288]
sub r11, 8
mov qword [0x18003c288], r11
cmp rdi, r11
jne 0x1800087f2
test r14, r14
je 0x180008a69
mov rbx, qword [rsp + 0x58]
nop dword [rax + rax]
mov r8d, 6
lea rdx, [0x18002ce50]
mov rcx, rbx
call fcn.180009300
mov rdi, rax
mov r9, qword [rbx + 0x10]
sub r9, rax
sub r9, 6
lea r8, [rax + 6]
lea rdx, [rbp + 0x170]
mov rcx, rbx
call fcn.180008d50
nop
mov rdx, rax
mov rcx, rbx
call fcn.180008ff0
nop
cmp qword [rbp + 0x188], 0x10
jb 0x1800088a9
mov rcx, qword [rbp + 0x170]
call fcn.180015af4
mov qword [rbp + 0x188], socket
mov qword [rbp + 0x180], r12
mov byte [rbp + 0x170], 0
cmp rdi, 0xffffffffffffffff
je 0x180008a5c
mov r8d, 4
lea rdx, [0x18002ce58]
mov rcx, rbx
call fcn.180009300
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x180008a5c
mov ecx, 0x50
call fcn.1800161b8
mov rdi, rax
test rax, rax
je 0x180008921
mov qword [rax + 0x18], send
mov qword [rax + 0x10], r12
mov byte [rax], 0
mov qword [rax + 0x40], send
mov qword [rax + 0x38], r12
mov byte [rax + 0x28], 0
jmp 0x180008924
mov rdi, r12
mov qword [rsp + 0x48], rdi
mov r9, r13
xor r8d, r8d
lea rdx, [rbp + 0x148]
mov rcx, rbx
call fcn.180008d50
nop
mov rdx, rax
mov rcx, rdi
call fcn.180008ff0
nop
cmp qword [rbp + 0x160], 0x10
jb 0x180008961
mov rcx, qword [rbp + 0x148]
call fcn.180015af4
mov qword [rbp + 0x160], socket
mov qword [rbp + 0x158], r12
mov byte [rbp + 0x148], 0
mov r9, qword [rbx + 0x10]
sub r9, r13
sub r9, 4
lea r8, [r13 + 4]
lea rdx, [rbp + 0x198]
mov rcx, rbx
call fcn.180008d50
nop
lea rcx, [rdi + 0x28]
mov rdx, rax
call fcn.180008ff0
nop
cmp qword [rbp + 0x1b0], 0x10
jb 0x1800089bc
mov rcx, qword [rbp + 0x198]
call fcn.180015af4
mov qword [rbp + 0x1b0], socket
mov qword [rbp + 0x1a8], r12
mov byte [rbp + 0x198], 0
lea rax, [rsp + 0x48]
mov rcx, qword [0x18003c288]
cmp rax, rcx
jae 0x180008a2d
lea rdx, [rsp + 0x48]
mov rax, qword [0x18003c280]
cmp rax, rdx
ja 0x180008a2d
lea rdi, [rsp + 0x48]
sub rdi, rax
sar rdi, 3
cmp rcx, qword [0x18003c290]
jne 0x180008a1f
call fcn.1800093e0
mov rcx, qword [0x18003c288]
mov rax, qword [0x18003c280]
test rcx, rcx
je 0x180008a51
mov rax, qword [rax + rdi*8]
mov qword [rcx], rax
jmp 0x180008a4a
cmp rcx, qword [0x18003c290]
jne 0x180008a42
call fcn.1800093e0
mov rcx, qword [0x18003c288]
test rcx, rcx
je 0x180008a51
mov qword [rcx], rdi
mov rcx, qword [0x18003c288]
add rcx, 8
mov qword [0x18003c288], rcx
add rbx, 0x28
dec r14
jne 0x180008850
lea rcx, [r15 + 0x280]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rdx, [0x18002ce60]
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.180008c70
mov dword [rdi + 0x27c], 1
mov r15, qword [rsp + 0x58]
jmp 0x180008ab6
lea rdx, [0x18002ce78]
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.180008c70
mov dword [rdi + 0x27c], r12d
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x180008ac5
call fcn.180015af4
nop
lea rcx, [rbp + 0x18]
call fcn.180008ef0
nop
test r15, r15
je 0x180008b10
mov rdi, r15
cmp r15, rsi
je 0x180008b07
nop dword [rax]
cmp qword [rdi + 0x18], 0x10
jb 0x180008aef
mov rcx, qword [rdi]
call fcn.180015af4
mov qword [rdi + 0x18], send
mov qword [rdi + 0x10], r12
mov byte [rdi], 0
add rdi, 0x28
cmp rdi, rsi
jne 0x180008ae0
mov rcx, r15
call fcn.180015af4
nop
cmp qword [rbp + 0x110], 0x10
jb 0x180008b26
mov rcx, qword [rbp + 0xf8]
call fcn.180015af4
mov qword [rbp + 0x110], socket
mov qword [rbp + 0x108], r12
mov byte [rbp + 0xf8], 0
cmp qword [rbp + 0x138], 0x10
jb 0x180008b5c
mov rcx, qword [rbp + 0x120]
call fcn.180015af4
jmp 0x180008b5c
call fcn.180003200
mov rcx, qword [rbp + 0x1e8]
xor rcx, rsp
call fcn.180015b10
mov rbx, qword [rsp + 0x348]
add rsp, 0x2f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret