Function at 0x1400381e0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x5d0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1402e6100]
xor rax, rsp
mov qword [rbp + 0x550], rax
xor r15d, r15d
mov dword [rbp], r15d
mov rdx, qword [0x140319960]
mov rcx, qword [0x140318b48]
test rdx, rdx
jne 0x140038286
test rcx, rcx
je 0x14003826f
cmp dword [0x140318b40], r15d
je 0x14003826f
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x170]
mov rdx, qword [0x140319818]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140318b48]
mov rdx, qword [rbp + 0x170]
mov qword [0x140319960], rdx
test rdx, rdx
je 0x140038336
test rcx, rcx
je 0x1400382b7
cmp dword [0x140318b40], r15d
je 0x1400382b7
add rdx, 8
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140318b48]
mov rax, qword [rbp + 0x140]
mov qword [0x140319968], rax
test rax, rax
je 0x140038336
mov rdx, qword [0x140319970]
test rdx, rdx
jne 0x14003831d
test rcx, rcx
je 0x14003830a
cmp dword [0x140318b40], r15d
je 0x14003830a
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x178]
mov rdx, qword [0x140319820]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140318b48]
mov rdx, qword [rbp + 0x178]
mov qword [0x140319970], rdx
test rdx, rdx
je 0x140038336
cmp qword [0x140319978], r15
jne 0x1400383b6
test rdx, rdx
jne 0x140038372
mov qword [0x140319978], r15
xor al, al
mov rcx, qword [rbp + 0x550]
xor rcx, rsp
call fcn.1400998e0
lea r11, [rsp + 0x5d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
test rcx, rcx
je 0x1400383a3
cmp dword [0x140318b40], r15d
je 0x1400383a3
add rdx, 0x18
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140318b48]
mov rax, qword [rbp + 0x1d0]
mov qword [0x140319978], rax
test rax, rax
je 0x140038336
cmp qword [0x140319988], r15
jne 0x140038403
test rcx, rcx
je 0x1400383ec
cmp dword [0x140318b40], r15d
je 0x1400383ec
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x180]
mov rdx, qword [0x140319830]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [rbp + 0x180]
mov qword [0x140319988], rax
test rax, rax
je 0x140038336
lea rcx, [0x140319998]
call fcn.140097820
test eax, eax
jne 0x14003a690
mov eax, dword [0x1403199e4]
cmp eax, 0x7fffffff
je 0x14003a69b
mov rbx, qword [0x140319a38]
mov rdi, qword [0x140319a40]
cmp rbx, rdi
je 0x14003846f
nop dword [rax + rax]
lea rcx, [rbx + 0x48]
call fcn.14000cda0
lea rcx, [rbx + 0x18]
call fcn.14000a800
add rbx, 0xa0
cmp rbx, rdi
jne 0x140038440
mov rbx, qword [0x140319a38]
mov rdi, rbx
mov qword [0x140319a40], rbx
cmp rdi, qword [0x140319a48]
je 0x1400384bc
lea rcx, [0x140319a38]
cmp rbx, rdi
jne 0x14003848b
call fcn.14000a720
jmp 0x1400384bc
sub rdi, rbx
movabs rax, 0x6666666666666667
imul rdi
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp + 0x180], rdx
lea rdx, [rbp + 0x180]
call fcn.14003ce90
mov rsi, r15
movabs r14, 0x100000001b3
mov r13d, 4
lea r12, [0x140000000]
xorps xmm7, xmm7
movss xmm6, dword [0x1402d1714]
mov rcx, qword [0x140318b48]
movabs rdi, 0xccccccccccccb
mov rdx, qword [0x140319978]
test rdx, rdx
je 0x140038d0e
test rcx, rcx
je 0x140038536
cmp dword [0x140318b40], 0
je 0x140038536
add rdx, 0x108
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140318b48]
cmp rsi, qword [rbp + 0x180]
jae 0x140038d0e
mov rdx, qword [0x140319978]
test rdx, rdx
je 0x1400385d4
test rcx, rcx
je 0x140038587
cmp dword [0x140318b40], 0
je 0x140038587
add rdx, 0x100
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140318b48]
mov r8, qword [rbp + 0x1d0]
test r8, r8
je 0x1400385d4
test rcx, rcx
je 0x1400385cb
cmp dword [0x140318b40], 0
je 0x1400385cb
mov eax, esi
shl eax, 4
movsxd rdx, eax
add rdx, r8
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x1d8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140318b48]
mov rbx, qword [rbp + 0x1d8]
jmp 0x1400385d7
mov rbx, r15
mov qword [rbp + 0x140], rbx
lea rax, [rbx - 1]
cmp rax, rdi
ja 0x140038d06
mov rcx, rbx
call fcn.14002cfd0
test eax, eax
je 0x140038607
and eax, 0x1fc000
cmp eax, 0x6c000
ja 0x140038cff
lea rcx, [rbx + 0x280]
call fcn.14002bd20
comiss xmm7, xmm0
jae 0x140038cff
lea rcx, [rbx + 0x280]
call fcn.14002bd20
comiss xmm6, xmm0
jae 0x140038cff
lea rcx, [rbp + 0x80]
call fcn.14002bf60
nop
mov qword [rbp + 0x80], rbx
mov dword [rbp + 0x88], esi
cmp rbx, qword [0x140319968]
sete byte [rbp + 0x90]
mov rcx, rbx
call fcn.14002d0e0
movzx r10d, al
mov byte [rbp + 0x91], al
movzx edx, bl
movabs rdi, 0xcbf29ce484222325
xor rdx, rdi
imul rdx, r14
movzx ecx, byte [rbp + 0x141]
xor rdx, rcx
imul rdx, r14
movzx ecx, byte [rbp + 0x142]
xor rdx, rcx
imul rdx, r14
movzx eax, byte [rbp + 0x143]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rbp + 0x144]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rbp + 0x145]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rbp + 0x146]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rbp + 0x147]
xor rdx, rax
imul rdx, r14
and rdx, qword [0x140319800]
mov rax, rdx
add rax, rax
mov r8, qword [0x1403197e8]
mov rcx, qword [r8 + rax*8 + 8]
mov r9, qword [0x1403197d8]
cmp rcx, r9
je 0x140038724
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp rbx, qword [rcx + 0x10]
je 0x140038727
cmp rcx, rax
je 0x140038724
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x140038713
jmp 0x140038727
mov rcx, r15
mov rax, r9
test rcx, rcx
cmovne rax, rcx
cmp rax, r9
setne byte [rbp + 0xc0]
test r10b, r10b
mov r10, qword [0x140318b48]
jne 0x1400387e3
mov rdx, qword [0x140318940]
add rdx, rbx
test r10, r10
je 0x140038785
cmp dword [0x140318b40], 0
je 0x140038785
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x170]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x140318b48]
cmp qword [rbp + 0x170], 0
jne 0x14003879a
mov eax, r15d
mov dword [rbp + 0x8c], eax
jmp 0x1400387ed
mov rdx, qword [rbp + 0x170]
add rdx, qword [0x140318948]
test r10, r10
je 0x1400387d5
cmp dword [0x140318b40], 0
je 0x1400387d5
mov qword [rsp + 0x20], r15
mov r9, r13
lea r8, [rbp + 0x178]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x140318b48]
mov eax, dword [rbp + 0x178]
mov dword [rbp + 0x8c], eax
jmp 0x1400387ed
mov dword [rbp + 0x8c], 0xffffffff
mov rdx, qword [0x140318938]
add rdx, rbx
test r10, r10
je 0x14003889d
cmp dword [0x140318b40], 0
je 0x14003882b
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x1e0]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x140318b48]
test r10, r10
je 0x14003889d
cmp dword [0x140318b40], 0
je 0x140038866
mov rdx, qword [rbp + 0x1e0]
add rdx, 0x68
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x1e8]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x140318b48]
test r10, r10
je 0x14003889d
cmp dword [0x140318b40], 0
je 0x14003889d
mov rdx, qword [rbp + 0x1e8]
add rdx, 0x178
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x110]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0xb8], rax
lea rcx, [rbp + 0x1f0]
call fcn.14002bf60
mov qword [rbp + 0x288], 0
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x1f0], rax
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x1f8], eax
mov eax, dword [rbp + 0x8c]
mov dword [rbp + 0x1fc], eax
movzx eax, byte [rbp + 0x90]
mov byte [rbp + 0x200], al
movzx eax, byte [rbp + 0x91]
mov byte [rbp + 0x201], al
lea rdx, [rbp + 0x98]
cmp qword [rbp + 0xb0], 0xf
cmova rdx, qword [rbp + 0x98]
mov r8, qword [rbp + 0xa8]
lea rcx, [rbp + 0x208]
call fcn.14001d670
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x228], rax
movzx eax, byte [rbp + 0xc0]
mov byte [rbp + 0x230], al
lea rax, [rbp + 0x238]
mov qword [rbp + 0x140], rax
mov eax, dword [rbp + 0xc8]
mov dword [rbp + 0x238], eax
mov rdx, qword [rbp + 0xd0]
mov r8, rdx
mov rdx, qword [rdx]
lea rcx, [rbp + 0x240]
call fcn.14003d410
mov rdx, qword [rbp + 0x248]
lea rcx, [rbp + 0x238]
call fcn.14002c560
mov rdx, rax
lea rcx, [rbp + 0x238]
call fcn.14002c3a0
mov qword [rbp + 0x140], r15
cmp qword [rbp + 0x218], 0
jne case.0x1400389c8.0
movzx eax, byte [0x140319908]
cmp eax, 9
ja case.0x1400389c8.3
mov ecx, dword [r12 + rax*4 + 0x3a748]
add rcx, r12
jmp rcx
mov rcx, qword [0x140319910]
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
jmp 0x1400389e6
mov rax, qword [0x140319910]
cmp qword [rax + 8], 0
sete al
test al, al
jne case.0x1400389c8.0
cmp qword [0x140319928], 0
je case.0x1400389c8.0
movzx edx, byte [rbp + 0x1fc]
xor rdx, rdi
imul rdx, r14
movzx eax, byte [rbp + 0x1fd]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rbp + 0x1fe]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rbp + 0x1ff]
xor rdx, rax
imul rdx, r14
and rdx, qword [0x140319948]
mov rax, rdx
add rax, rax
mov r8, qword [0x140319930]
mov rcx, qword [r8 + rax*8 + 8]
mov r9, qword [0x140319920]
mov eax, dword [rbp + 0x1fc]
cmp rcx, r9
je 0x140038a80
add rdx, rdx
mov r8, qword [r8 + rdx*8]
cmp eax, dword [rcx + 0x10]
je 0x140038a83
nop
cmp rcx, r8
je 0x140038a80
mov rcx, qword [rcx + 8]
cmp eax, dword [rcx + 0x10]
jne 0x140038a70
jmp 0x140038a83
mov rcx, r15
mov rdx, r9
test rcx, rcx
cmovne rdx, rcx
cmp rdx, r9
je 0x140038ac2
cmp eax, 0xffffffff
je 0x140038ac2
add rdx, 0x18
lea rax, [rbp + 0x208]
cmp rax, rdx
je case.0x1400389c8.0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140038b71
mov rdx, qword [rdx]
jmp 0x140038b71
movabs rax, 0x4e16fa87979caa20
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x2a0], rax
movabs rcx, 0xf662442ce19015b6
mov qword [rbp + 0x140], rcx
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x2a8], rax
movabs rax, 0x2b7b9be9e5f9d955
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x140], rcx
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x128], rax
movdqa xmm0, xmmword [rbp + 0x2a0]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x2a0], xmm0
lea rax, [rbp + 0x2a0]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140038b60
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x208]
call fcn.14001d670
mov rcx, qword [0x140318b48]
test rcx, rcx
je 0x140038bae
cmp dword [0x140318b40], 0
je 0x140038bae
lea rdx, [rbx + 0x90]
mov qword [rsp + 0x20], r15
mov r9d, 0xc
lea r8, [rbp + 0x30]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm0, qword [rbp + 0x30]
movsd qword [rbp + 0x278], xmm0
mov eax, dword [rbp + 0x38]
mov dword [rbp + 0x280], eax
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x340]
call fcn.14002c010
mov r9d, 0x796e
mov r8, rax
lea rdx, [rbp + 0x10]
call fcn.14003aeb0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x40], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x48], eax
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x50]
call fcn.14003c190
movsd xmm0, qword [rax]
movsd qword [rbp + 0x288], xmm0
mov rcx, rbx
call fcn.14002d050
mov byte [rbp + 0x284], al
cmp byte [rbp + 0x200], 0
je 0x140038c8b
mov qword [0x140319a50], rbx
movzx eax, byte [rbp + 0x91]
mov byte [0x140319958], al
mov dword [0x140319a58], esi
movsd xmm0, qword [rbp + 0x278]
movsd qword [0x140319a64], xmm0
mov eax, dword [rbp + 0x280]
mov dword [0x140319a6c], eax
movsd qword [rbp + 0x190], xmm0
mov dword [rbp + 0x198], eax
lea r8, [rbp + 0x190]
lea rdx, [rbp + 0x148]
call fcn.14003c190
movsd xmm0, qword [rax]
movsd qword [0x140319a5c], xmm0
mov rax, qword [0x140319a40]
cmp rax, qword [0x140319a48]
je 0x140038cb7
lea rdx, [rbp + 0x1f0]
mov rcx, rax
call fcn.14002c010
add qword [0x140319a40], 0xa0
jmp 0x140038cce
lea r8, [rbp + 0x1f0]
mov rdx, rax
lea rcx, [0x140319a38]
call fcn.14003dec0
nop
lea rcx, [rbp + 0x238]
call fcn.14000cda0
lea rcx, [rbp + 0x208]
call fcn.14000a800
nop
lea rcx, [rbp + 0xc8]
call fcn.14000cda0
lea rcx, [rbp + 0x98]
call fcn.14000a800
mov rcx, qword [0x140318b48]
inc rsi
jmp 0x1400384e8
lea rcx, [0x140319998]
call fcn.140097828
cmp byte [0x140319958], 0
jne 0x14003a677
cmp qword [0x1403198d8], 2
jae 0x14003a677
lea r12, [0x1403198a8]
cmp qword [0x140319898], 0
je 0x140038d54
cmp qword [0x1403198b8], 0
jne 0x140039893
mov dword [rbp + 0x178], 0x208
movabs rax, 0x2b2f9bafe5b6d906
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2c0], rax
movabs rax, 0xf627447ee1d115e1
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2c8], rax
movabs rax, 0x3031eb2ebad97b9b
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2d0], rax
movabs rax, 0x493fc5ffbacaedc1
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2d8], rax
movabs rax, 0xfe0171a9b5f3bdbf
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2e0], rax
movabs rax, 0xbe86afddb22a8803
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2e8], rax
movabs rdx, 0xa94ec02375346dab
mov qword [rbp + 0x110], rdx
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2f0], rax
movabs rcx, 0x58c3a516ece2379c
mov qword [rbp + 0x110], rcx
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2f8], rax
movabs rax, 0x2b7b9be9e5f9d955
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x300], rax
movabs rax, 0xf662442ce19015b6
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x308], rax
movabs rax, 0x3045eb47ba9a7bc7
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x310], rax
movabs rsi, 0x4951c59abab0eda8
mov qword [rbp + 0x110], rsi
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x318], rax
movabs r14, 0xfe4771f5b5abbdf9
mov qword [rbp + 0x110], r14
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x320], rax
movabs rdi, 0xbecbafb8b25c886a
mov qword [rbp + 0x110], rdi
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x328], rax
mov qword [rbp + 0x110], rdx
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x330], rax
mov qword [rbp + 0x110], rcx
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x338], rax
vmovdqu ymm0, ymmword [rbp + 0x2c0]
vpxor ymm1, ymm0, ymmword [rbp + 0x300]
vmovdqa ymmword [rbp + 0x2c0], ymm1
vmovdqu ymm0, ymmword [rbp + 0x2e0]
vpxor ymm1, ymm0, ymmword [rbp + 0x320]
vmovdqa ymmword [rbp + 0x2e0], ymm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
vzeroupper
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140038ff4
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140038ff4
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x7cb9b856
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140038fef
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140038fd0
cmp edx, 0xb0e0eaab
je 0x140038ff9
test r9d, r9d
jne 0x140038fb0
mov rax, qword [rax]
jmp 0x140038f80
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov ecx, dword [r11 + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
lea rcx, [rbp + 0x170]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp + 0x2c0]
mov rcx, 0xffffffff80000001
call rax
test eax, eax
jne 0x14003987b
movabs rax, 0x2b0f9b9ae598d919
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x300], rax
movabs rax, 0xf60c4459e1c21596
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x308], rax
movabs rax, 0x3026eb28bad67be7
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x310], rax
movabs rax, 0x493ec5f3bac4edc9
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x318], rax
movabs rax, 0xfe4771f5b5abbd97
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x320], rax
mov qword [rbp + 0x110], rdi
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x328], rax
movabs rax, 0x2b7b9be9e5f9d955
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2c0], rax
movabs rax, 0xf662442ce19015b6
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2c8], rax
movabs rbx, 0x3045eb47ba9a7bc7
mov qword [rbp + 0x110], rbx
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2d0], rax
mov qword [rbp + 0x110], rsi
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2d8], rax
mov qword [rbp + 0x110], r14
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2e0], rax
mov qword [rbp + 0x110], rdi
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2e8], rax
vmovdqu ymm0, ymmword [rbp + 0x300]
vpxor ymm1, ymm0, ymmword [rbp + 0x2c0]
vmovdqa ymmword [rbp + 0x300], ymm1
vmovdqa xmm0, xmmword [rbp + 0x320]
vxorps xmm0, xmm0, xmmword [rbp + 0x2e0]
vmovdqa xmmword [rbp + 0x320], xmm0
lea rax, [rbp + 0x178]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x340]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x300]
mov rcx, qword [rbp + 0x170]
vzeroupper
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400397c7
movabs rax, 0x481af8b5848db831
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x120], rax
movabs rax, 0x9e11255e82cc70de
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x128], rax
movabs rax, 0x30459235ceff16a8
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x110], rsi
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x138], rax
movabs rax, 0x2b7b9be9e5f9d955
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a0], rax
movabs rax, 0xf662442ce19015b6
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a8], rax
mov qword [rbp + 0x110], rbx
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2b0], rax
mov qword [rbp + 0x110], rsi
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2b8], rax
vmovdqu ymm0, ymmword [rbp + 0x120]
vpxor ymm1, ymm0, ymmword [rbp + 0x2a0]
vmovdqa ymmword [rbp + 0x120], ymm1
lea rdx, [rbp + 0x340]
lea rcx, [rbp + 0x300]
vzeroupper
call fcn.14001ba90
mov rbx, rax
mov qword [rbp + 0x148], rax
cmp qword [rax + 0x18], 7
jbe 0x14003931e
mov rdx, qword [rax]
mov rcx, qword [rax + 0x10]
lea r8, [rdx + rcx*2]
jmp 0x140039329
mov rax, qword [rax + 0x10]
lea r8, [rbx + rax*2]
mov rdx, rbx
lea rcx, [rbp + 0x58]
call fcn.14001e220
mov edi, dword [rbp]
or edi, 2
mov rcx, rbx
call fcn.14001d5a0
nop
lea rax, [rbp + 0x120]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140039350
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x58]
call fcn.14000a8a0
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], r15
mov qword [rbp + 0x1a8], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x190], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1a0], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or edi, 4
lea rcx, [rbp + 0x58]
call fcn.14000a800
lea rax, [rbp + 0x10]
mov qword [rbp + 0x148], rax
lea r14, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 0xf
cmova r14, qword [rbp + 0x190]
mov rsi, qword [rbp + 0x1a0]
call fcn.14009735c
mov r15d, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xor eax, eax
mov qword [rbp + 0x20], rax
mov edx, 7
mov qword [rbp + 0x28], rdx
mov word [rbp + 0x10], ax
or edi, 0x20
mov dword [rbp], edi
test rsi, rsi
je 0x14003947b
cmp rsi, 0x7fffffff
ja 0x14003a6ae
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, esi
mov rdx, r14
mov ecx, r15d
call fcn.140097384
mov rbx, rax
mov rcx, rax
shr rcx, 0x20
test ecx, ecx
jne 0x14003a6b4
xor r8d, r8d
movsxd rdx, ebx
lea rcx, [rbp + 0x10]
call fcn.14003c980
lea r9, [rbp + 0x10]
cmp qword [rbp + 0x28], 7
cmova r9, qword [rbp + 0x10]
mov dword [rsp + 0x20], ebx
mov r8d, esi
mov rdx, r14
mov ecx, r15d
call fcn.140097384
shr rax, 0x20
test eax, eax
jne 0x14003a6ba
mov rdx, qword [rbp + 0x28]
and edi, 0xffffffdf
or edi, 0x18
mov dword [rbp], edi
lea rcx, [rbp + 0x10]
cmp rdx, 7
cmova rcx, qword [rbp + 0x10]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp + 0x120]
call fcn.140097498
mov r8d, eax
test eax, eax
jne 0x1400394e8
mov edx, dword [rbp + 0x130]
mov ecx, edx
shr ecx, 0xa
test cl, 1
je 0x1400394dc
mov eax, dword [rbp + 0x134]
cmp eax, 0xa000000c
je 0x140039506
cmp eax, 0xa0000003
jne 0x1400394dc
mov r13d, 0xa
jmp 0x140039506
shr edx, 4
and edx, 1
lea r13d, [rdx + 2]
jmp 0x140039506
sub eax, 2
je 0x140039500
sub eax, 1
je 0x140039500
sub eax, 0x32
je 0x140039500
cmp eax, 0x46
je 0x140039500
xor al, al
jmp 0x140039502
mov al, 1
movzx r13d, al
mov dword [rbp + 0x120], r8d
lea rax, [0x1402e6d58]
mov qword [rbp + 0x128], rax
movaps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x2a0], xmm0
test r13d, r13d
je 0x140039549
xor r15d, r15d
mov dword [rbp + 0x2a0], r15d
mov qword [rbp + 0x2a8], rax
cmp r13d, 1
setne bl
jmp 0x140039557
xor bl, bl
test r8d, r8d
jne 0x14003a6c2
xor r15d, r15d
lea rcx, [rbp + 0x10]
call fcn.14001d5a0
test bl, bl
je 0x1400397bb
lea rdx, [rbp + 0x340]
lea rcx, [rbp + 0x2a0]
call fcn.14001ba90
mov rbx, rax
mov qword [rbp + 0x148], rax
cmp qword [rax + 0x18], 7
jbe 0x140039599
mov rdx, qword [rax]
mov rcx, qword [rax + 0x10]
lea r8, [rdx + rcx*2]
jmp 0x1400395a4
mov rax, qword [rax + 0x10]
lea r8, [rbx + rax*2]
mov rdx, rbx
lea rcx, [rbp + 0x120]
call fcn.14001e220
bts edi, 0xb
mov dword [rbp], edi
mov rcx, rbx
call fcn.14001d5a0
lea rdx, [rbp + 0x120]
lea rcx, [0x140319888]
call fcn.14001bdd0
lea rcx, [rbp + 0x120]
call fcn.14000a800
movabs rax, 0x481af8b5848db831
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x120], rax
movabs rax, 0x9e11255e82cc70de
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x128], rax
movabs rax, 0x30459235ceff16a8
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x130], rax
movabs rcx, 0x4951c59abab0eda8
mov qword [rbp + 0x110], rcx
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x138], rax
movabs rax, 0x2b7b9be9e5f9d955
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a0], rax
movabs rax, 0xf662442ce19015b6
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a8], rax
movabs rax, 0x3045eb47ba9a7bc7
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2b0], rax
mov qword [rbp + 0x110], rcx
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2b8], rax
vmovdqu ymm0, ymmword [rbp + 0x120]
vpxor ymm1, ymm0, ymmword [rbp + 0x2a0]
vmovdqa ymmword [rbp + 0x120], ymm1
lea rdx, [rbp + 0x340]
lea rcx, [rbp + 0x2c0]
vzeroupper
call fcn.14001ba90
mov rbx, rax
mov qword [rbp + 0x148], rax
cmp qword [rax + 0x18], 7
jbe 0x140039718
mov rdx, qword [rax]
mov rcx, qword [rax + 0x10]
lea r8, [rdx + rcx*2]
jmp 0x140039723
mov rax, qword [rax + 0x10]
lea r8, [rbx + rax*2]
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.14001e220
mov edi, dword [rbp]
bts edi, 8
mov rcx, rbx
call fcn.14001d5a0
nop
lea rax, [rbp + 0x120]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140039750
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x10]
call fcn.14000a8a0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x130], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts edi, 9
mov dword [rbp], edi
lea rdx, [rbp + 0x120]
mov rcx, r12
call fcn.14001bdd0
lea rcx, [rbp + 0x120]
call fcn.14000a800
nop
lea rcx, [rbp + 0x10]
call fcn.14000a800
nop
lea rcx, [rbp + 0x190]
call fcn.14000a800
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140039854
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140039854
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
add r8, r10
mov edx, 0x952c3a3c
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14003984f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140039830
cmp edx, 0x6ce1631
je 0x140039859
test r9d, r9d
jne 0x140039810
mov rax, qword [rax]
jmp 0x1400397e0
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov ecx, dword [r11 + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov rcx, qword [rbp + 0x170]
call rax
cmp qword [0x1403198b8], 0
jne 0x140039893
cmp qword [0x1403198d8], 0
jne 0x14003a5d2
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp + 0x340]
call fcn.1400c80a0
cmp qword [0x1403198c0], 0xf
cmova r12, qword [0x1403198a8]
mov r8d, 0x20
mov rdx, r12
lea rcx, [rbp + 0x340]
call fcn.14001a290
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x340], rbx
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x33c], edx
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1c0], r15
mov qword [rbp + 0x1c8], 0xf
mov byte [rbp + 0x1b0], 0
cmp qword [rbp + 0x3d0], 0
je 0x14003a544
xor eax, eax
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x2a0], r15
mov word [rbp + 0x2a8], 1
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x388]
mov qword [rbp + 0x10], rax
test rax, rax
sete byte [rbp + 0x18]
mov byte [rbp + 0x19], 0
movaps xmm0, xmmword [rbp + 0x2a0]
movdqa xmmword [rbp + 0x120], xmm0
movaps xmm1, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x2a0], xmm1
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x190]
call fcn.14003caf0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], r15
mov rdx, qword [rbp + 0x190]
mov r8, qword [rbp + 0x198]
cmp rdx, r8
jne 0x1400399e6
mov qword [rbp + 0x138], 0xf
mov byte [rbp + 0x120], 0
jmp 0x1400399f5
sub r8, rdx
lea rcx, [rbp + 0x120]
call fcn.140008f10
mov rdx, qword [rbp + 0x1c8]
cmp rdx, 0xf
jbe 0x140039a36
inc rdx
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039a31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a6d3
call fcn.140099900
movups xmm0, xmmword [rbp + 0x120]
movups xmmword [rbp + 0x1b0], xmm0
movups xmm1, xmmword [rbp + 0x130]
movups xmmword [rbp + 0x1c0], xmm1
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], 0xf
mov byte [rbp + 0x120], 0
lea rcx, [rbp + 0x120]
call fcn.14000a800
cmp qword [rbp + 0x1c0], 0
jbe 0x14003a498
movabs rax, 0x591ee8b6918ab839
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a0], rax
movabs r12, 0xf60e3659bee270c0
mov qword [rbp + 0x110], r12
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a8], rax
movabs rax, 0x2b7b9be9e5f9d955
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x120], rax
movabs rax, 0xf662442ce19015b6
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x128], rax
movdqa xmm0, xmmword [rbp + 0x2a0]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x2a0], xmm0
lea rax, [rbp + 0x2a0]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140039b26
lea r14, [rbp + 0x1b0]
mov r13, qword [rbp + 0x1b0]
mov rcx, qword [rbp + 0x1c8]
cmp rcx, 0xf
cmova r14, r13
mov rsi, qword [rbp + 0x1c0]
cmp rdi, rsi
ja 0x140039bee
test rdi, rdi
jne 0x140039b69
mov rbx, r15
jmp 0x140039bf5
mov r15, r14
sub r15, rdi
movq rax, xmm0
movsx r12d, al
lea r8, [rsi + 1]
add r8, r15
sub r8, r14
mov edx, r12d
mov rcx, r14
call fcn.1400c8440
mov rbx, rax
test rax, rax
je 0x140039bda
nop word [rax + rax]
mov r8, rdi
lea rdx, [rbp + 0x2a0]
mov rcx, rbx
call fcn.1400c84e0
test eax, eax
je 0x140039e63
inc rbx
lea r8, [rsi + 1]
add r8, r15
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call fcn.1400c8440
mov rbx, rax
test rax, rax
jne 0x140039ba0
mov rcx, qword [rbp + 0x1c8]
xor r15d, r15d
movabs r12, 0xf60e3659bee270c0
mov rbx, 0xffffffffffffffff
cmp rbx, 0xffffffffffffffff
je 0x14003a491
add rbx, 0xf
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], r15
mov qword [rbp + 0x168], r15
cmp rsi, rbx
jb 0x14003a6d9
sub rsi, rbx
mov r8, 0xffffffffffffffff
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0x1b0]
cmp rcx, 0xf
cmova rdx, r13
add rdx, rbx
lea rcx, [rbp + 0x150]
call fcn.140008f10
or dword [rbp], 0x400
movabs r13, 0x591ee8b6918ab839
mov qword [rbp + 0x110], r13
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a0], rax
mov qword [rbp + 0x110], r12
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a8], rax
movabs rax, 0x2b7b9be9e5f9d955
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x120], rax
movabs rax, 0xf662442ce19015b6
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x128], rax
movdqa xmm0, xmmword [rbp + 0x2a0]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x2a0], xmm0
lea rax, [rbp + 0x2a0]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140039cf1
lea rsi, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rsi, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x160]
cmp rdi, rcx
ja 0x140039d8c
test rdi, rdi
je 0x140039ff2
mov r14, rsi
sub r14, rdi
add r14, rcx
movq rax, xmm0
movsx r15d, al
lea r8, [r14 + 1]
sub r8, rsi
mov edx, r15d
mov rcx, rsi
call fcn.1400c8440
mov rbx, rax
test rax, rax
je 0x140039d89
mov r8, rdi
lea rdx, [rbp + 0x2a0]
mov rcx, rbx
call fcn.1400c84e0
test eax, eax
je 0x140039e7f
inc rbx
lea r8, [r14 + 1]
sub r8, rbx
mov edx, r15d
mov rcx, rbx
call fcn.1400c8440
mov rbx, rax
test rax, rax
jne 0x140039d52
xor r15d, r15d
mov qword [rbp + 0x110], r13
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a0], rax
mov qword [rbp + 0x110], r12
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a8], rax
movabs rax, 0x2b7b9be9e5f9d955
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x120], rax
movabs rax, 0xf662442ce19015b6
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x128], rax
movdqa xmm0, xmmword [rbp + 0x2a0]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x2a0], xmm0
lea rax, [rbp + 0x2a0]
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140039e20
lea r14, [rbp + 0x150]
mov r13, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x168]
cmp rcx, 0xf
cmova r14, r13
mov rsi, qword [rbp + 0x160]
cmp rdi, rsi
ja 0x140039f04
test rdi, rdi
jne 0x140039e90
mov rbx, r15
jmp 0x140039f0b
sub rbx, r14
mov rcx, qword [rbp + 0x1c8]
xor r15d, r15d
movabs r12, 0xf60e3659bee270c0
jmp 0x140039bf5
xor r15d, r15d
cmp rbx, rsi
je 0x140039ff2
jmp 0x140039d8c
mov r15, r14
sub r15, rdi
movq rax, xmm0
movsx r12d, al
lea r8, [rsi + 1]
add r8, r15
sub r8, r14
mov edx, r12d
mov rcx, r14
call fcn.1400c8440
mov rbx, rax
test rax, rax
je 0x140039efa
nop dword [rax]
mov r8, rdi
lea rdx, [rbp + 0x2a0]
mov rcx, rbx
call fcn.1400c84e0
test eax, eax
je 0x14003a0d3
inc rbx
lea r8, [rsi + 1]
add r8, r15
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call fcn.1400c8440
mov rbx, rax
test rax, rax
jne 0x140039ec0
mov rcx, qword [rbp + 0x168]
xor r15d, r15d
mov rbx, 0xffffffffffffffff
add rbx, 0xf
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], r15
cmp rsi, rbx
jb 0x14003a6e5
sub rsi, rbx
mov r8, 0xffffffffffffffff
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0x150]
cmp rcx, 0xf
cmova rdx, r13
add rdx, rbx
lea rcx, [rbp + 0x120]
call fcn.140008f10
or dword [rbp], 0x2000
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x140039fa7
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039fa2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a6df
call fcn.140099900
movups xmm0, xmmword [rbp + 0x120]
movups xmmword [rbp + 0x150], xmm0
movups xmm1, xmmword [rbp + 0x130]
movups xmmword [rbp + 0x160], xmm1
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], 0xf
mov byte [rbp + 0x120], 0
lea rcx, [rbp + 0x120]
call fcn.14000a800
movabs r13, 0x591ee8b6918ab839
mov qword [rbp + 0x110], r13
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a0], rax
movabs rax, 0xf662442ce1e270c0
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a8], rax
movabs rax, 0x2b7b9be9e5f9d955
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x120], rax
movabs r12, 0xf662442ce19015b6
mov qword [rbp + 0x110], r12
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x128], rax
movdqa xmm0, xmmword [rbp + 0x2a0]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x2a0], xmm0
lea rax, [rbp + 0x2a0]
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x14003a090
lea r14, [rbp + 0x150]
mov r13, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x168]
cmp rcx, 0xf
cmova r14, r13
mov rsi, qword [rbp + 0x160]
cmp rdi, rsi
ja 0x14003a15f
test rdi, rdi
jne 0x14003a0e5
mov rbx, r15
jmp 0x14003a166
sub rbx, r14
mov rcx, qword [rbp + 0x168]
xor r15d, r15d
jmp 0x140039f0b
mov r15, r14
sub r15, rdi
movq rax, xmm0
movsx r12d, al
lea r8, [rsi + 1]
add r8, r15
sub r8, r14
mov edx, r12d
mov rcx, r14
call fcn.1400c8440
mov rbx, rax
test rax, rax
je 0x14003a14b
mov r8, rdi
lea rdx, [rbp + 0x2a0]
mov rcx, rbx
call fcn.1400c84e0
test eax, eax
je 0x14003a310
inc rbx
lea r8, [rsi + 1]
add r8, r15
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call fcn.1400c8440
mov rbx, rax
test rax, rax
jne 0x14003a111
mov rcx, qword [rbp + 0x168]
xor r15d, r15d
movabs r12, 0xf662442ce19015b6
mov rbx, 0xffffffffffffffff
add rbx, 0xb
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], r15
cmp rsi, rbx
jb 0x14003a6e5
sub rsi, rbx
mov r8, 0xffffffffffffffff
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0x150]
cmp rcx, 0xf
cmova rdx, r13
add rdx, rbx
lea rcx, [rbp + 0x120]
call fcn.140008f10
or dword [rbp], 0x1000
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x14003a202
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003a1fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a6df
call fcn.140099900
movups xmm0, xmmword [rbp + 0x120]
movups xmmword [rbp + 0x150], xmm0
movups xmm1, xmmword [rbp + 0x130]
movups xmmword [rbp + 0x160], xmm1
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], 0xf
mov byte [rbp + 0x120], 0
lea rcx, [rbp + 0x120]
call fcn.14000a800
movabs rax, 0x2b7b9be9e5f9d96f
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a0], rax
mov qword [rbp + 0x110], r12
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x2a8], rax
movabs rax, 0x2b7b9be9e5f9d955
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x110], r12
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x128], rax
movdqa xmm0, xmmword [rbp + 0x2a0]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x2a0], xmm0
lea rax, [rbp + 0x2a0]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x14003a2d0
lea rsi, [rbp + 0x150]
mov r13, qword [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rsi, r13
mov r12, qword [rbp + 0x160]
cmp rdi, r12
ja 0x14003a39e
test rdi, rdi
jne 0x14003a32c
mov rbx, r15
jmp 0x14003a3a5
sub rbx, r14
mov rcx, qword [rbp + 0x168]
xor r15d, r15d
movabs r12, 0xf662442ce19015b6
jmp 0x14003a166
mov r14, rsi
sub r14, rdi
movq rax, xmm0
movsx r15d, al
lea r8, [r12 + 1]
add r8, r14
sub r8, rsi
mov edx, r15d
mov rcx, rsi
call fcn.1400c8440
mov rbx, rax
test rax, rax
je 0x14003a39b
nop dword [rax]
mov r8, rdi
lea rdx, [rbp + 0x2a0]
mov rcx, rbx
call fcn.1400c84e0
test eax, eax
je 0x14003a4f8
inc rbx
lea r8, [r12 + 1]
add r8, r14
sub r8, rbx
mov edx, r15d
mov rcx, rbx
call fcn.1400c8440
mov rbx, rax
test rax, rax
jne 0x14003a360
xor r15d, r15d
mov rbx, 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], r15
mov r8, rbx
cmp r12, rbx
cmovb r8, r12
lea rdx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rdx, r13
lea rcx, [rbp + 0x120]
call fcn.140008f10
lea rdx, [rbp + 0x120]
lea rcx, [0x1403198c8]
call fcn.14001bdd0
lea rcx, [rbp + 0x120]
call fcn.14000a800
lea rcx, [rbx + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], r15
mov rax, qword [rbp + 0x160]
cmp rax, rcx
jb 0x14003a6e5
lea r8, [rbx + 5]
sub rax, rcx
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rdx, qword [rbp + 0x150]
add rdx, rcx
lea rcx, [rbp + 0x120]
call fcn.140008f10
lea rdx, [rbp + 0x120]
lea rcx, [0x1403198e8]
call fcn.14001bdd0
lea rcx, [rbp + 0x120]
call fcn.14000a800
nop
lea rcx, [rbp + 0x150]
call fcn.14000a800
lea rbx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
lea rcx, [rbp + 0x350]
call fcn.14001d1b0
test rax, rax
jne 0x14003a503
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
mov eax, 6
mov edx, 2
cmp qword [rbp + rcx + 0x388], 0
cmovne eax, edx
or eax, dword [rbp + rcx + 0x350]
and eax, 0x17
mov dword [rbp + rcx + 0x350], eax
and eax, dword [rbp + rcx + 0x354]
je 0x14003a503
test al, 4
je 0x14003a6eb
lea rbx, str.ios_base::badbit_set
jmp 0x14003a6ff
sub rbx, rsi
xor r15d, r15d
jmp 0x14003a3a5
mov rcx, qword [rbp + 0x190]
test rcx, rcx
je 0x14003a544
mov rdx, qword [rbp + 0x1a0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003a53e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a736
call fcn.140099900
nop
lea rcx, [rbp + 0x1b0]
call fcn.14000a800
nop
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x340], rbx
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x33c], edx
lea rcx, [rbp + 0x350]
call fcn.14001a140
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x340], rax
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x33c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x3f0], rax
lea rcx, [rbp + 0x3f0]
call fcn.14009710c
nop
cmp qword [0x1403198d8], 5
jb 0x14003a670
cmp qword [0x1403198f8], 2
jb 0x14003a670
mov ecx, 8
call fcn.140099a28
lea rcx, [0x140319790]
mov qword [rax], rcx
mov qword [rbp + 0x148], rax
lea rcx, [rbp + 0x2a8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r15d
mov r9, rax
lea r8, [0x14003e020]
xor edx, edx
xor ecx, ecx
call fcn.14009ff7c
mov qword [rbp + 0x2a0], rax
test rax, rax
je 0x14003a67e
cmp dword [rbp + 0x2a8], 0
je 0x14003a73c
movaps xmm0, xmmword [rbp + 0x2a0]
movdqa xmmword [rbp + 0x120], xmm0
lea rcx, [rbp + 0x120]
call fcn.140097074
test eax, eax
jne 0x14003a73c
mov al, 1
jmp 0x140038338
mov byte [0x140319958], 1
mov al, 1
jmp 0x140038338
mov dword [rbp + 0x2a8], r15d
mov ecx, 6
call fcn.1400964d0
nop
mov ecx, 5
call fcn.1400964d0
int3
dec eax
mov dword [0x1403199e4], eax
mov ecx, 6
call fcn.1400964d0
nop
call fcn.140031ec0
int3
call fcn.1400320d0
int3
mov ecx, eax
call fcn.1400320d0
nop
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x2a0]
call fcn.140032670
nop
call fcn.1400a39cc
int3
call fcn.14001deb0
nop
call fcn.1400a39cc
int3
call fcn.14001deb0
nop
test dl, al
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rbp + 0x120]
call fcn.140005820
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x2c0]
call fcn.140006080
lea rdx, [0x1402e3c30]
lea rcx, [rbp + 0x2c0]
call fcn.14009bdb0
nop
call fcn.1400a39cc
nop
mov ecx, 1
call fcn.1400964d0
int3