Function at 0x1800025a0
Capabilities:
Create new key via cryptacquirecontext
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x600]
sub rsp, 0x700
mov rax, qword [0x18004e058]
xor rax, rsp
mov qword [rbp + 0x5f0], rax
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor r13d, r13d
mov dword [rsp + 0x40], r13d
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x60]
call fcn.180013310
lea r8d, [r13 + 0x20]
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180009310
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
xor r8d, r8d
test byte [rsp + rcx + 0x70], 6
je 0x1800026b3
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], send
mov byte [rdi], r8b
lea rdx, [0x1800478db]
mov rcx, rdi
call fcn.18000afd0
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.180009000
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rcx, qword [rsp + 0x60]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0x18]
mov dword [rsp + rdx + 0x5c], r8d
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800100a4
nop
jmp 0x18000328a
mov qword [rbp + 0xb8], r13
mov qword [rbp + 0xb0], r13
mov dword [rsp + 0x20], 0xf0000000
mov r9d, 0x18
xor edx, edx
lea rcx, [rbp + 0xb8]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x180002865
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18000270f
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x80], r13
mov ebx, send
mov qword [rbp + 0x88], rbx
mov byte [rbp + 0x70], al
jmp 0x180002796
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov r8d, eax
mov qword [rbp + 0x90], r13
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xa8], send
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x90]
call fcn.18000afd0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp + 0x90]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbp + 0xa0]
movups xmmword [rbp + 0x80], xmm1
mov rbx, qword [rbp + 0x88]
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], send
mov byte [rdi], 0
xor r8d, r8d
lea rdx, [0x1800478db]
mov rcx, rdi
call fcn.18000afd0
nop
cmp rbx, 0x10
jb 0x1800027f4
lea rdx, [rbx + 1]
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800027ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032b7
call fcn.180010c50
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.180009000
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800100a4
nop
jmp 0x18000328a
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x800c
mov rcx, qword [rbp + 0xb8]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x180002a1f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800028ba
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x80], r13
mov ebx, send
mov qword [rbp + 0x88], rbx
mov byte [rbp + 0x70], al
jmp 0x180002941
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov r8d, eax
mov qword [rbp + 0x90], r13
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xa8], send
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x90]
call fcn.18000afd0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp + 0x90]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbp + 0xa0]
movups xmmword [rbp + 0x80], xmm1
mov rbx, qword [rbp + 0x88]
xor edx, edx
mov rcx, qword [rbp + 0xb8]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], send
mov byte [rdi], 0
xor r8d, r8d
lea rdx, [0x1800478db]
mov rcx, rdi
call fcn.18000afd0
nop
cmp rbx, 0x10
jb 0x1800029ae
lea rdx, [rbx + 1]
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800029a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032b7
call fcn.180010c50
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.180009000
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800100a4
nop
jmp 0x18000328a
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0x70], 1
jne 0x180002c04
lea rdx, [rbp + 0x1f0]
lea rcx, [rsp + 0x60]
call fcn.180009550
mov r8d, dword [rsp + 0x68]
test r8d, r8d
jle 0x180002a1f
xor r9d, r9d
lea rdx, [rbp + 0x1f0]
mov rcx, qword [rbp + 0xb0]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x180002a1f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180002a92
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x80], r13
mov ebx, send
mov qword [rbp + 0x88], rbx
mov byte [rbp + 0x70], al
jmp 0x180002b19
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov r8d, eax
mov qword [rbp + 0x90], r13
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xa8], send
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x90]
call fcn.18000afd0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp + 0x90]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbp + 0xa0]
movups xmmword [rbp + 0x80], xmm1
mov rbx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0xb0]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rbp + 0xb8]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], send
mov byte [rdi], 0
xor r8d, r8d
lea rdx, [0x1800478db]
mov rcx, rdi
call fcn.18000afd0
nop
cmp rbx, 0x10
jb 0x180002b93
lea rdx, [rbx + 1]
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002b8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032b7
call fcn.180010c50
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.180009000
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800100a4
nop
jmp 0x18000328a
mov dword [rsp + 0x50], r13d
mov dword [rbp + 0xc0], 4
mov dword [rsp + 0x20], r13d
lea r9, [rbp + 0xc0]
lea r8, [rsp + 0x50]
mov edx, 4
mov rcx, qword [rbp + 0xb0]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x180002dd9
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180002c67
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x80], r13
mov ebx, send
mov qword [rbp + 0x88], rbx
mov byte [rbp + 0x70], al
jmp 0x180002cee
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov r8d, eax
mov qword [rbp + 0x90], r13
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xa8], send
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x90]
call fcn.18000afd0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp + 0x90]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbp + 0xa0]
movups xmmword [rbp + 0x80], xmm1
mov rbx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0xb0]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rbp + 0xb8]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], send
mov byte [rdi], 0
xor r8d, r8d
lea rdx, [0x1800478db]
mov rcx, rdi
call fcn.18000afd0
nop
cmp rbx, 0x10
jb 0x180002d68
lea rdx, [rbx + 1]
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002d62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032b7
call fcn.180010c50
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.180009000
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800100a4
nop
jmp 0x18000328a
xorps xmm0, xmm0
mov ebx, dword [rsp + 0x50]
movdqu xmmword [rbp + 0x70], xmm0
mov r14, r13
mov qword [rbp + 0x80], r13
test rbx, rbx
je 0x180002e56
cmp rbx, 0x1000
jb 0x180002e26
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x1800032bd
call fcn.180010c84
test rax, rax
je 0x1800032b7
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180002e31
mov rcx, rbx
call fcn.180010c84
mov rsi, rax
mov qword [rbp + 0x70], rsi
lea r14, [rsi + rbx]
mov qword [rbp + 0x80], r14
mov r8, rbx
xor edx, edx
mov rcx, rsi
call fcn.180013310
mov r15, r14
mov qword [rbp + 0x78], r14
jmp 0x180002e5e
mov r15, qword [rbp + 0x78]
mov rsi, qword [rbp + 0x70]
mov dword [rsp + 0x20], r13d
lea r9, [rsp + 0x50]
mov r8, rsi
mov edx, 2
mov rcx, qword [rbp + 0xb0]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x180003065
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180002eb4
mov qword [rbp + 0x90], r13
mov qword [rbp + 0xa0], r13
mov ebx, send
mov qword [rbp + 0xa8], rbx
mov byte [rbp + 0x90], al
jmp 0x180002f3e
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov r8d, eax
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0xd8], r13
mov qword [rbp + 0xe0], send
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0xc8]
call fcn.18000afd0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp + 0xc8]
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rbp + 0xd8]
movups xmmword [rbp + 0xa0], xmm1
mov rbx, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xb0]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rbp + 0xb8]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], send
mov byte [rdi], 0
xor r8d, r8d
lea rdx, [0x1800478db]
mov rcx, rdi
call fcn.18000afd0
nop
cmp rbx, 0x10
jb 0x180002fbb
lea rdx, [rbx + 1]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002fb5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032c3
call fcn.180010c50
nop
test rsi, rsi
je 0x180002ff4
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x180002fe8
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032b7
mov rdx, r14
mov rcx, rsi
call fcn.180010c50
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.180009000
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800100a4
nop
jmp 0x18000328a
mov rcx, qword [rbp + 0xb0]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rbp + 0xb8]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0xf0]
call fcn.180013310
lea rcx, [rbp + 0xf0]
call fcn.180007f20
nop
mov r12, rsi
cmp rsi, r15
je 0x18000312c
nop
movzx ebx, byte [r12]
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rax + 4]
mov eax, dword [rbp + rcx + 0x118]
and eax, 0xfffff9ff
bts eax, 0xb
mov dword [rbp + rcx + 0x118], eax
mov edx, 2
lea rcx, [rbp + 0x90]
call fcn.1800103b4
mov rcx, qword [rbp + 0x100]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbp + 0x100]
add rcx, rdx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rax + 4]
mov byte [rbp + rcx + 0x158], gethostbyname
mov edx, ebx
lea rcx, [rbp + 0x100]
call fcn.1800081a0
inc r12
cmp r12, r15
jne 0x1800030b0
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], send
mov byte [rdi], 0
mov dword [rsp + 0x40], 0x80
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov rcx, qword [rbp + 0x178]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x18000318c
mov rax, qword [rbp + 0x148]
mov r8, qword [rax]
test r8, r8
je 0x18000318c
mov rax, qword [rbp + 0x128]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x170]
cmovb r8, qword [rbp + 0x170]
sub r8, rdx
jmp 0x1800031ca
test cl, 4
jne 0x1800031bc
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax]
test rcx, rcx
je 0x1800031bc
mov rax, qword [rbp + 0x120]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x158]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
jmp 0x1800031ca
mov r8, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x90]
test rdx, rdx
je 0x1800031d8
mov rcx, rdi
call fcn.18000afd0
nop
lea rcx, [rbp + 0xf0]
call fcn.1800032d0
nop
test rsi, rsi
je 0x18000321e
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x180003212
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032b7
mov rdx, r14
mov rcx, rsi
call fcn.180010c50
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.180009000
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800100a4
nop
mov rax, rdi
mov rcx, qword [rbp + 0x5f0]
xor rcx, rsp
call fcn.180010c30
mov rbx, qword [rsp + 0x750]
add rsp, 0x700
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180019de8
nop
call fcn.1800012e0
nop
call fcn.180019de8
int3