Function at 0x180001000
Capabilities:
Check for software breakpoints
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
mov r12, rcx
mov rdi, qword [rcx + 8]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rdi + rax*8 + 0x800040]
test rbx, rbx
je 0x1800010ea
mov rsi, rdx
xor r15d, r15d
test rbx, rbx
je 0x1800010a4
mov r14, qword [rdi + rax*8 + 0x1000040]
mov eax, 0xffff
sub rax, r15
cmp r14, rax
ja 0x1800010a4
lea rcx, [rsi + r15]
mov rdx, rbx
mov r8, r14
call sub.msvcrt.dll_memcpy
add r15, r14
mov rcx, rbx
call fcn.180006ea0
mov rax, qword [rdi + 0x38]
and qword [rdi + rax*8 + 0x800040], 0
and qword [rdi + rax*8 + 0x1000040], 0
mov rcx, qword [rdi + 0x38]
inc rcx
cmp rcx, 0x100000
mov eax, 0
cmovb rax, rcx
mov qword [rdi + 0x38], rax
mov rbx, qword [rdi + rax*8 + 0x800040]
jmp 0x180001035
test r15, r15
je 0x1800010ea
mov rdx, qword [r12 + 0x30]
mov rcx, qword [r12 + 0x40]
mov rax, rdx
sub rax, rcx
cmp rax, r15
mov qword [rsp + 0x58], r15
jae 0x1800010f3
add rdx, 0xffff
mov qword [r12 + 0x30], rdx
mov rcx, qword [r12 + 0x38]
call sub.msvcrt.dll_realloc
test rax, rax
je 0x18000110b
mov qword [r12 + 0x38], rax
mov rcx, qword [r12 + 0x40]
jmp 0x1800010f8
xor eax, eax
mov qword [rsp + 0x58], rax
jmp 0x18000110b
mov rax, qword [r12 + 0x38]
add rcx, rax
mov rdx, rsi
mov r8, r15
call sub.msvcrt.dll_memcpy
add qword [r12 + 0x40], r15
mov rdi, qword [r12 + 0x40]
test rdi, rdi
je 0x180001fca
lea rax, [r12 + 0x50]
mov qword [rsp + 0xb8], rax
lea rbx, [rsp + 0xc8]
lea r14, [rsp + 0x64]
mov qword [rsp + 0x40], r12
mov rsi, qword [r12 + 0x38]
mov rcx, rsi
call fcn.1800065e8
mov r15, rax
mov eax, 1
cmp r15, 0x40
jb 0x180001171
mov eax, 2
cmp r15d, 0x4000
jb 0x180001171
cmp r15d, 0x400000
mov eax, 4
sbb rax, 0
lea rcx, [r15 + rax]
cmp rcx, rdi
ja 0x180001fca
mov qword [rsp + 0xc0], rcx
add rsi, rax
lea r13, [r15 + r15]
imul rax, r15, 0x3e8
mov qword [rsp + 0x48], rax
mov rcx, r13
call sub.msvcrt.dll_malloc
mov rdi, rax
add r15, rsi
mov eax, r13d
and eax, 0xfffffffe
add rax, rdi
xor r12d, r12d
test r12d, r12d
jne 0x1800012c5
mov r12, rdi
mov r9, rsi
lea rcx, [r9 + 1]
movzx edx, byte [r9]
cmp edx, 0x1f
ja 0x180001204
lea r8, [r12 + rdx]
inc r8
cmp r8, rax
ja 0x180001290
inc rdx
lea r8, [rcx + rdx]
cmp r8, r15
jbe 0x1800011fd
jmp 0x180001297
mov r8b, byte [rcx]
inc rcx
mov byte [r12], r8b
inc r12
sub edx, 1
jae 0x1800011f0
jmp 0x180001279
mov ebp, 0x16
cmp rcx, r15
jae 0x18000129c
mov r8d, edx
shr r8d, 5
cmp r8d, 7
jne 0x180001231
lea rcx, [r9 + 2]
cmp rcx, r15
jae 0x18000129c
movzx r8d, byte [r9 + 1]
add r8d, 7
mov r9d, r8d
add r9, r12
add r9, 2
cmp r9, rax
ja 0x180001290
and edx, 0x1f
shl rdx, 8
mov r10, rdx
not r10
add r10, r12
movzx r9d, byte [rcx]
sub r10, r9
cmp r10, rdi
jb 0x18000129c
inc rcx
add r8d, 2
add r9, rdx
not r9
mov dl, byte [r12 + r9]
mov byte [r12], dl
inc r12
dec r8d
jne 0x180001269
mov r9, rcx
cmp rcx, r15
jb 0x1800011c2
sub r12d, edi
jne 0x1800011b3
jmp 0x1800012a4
mov ebp, 7
jmp 0x18000129c
mov ebp, 0x16
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], ebp
add r13, r13
cmp r13, qword [rsp + 0x48]
ja 0x180001fc2
mov rcx, rdi
mov rdx, r13
call sub.msvcrt.dll_realloc
mov rdi, rax
jmp 0x1800011a7
mov ebp, 0x400
mov ecx, 0x400
call sub.msvcrt.dll_malloc
mov r15, rax
xor eax, eax
test rax, rax
jg 0x1800016d3
mov rcx, r15
mov rdx, rbp
call fcn.180002c8d
mov rsi, rax
mov rax, qword [rax]
mov qword [rsp + 0xc8], rdi
mov dword [rsp + 0xd0], r12d
and dword [rsp + 0xd4], 0
mov qword [rsp + 0xd8], rax
mov r13, rsi
add r13, 0x18
xor ecx, ecx
mov eax, r12d
cmp ecx, eax
jge 0x1800016a2
mov rcx, rbx
mov rdx, r14
call fcn.180006829
cmp eax, 0x12e
je 0x1800013f6
cmp eax, 2
je 0x180001424
cmp eax, 0x67
je 0x180001438
cmp eax, 0x68
je 0x18000145b
cmp eax, 0x69
je 0x18000147e
cmp eax, 0x6a
je 0x1800014a1
cmp eax, 0x6b
je 0x1800014c4
cmp eax, 0x6c
je 0x1800014e7
cmp eax, 0x6e
je 0x180001515
cmp eax, 0x6f
je 0x180001538
cmp eax, 0x70
je 0x18000155b
cmp eax, 0xc9
je 0x18000157e
cmp eax, 0xcb
je 0x1800015ac
cmp eax, 0xcc
je 0x1800015d7
cmp eax, 0xcd
je 0x1800015f7
cmp eax, 0xce
je 0x180001622
cmp eax, 0x12d
je 0x180001669
cmp eax, 1
jne 0x180001694
mov edx, dword [rsp + 0x64]
mov rcx, rbx
call fcn.1800068e7
mov dword [rsi + 8], eax
jmp 0x180001656
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 0x10
lea rax, [0x180002c57]
mov qword [rsp + 0x28], rax
lea rax, [0x180002c52]
mov qword [rsp + 0x20], rax
mov r9d, 8
jmp 0x18000164b
mov edx, dword [rsp + 0x64]
mov rcx, rbx
call fcn.1800068e7
mov dword [rsi + 0xc], eax
jmp 0x180001656
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 1
lea rax, [0x180002000]
mov qword [rsp + 0x28], rax
lea rax, [0x180001fe3]
jmp 0x180001640
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 2
lea rax, [0x1800025e0]
mov qword [rsp + 0x28], rax
lea rax, [0x180002587]
jmp 0x180001615
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 3
lea rax, [0x1800021af]
mov qword [rsp + 0x28], rax
lea rax, [0x18000211d]
jmp 0x1800015ca
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 4
lea rax, [0x1800022ce]
mov qword [rsp + 0x28], rax
lea rax, [0x1800022b8]
jmp 0x180001640
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 5
lea rax, [0x18000232e]
mov qword [rsp + 0x28], rax
lea rax, [0x180002318]
jmp 0x180001640
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 6
lea rax, [0x1800024c4]
mov qword [rsp + 0x28], rax
lea rax, [0x180002443]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
jmp 0x18000164b
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 7
lea rax, [0x180002395]
mov qword [rsp + 0x28], rax
lea rax, [0x180002378]
jmp 0x180001640
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 8
lea rax, [0x1800020a0]
mov qword [rsp + 0x28], rax
lea rax, [0x18000204e]
jmp 0x180001615
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 9
lea rax, [0x1800023f9]
mov qword [rsp + 0x28], rax
lea rax, [0x1800023e3]
jmp 0x180001640
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 0xa
lea rax, [0x180002aa1]
mov qword [rsp + 0x28], rax
lea rax, [0x180002a32]
mov qword [rsp + 0x20], rax
mov r9d, 0x28
jmp 0x18000164b
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 0xb
lea rax, [0x1800027fb]
mov qword [rsp + 0x28], rax
lea rax, [0x180002740]
mov qword [rsp + 0x20], rax
mov r9d, 0x40
jmp 0x18000164b
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 0xc
lea rax, [0x1800029e4]
mov qword [rsp + 0x28], rax
lea rax, [0x1800029c7]
jmp 0x180001640
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 0xd
lea rax, [0x1800026bb]
mov qword [rsp + 0x28], rax
lea rax, [0x180002665]
mov qword [rsp + 0x20], rax
mov r9d, 0x18
jmp 0x18000164b
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 0xe
lea rax, [0x180002b5b]
mov qword [rsp + 0x28], rax
lea rax, [0x180002b45]
mov qword [rsp + 0x20], rax
mov r9d, 0x10
mov rcx, rbx
mov r8, r13
call fcn.180006dcd
mov eax, dword [rsp + 0xd0]
mov ecx, dword [rsp + 0xd4]
jmp 0x18000131f
mov edx, dword [rsp + 0x64]
mov dword [rsi + 0x10], 0xf
lea rax, [0x180002be3]
mov qword [rsp + 0x28], rax
lea rax, [0x180002ba5]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
jmp 0x18000164b
mov edx, dword [rsp + 0x64]
mov rcx, rbx
call fcn.180006c7f
jmp 0x180001656
cmp ecx, 0xfffffffd
je 0x1800016b6
mov eax, ecx
test ecx, ecx
jg 0x1800012d9
jmp 0x18000179f
add rbp, rbp
mov rcx, r15
mov rdx, rbp
call sub.msvcrt.dll_realloc
mov r15, rax
mov rax, 0xfffffffffffffffd
jmp 0x1800012d9
add dword [rsi + 0xc], 0x65ec8780
mov eax, dword [rsi + 0x10]
cmp eax, 0xf
je 0x1800017b9
cmp eax, 2
je 0x180001835
cmp eax, 3
mov r12, qword [rsp + 0x40]
je 0x1800018a4
cmp eax, 5
je 0x180001962
cmp eax, 6
je 0x180001a33
cmp eax, 7
je 0x180001b29
cmp eax, 8
je 0x180001b3b
cmp eax, 9
je 0x180001bc2
cmp eax, 1
jne 0x180001f86
lea rcx, [0x180008007]
lea rdx, [0x180008012]
mov r8d, 0xb
mov r9, rbx
call fcn.180004c50
mov r15, rax
mov rax, qword [rsi + 0x18]
mov r13, qword [rax + 8]
mov r12, qword [r12 + 8]
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x18000176e
call fcn.180006ea0
mov rax, qword [r12]
mov qword [r12 + 8], rax
mov rcx, r13
call sub.msvcrt.dll__strdup
mov qword [r12], rax
mov rcx, r13
call fcn.1800054f2
mov qword [r12 + 0x18], rax
mov r12, qword [rsp + 0x40]
mov rcx, r12
xor edx, edx
jmp 0x180001c96
mov rcx, r15
call fcn.180006ea0
mov rcx, rdi
call fcn.180006ea0
mov r12, qword [rsp + 0x40]
jmp 0x180001fb8
lea rcx, [0x1800081d0]
lea rdx, [0x1800081f1]
mov r8d, 0x21
mov r9, rbx
call fcn.180004c50
mov r15, rax
mov ebp, dword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x48], rcx
mov r12, qword [rax + 0x18]
mov r13d, dword [rax + 8]
mov rcx, qword [rsp + 0x40]
mov edx, ebp
call fcn.180002cd3
test rax, rax
je 0x180001f81
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180001ca3
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x180001ca3
mov qword [rsp + 0x20], r12
mov edx, ebp
mov r8d, r13d
mov r9, qword [rsp + 0x48]
call rax
jmp 0x180001f81
lea rcx, [0x180008200]
lea rdx, [0x180008234]
mov r8d, 0x34
mov r9, rbx
call fcn.180004c50
mov r15, rax
lea rcx, [0x180008240]
lea rdx, [0x180008259]
mov r8d, 0x19
mov r9, r14
call fcn.180004c50
mov rbp, rax
mov rax, qword [rsi + 0x18]
mov r13, qword [rax + 8]
cmp byte [rax + 0x14], 0
mov r12, qword [rsp + 0x40]
je 0x180001cba
mov rcx, qword [r12 + 0x860]
mov rdx, r13
call fcn.180004180
mov rcx, r12
xor edx, edx
jmp 0x180001e7a
lea rcx, [0x180008050]
lea rdx, [0x180008095]
mov r8d, 0x45
mov r9, rbx
call fcn.180004c50
mov r15, rax
mov rax, qword [rsi + 0x18]
mov r13, qword [rax + 8]
mov ebp, dword [rax + 0x18]
mov rcx, qword [rax + 0x20]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rax + 0x28]
mov rdx, qword [rax + 0x38]
cmp byte [rax + 0x14], 0
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rdx
je 0x180001ce1
mov rcx, qword [r12 + 0x860]
mov rdx, r13
call fcn.180004180
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0xb0], rax
lea rcx, [0x1800082a0]
lea rdx, [0x1800082c3]
mov r8d, 0x23
mov r9, r14
call fcn.180004c50
mov r12d, 0xc
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + r12*8], 0
je 0x180001c16
cmp r12, 0x10c
je 0x180001d39
inc r12
jmp 0x180001940
lea rcx, [0x1800080d0]
lea rdx, [0x1800080fa]
mov r8d, 0x2a
mov r9, r14
call fcn.180004c50
mov r15, rax
lea rcx, [0x180008100]
lea rdx, [0x180008129]
mov r8d, 0x29
lea r9, [rsp + 0x12f]
call fcn.180004c50
mov r13, rax
lea rcx, [0x180008130]
lea rdx, [0x180008150]
mov r8d, 0x20
lea r9, [rsp + 0x10f]
call fcn.180004c50
mov rcx, qword [rsi + 0x18]
mov ebp, dword [rcx + 8]
test ebp, ebp
je 0x180001d53
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r15
mov ecx, 0x400
call sub.msvcrt.dll_malloc
mov r15, rax
mov ecx, 1
xor edx, edx
mov r8d, ebp
call qword [sym.imp.KERNEL32.dll_OpenProcess]
test rax, rax
je 0x180001dea
mov qword [rsp + 0x48], r13
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov r13d, eax
call fcn.180004b89
test r13d, r13d
je 0x180001def
mov rcx, r15
mov rdx, qword [rsp + 0x50]
jmp 0x180001df7
mov rax, qword [rsi + 0x18]
mov r13, qword [rax + 0x28]
mov rcx, qword [rax + 0x20]
mov qword [rsp + 0x50], rcx
mov r15, qword [rax + 0x10]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x48], eax
mov r12, qword [r12 + 0x860]
mov rbp, 0xffffffffffffffff
cmp qword [r12 + rbp*8 + 8], 0
lea rbp, [rbp + 1]
je 0x180001a73
cmp rbp, 0x400
jb 0x180001a5e
cmp rbp, 0x3ff
ja 0x180001e97
mov ecx, 0x20
call sub.msvcrt.dll_malloc
mov qword [r12 + rbp*8], rax
test rax, rax
je 0x180001e97
mov rcx, r13
call sub.msvcrt.dll_malloc
mov rcx, qword [r12 + rbp*8]
mov qword [rcx + 0x10], rax
mov rcx, qword [r12 + rbp*8]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x180001e92
mov rcx, rax
mov rdx, qword [rsp + 0x50]
mov r8, r13
call sub.msvcrt.dll_memcpy
mov rax, qword [r12 + rbp*8]
mov qword [rax + 0x18], r13
mov rcx, r15
call sub.msvcrt.dll__strdup
mov rcx, qword [r12 + rbp*8]
mov qword [rcx], rax
mov rax, qword [r12 + rbp*8]
mov ecx, dword [rsp + 0x48]
mov dword [rax + 8], ecx
mov rcx, qword [rax + 0x10]
mov r12, qword [rsp + 0x40]
mov r8, qword [r12 + 0x868]
mov rdx, r13
call fcn.180004c1e
lea rcx, [0x180008013]
lea rdx, [0x180008022]
mov r8d, 0xf
mov r9, rbx
call fcn.180004c50
mov rcx, r12
xor edx, edx
jmp 0x180001ebd
mov rax, qword [rsi + 0x18]
mov r8, qword [rax + 8]
mov rcx, r12
xor edx, edx
jmp 0x180001c99
mov ebp, dword [r12 + 0x48]
mov dword [r12 + 0x4c], ebp
mov ecx, 0x400
call sub.msvcrt.dll_malloc
mov r15, rax
mov rax, qword [rsi + 0x18]
cmp byte [rax + 8], 0
lea rax, [rax + 0xc]
mov rcx, qword [rsp + 0xb8]
cmovne rax, rcx
mov r13, r12
mov r12d, dword [rax]
mov dword [r13 + 0x48], r12d
mov rax, qword [rsi + 0x18]
cmp byte [rax + 0x10], 0
je 0x180001d9a
mov rbp, rcx
lea rcx, [0x180008160]
lea rdx, [0x18000818c]
mov r8d, 0x2c
mov r9, rbx
call fcn.180004c50
mov qword [rsp + 0x48], rax
mov dword [rbp], r12d
call fcn.180004b89
mov r8d, dword [rbp]
mov rcx, r15
mov rdx, qword [rsp + 0x48]
call rax
jmp 0x180001dcd
lea rcx, [0x1800080a0]
lea rdx, [0x1800080c8]
mov r8d, 0x28
mov r9, rbx
call fcn.180004c50
mov r15, rax
mov rax, qword [rsi + 0x18]
mov edx, dword [rax + 8]
mov rcx, r12
call fcn.180002cd3
test rax, rax
je 0x180001f86
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180001c8e
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x180001c8e
call rax
jmp 0x180001f86
mov qword [rsp + 0xa8], r15
mov ecx, 0x30
call sub.msvcrt.dll_malloc
mov r15, rax
mov rcx, r13
call sub.msvcrt.dll__strdup
mov qword [r15], rax
mov dword [r15 + 8], ebp
mov rax, qword [rsp + 0xa0]
mov qword [r15 + 0x28], rax
test ebp, ebp
mov qword [rsp + 0x90], r13
je 0x180001e16
lea rcx, [rbp*8]
call sub.msvcrt.dll_malloc
mov qword [r15 + 0x10], rax
xor r13d, r13d
cmp rbp, r13
je 0x180001e1b
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + r13*8]
call sub.msvcrt.dll__strdup
mov rcx, qword [r15 + 0x10]
mov qword [rcx + r13*8], rax
inc r13
jmp 0x180001c6a
mov rcx, r12
mov edx, 1
mov r8, r15
call fcn.18000378e
jmp 0x180001f86
mov rcx, qword [rsp + 0x40]
mov edx, 1
mov r8, r15
call fcn.18000378e
jmp 0x180001f81
mov r8d, dword [rax + 0x10]
mov rcx, qword [r12 + 0x860]
mov rdx, r13
call fcn.1800041e4
test rax, rax
je 0x18000189a
mov rcx, r12
xor edx, edx
mov r8, rbp
jmp 0x180001c99
mov r8d, dword [rax + 0x10]
mov rcx, qword [r12 + 0x860]
mov rdx, r13
call fcn.1800041e4
test rax, rax
je 0x180001912
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov rcx, r12
mov rdx, r13
mov r8d, ebp
mov r9, qword [rsp + 0x48]
call fcn.180004467
jmp 0x180001f86
mov r12, qword [rsp + 0x40]
mov rcx, r12
mov edx, 1
mov r8, rax
call fcn.18000378e
jmp 0x180001e72
lea rcx, [0x180008260]
lea rdx, [0x180008292]
mov r8d, 0x32
mov r9, rbx
call fcn.180004c50
mov byte [rsp + 0x20], 1
mov rcx, r12
xor edx, edx
xor r8d, r8d
mov r9, rax
call fcn.1800037ae
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
mov byte [r12 + 4], 0
jmp 0x180001f86
lea rcx, [0x180008190]
lea rdx, [0x1800081c3]
mov r8d, 0x33
mov r9, rbx
call fcn.180004c50
mov r12, rax
call fcn.180004b89
mov r8d, dword [r13 + 0x48]
mov rcx, r15
mov rdx, r12
mov r9d, ebp
call rax
mov r12, r13
mov eax, dword [r13 + 0x48]
mov rcx, qword [r13 + 8]
mov edx, 0x3e8
cmp eax, edx
cmovae eax, edx
mov dword [rcx + 0x18000dc], eax
jmp 0x180001dfc
call fcn.180004b89
mov rcx, r15
mov rdx, qword [rsp + 0x48]
mov r8d, ebp
call rax
mov rcx, r12
xor edx, edx
mov r8, r15
call fcn.18000378e
mov rcx, r15
call fcn.180006ea0
jmp 0x180001f86
and qword [r15 + 0x10], 0
mov rax, qword [rsp + 0x50]
mov dword [r15 + 0x18], eax
test eax, eax
je 0x180001e51
mov r13, qword [rsp + 0xb0]
mov rcx, r13
call sub.msvcrt.dll_malloc
mov qword [r15 + 0x20], rax
mov rcx, rax
mov rdx, qword [rsp + 0x98]
mov r8, r13
call sub.msvcrt.dll_memcpy
jmp 0x180001e56
and qword [r15 + 0x20], 0
mov r13, qword [rsp + 0x90]
mov rax, qword [rsp + 0x40]
mov qword [rax + r12*8], r15
mov r12, rax
mov r15, qword [rsp + 0xa8]
mov rcx, r12
mov edx, 2
mov r8, r15
call fcn.18000378e
mov rcx, r12
mov rdx, r13
call fcn.180003713
jmp 0x180001f86
call fcn.180006ea0
lea rcx, [0x180008030]
lea rdx, [0x180008048]
mov r8d, 0x18
mov r9, rbx
call fcn.180004c50
mov rcx, qword [rsp + 0x40]
mov edx, 1
mov r8, rax
call fcn.18000378e
mov r12d, 0xc
cmp r12, 0x10c
je 0x180001f81
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + r12*8]
test rax, rax
je 0x180001ef5
mov rcx, qword [rax]
mov rdx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x180001efa
inc r12
jmp 0x180001ecb
mov r15, qword [rsp + 0x40]
mov rax, qword [r15 + r12*8]
mov rdx, qword [rax]
mov r8d, dword [rax + 8]
mov r9, qword [rax + 0x10]
mov ecx, dword [rax + 0x18]
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], ecx
mov rcx, r15
call fcn.180004467
mov r15, qword [r15 + r12*8]
mov rcx, qword [r15]
call fcn.180006ea0
mov eax, dword [r15 + 8]
test eax, eax
je 0x180001f5f
xor r13d, r13d
mov eax, eax
mov rcx, qword [r15 + 0x10]
cmp r13, rax
jae 0x180001f5a
mov rcx, qword [rcx + r13*8]
call fcn.180006ea0
inc r13
mov eax, dword [r15 + 8]
jmp 0x180001f3d
call fcn.180006ea0
cmp dword [r15 + 0x18], 0
je 0x180001f6f
mov rcx, qword [r15 + 0x20]
call fcn.180006ea0
mov rcx, r15
call fcn.180006ea0
mov rax, qword [rsp + 0x40]
and qword [rax + r12*8], 0
mov r12, qword [rsp + 0x40]
mov rcx, qword [rsi]
call fcn.18000387a
mov rcx, rdi
call fcn.180006ea0
mov rcx, qword [r12 + 0x38]
mov r8, qword [r12 + 0x40]
mov rdx, qword [rsp + 0xc0]
sub r8, rdx
mov qword [r12 + 0x40], r8
add rdx, rcx
call sub.msvcrt.dll_memmove
mov rdi, qword [r12 + 0x40]
jmp 0x180001138
mov rcx, rdi
call fcn.180006ea0
mov rax, qword [rsp + 0x58]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret