Function at 0x18000294c
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x308
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x280], 0xfffffffffffffffe
mov qword [rbp + 0x278], rcx
mov rax, qword [0x1800a8100]
movabs rcx, 0x2e63a45b7e8d6451
mov rax, qword [rax + rcx]
mov rsi, qword [rax + 0x18]
movabs rcx, 0x2e63a45b7e8d647d
add rcx, qword [0x1800a8108]
call fcn.18001f520
movabs rax, 0x2e63a45b7e8d6431
mov rdx, qword [0x1800a8110]
add rdx, rax
lea rcx, [rbp + 0x190]
call fcn.180008deb
mov rax, qword [rbp + 0x278]
lea rdx, [rax + 0x58]
lea rdi, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, rdi
call fcn.180002138
cmp qword [rbp + 0x218], 8
jb 0x1800029fa
mov rdi, qword [rbp + 0x200]
mov dword [rsp + 0x20], 1
lea rcx, [rbp - 0x10]
mov rdx, rdi
mov r8d, 1
mov r9d, 0x40
call fcn.18000ead4
mov rax, qword [rbp + 0x218]
cmp rax, 8
jb 0x180002a3b
mov rcx, qword [rbp + 0x200]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov qword [rbp + 0x210], 0
mov qword [rbp + 0x218], 7
mov word [rbp + 0x200], 0
mov rax, qword [rbp + 0x1a8]
cmp rax, 8
jb 0x180002a7b
mov rcx, qword [rbp + 0x190]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [rax + rbp]
add rcx, 0xfffffffffffffff0
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::good_void_const___ptr64]
test al, al
je 0x180004059
lea r8, [rbp - 0x50]
mov qword [r8 + 0x38], 0
mov byte [rsp + 0x20], 1
lea rcx, [rbp + 0x200]
lea rdx, [rbp - 0x10]
xor r9d, r9d
call fcn.1800043ce
cmp byte [rbp + 0x200], 9
jne 0x180002ad9
lea rcx, [rbp + 0x208]
mov dl, 9
call fcn.180007e10
jmp 0x180004059
lea rcx, [rbp + 0x100]
lea rdx, [rbp + 0x200]
call fcn.18000456a
mov r9, qword [rbp + 0x278]
lea rax, [r9 + 0x78]
mov qword [rbp + 0x270], rax
mov dl, byte [r9 + 0x78]
lea rcx, [rbp + 0x108]
mov al, byte [rcx - 8]
mov byte [r9 + 0x78], al
mov byte [rcx - 8], dl
mov rax, qword [r9 + 0x80]
mov r8, qword [rcx]
mov qword [r9 + 0x80], r8
mov qword [rcx], rax
call fcn.180007e10
lea rcx, [rbp + 0x208]
mov dl, byte [rcx - 8]
call fcn.180007e10
test rsi, rsi
je 0x180002ca4
mov dword [rbp + 0x130], 0
mov rax, qword [0x1800a80d8]
movabs rcx, 0xbd7025830cb39c48
mov rax, qword [rax + rcx]
mov rsi, qword [rax + rsi + 0x18]
vxorps xmm0, xmm0, xmm0
lea rdi, [rbp + 0x190]
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
cmp byte [0x1800acdd2], 0
jne 0x180002bdf
mov rdx, qword [0x1800a8108]
movabs rax, 0x2e63a45b7e8d64a8
add rax, rdx
movabs rcx, 0x2e63a45b7e8d64c5
add rcx, rdx
xor edx, edx
lea r8, [0x1800acdb8]
mov r9b, byte [rax + rdx]
xor r9b, byte [rcx + rdx]
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 0x1a
jne 0x180002bc3
mov byte [0x1800acdd2], 1
mov rsi, qword [0x1800a8118]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
lea rcx, [rbp + 0x190]
mov rdx, rsi
mov r8, rax
call fcn.180006940
vmovups ymm0, ymmword [rax]
lea rdx, [rbp + 0x200]
vmovups ymmword [rdx], ymm0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rbp + 0x130]
mov rcx, qword [rbp + 0x270]
vzeroupper
call fcn.1800045da
mov rcx, qword [rbp + 0x278]
mov dword [rcx + 0xc], eax
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x180002c6b
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x210], 0
mov qword [rbp + 0x218], 0xf
mov byte [rbp + 0x200], 0
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0x10
jb 0x180002ca4
mov rcx, qword [rbp + 0x190]
inc rdx
call fcn.18000506c
movabs rcx, 0x2e63a45b7e8d64f3
add rcx, qword [0x1800a8108]
call fcn.18001f570
mov rsi, qword [0x1800a8120]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
vxorps xmm0, xmm0, xmm0
lea rdi, [rbp + 0x190]
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
cmp byte [0x1800acf1f], 0
jne 0x180002df1
mov rax, qword [0x1800a8108]
movabs rcx, 0x2e63a45b7e8d6852
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d6869
xor cl, byte [rax + rdx]
mov byte [0x1800acf18], cl
movabs rcx, 0x2e63a45b7e8d6853
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d686a
xor cl, byte [rax + rdx]
mov byte [0x1800acf19], cl
movabs rcx, 0x2e63a45b7e8d6854
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d686b
xor cl, byte [rax + rdx]
mov byte [0x1800acf1a], cl
movabs rcx, 0x2e63a45b7e8d6855
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d686c
xor cl, byte [rax + rdx]
mov byte [0x1800acf1b], cl
movabs rcx, 0x2e63a45b7e8d6856
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d686d
xor cl, byte [rax + rdx]
mov byte [0x1800acf1c], cl
movabs rcx, 0x2e63a45b7e8d6857
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d686e
xor cl, byte [rax + rdx]
mov byte [0x1800acf1d], cl
movabs rcx, 0x2e63a45b7e8d6858
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d686f
xor cl, byte [rax + rdx]
mov byte [0x1800acf1e], cl
mov byte [0x1800acf1f], 1
mov r9, qword [0x1800a8128]
movabs rax, 0x2e63a45b7e8d6431
add r9, rax
lea rsi, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, qword [rbp + 0x270]
mov rdx, rsi
call fcn.1800047b6
cmp qword [rbp + 0x218], 0x10
jb 0x180002e33
mov rsi, qword [rbp + 0x200]
lea rdi, [rbp + 0x130]
mov rcx, rdi
mov rdx, rsi
call fcn.18007c052
mov al, byte [rdi]
mov rcx, qword [rbp + 0x278]
mov byte [rcx], al
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x180002e6c
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x210], 0
mov qword [rbp + 0x218], 0xf
mov byte [rbp + 0x200], 0
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0x10
jb 0x180002ea5
mov rcx, qword [rbp + 0x190]
inc rdx
call fcn.18000506c
movabs rcx, 0x2e63a45b7e8d651d
add rcx, qword [0x1800a8108]
call fcn.18001f590
mov rsi, qword [0x1800a8130]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
vxorps xmm0, xmm0, xmm0
lea rdi, [rbp + 0x190]
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
cmp byte [0x1800acf28], 0
jne 0x180003012
mov rax, qword [0x1800a8108]
movabs rcx, 0x2e63a45b7e8d688b
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d689d
xor cl, byte [rax + rdx]
mov byte [0x1800acf20], cl
movabs rcx, 0x2e63a45b7e8d688c
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d689e
xor cl, byte [rax + rdx]
mov byte [0x1800acf21], cl
movabs rcx, 0x2e63a45b7e8d688d
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d689f
xor cl, byte [rax + rdx]
mov byte [0x1800acf22], cl
movabs rcx, 0x2e63a45b7e8d688e
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68a0
xor cl, byte [rax + rdx]
mov byte [0x1800acf23], cl
movabs rcx, 0x2e63a45b7e8d688f
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68a1
xor cl, byte [rax + rdx]
mov byte [0x1800acf24], cl
movabs rcx, 0x2e63a45b7e8d6890
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68a2
xor cl, byte [rax + rdx]
mov byte [0x1800acf25], cl
movabs rcx, 0x2e63a45b7e8d6891
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68a3
xor cl, byte [rax + rdx]
mov byte [0x1800acf26], cl
movabs rcx, 0x2e63a45b7e8d6892
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68a4
xor cl, byte [rax + rdx]
mov byte [0x1800acf27], cl
mov byte [0x1800acf28], 1
mov r9, qword [0x1800a8138]
movabs rax, 0x2e63a45b7e8d6431
add r9, rax
lea rsi, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, qword [rbp + 0x270]
mov rdx, rsi
call fcn.1800047b6
cmp qword [rbp + 0x218], 0x10
jb 0x180003054
mov rsi, qword [rbp + 0x200]
lea rdi, [rbp + 0x130]
mov rcx, rdi
mov rdx, rsi
call fcn.18007c052
mov al, byte [rdi]
mov rcx, qword [rbp + 0x278]
mov byte [rcx + 1], al
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x18000308e
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x210], 0
mov qword [rbp + 0x218], 0xf
mov byte [rbp + 0x200], 0
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0x10
jb 0x1800030c7
mov rcx, qword [rbp + 0x190]
inc rdx
call fcn.18000506c
movabs rcx, 0x2e63a45b7e8d6558
add rcx, qword [0x1800a8108]
call fcn.18001f5c0
mov rsi, qword [0x1800a8140]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
vxorps xmm0, xmm0, xmm0
lea rdi, [rbp + 0x190]
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
cmp byte [0x1800acf33], 0
jne 0x180003274
mov rax, qword [0x1800a8108]
movabs rcx, 0x2e63a45b7e8d68c0
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68d6
xor cl, byte [rax + rdx]
mov byte [0x1800acf29], cl
movabs rcx, 0x2e63a45b7e8d68c1
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68d7
xor cl, byte [rax + rdx]
mov byte [0x1800acf2a], cl
movabs rcx, 0x2e63a45b7e8d68c2
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68d8
xor cl, byte [rax + rdx]
mov byte [0x1800acf2b], cl
movabs rcx, 0x2e63a45b7e8d68c3
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68d9
xor cl, byte [rax + rdx]
mov byte [0x1800acf2c], cl
movabs rcx, 0x2e63a45b7e8d68c4
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68da
xor cl, byte [rax + rdx]
mov byte [0x1800acf2d], cl
movabs rcx, 0x2e63a45b7e8d68c5
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68db
xor cl, byte [rax + rdx]
mov byte [0x1800acf2e], cl
movabs rcx, 0x2e63a45b7e8d68c6
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68dc
xor cl, byte [rax + rdx]
mov byte [0x1800acf2f], cl
movabs rcx, 0x2e63a45b7e8d68c7
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68dd
xor cl, byte [rax + rdx]
mov byte [0x1800acf30], cl
movabs rcx, 0x2e63a45b7e8d68c8
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68de
xor cl, byte [rax + rdx]
mov byte [0x1800acf31], cl
movabs rcx, 0x2e63a45b7e8d68c9
mov cl, byte [rax + rcx]
movabs rdx, 0x2e63a45b7e8d68df
xor cl, byte [rax + rdx]
mov byte [0x1800acf32], cl
mov byte [0x1800acf33], 1
mov r9, qword [0x1800a8148]
movabs rax, 0x2e63a45b7e8d6431
add r9, rax
lea rsi, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, qword [rbp + 0x270]
mov rdx, rsi
call fcn.1800047b6
cmp qword [rbp + 0x218], 0x10
jb 0x1800032b6
mov rsi, qword [rbp + 0x200]
lea rdi, [rbp + 0x130]
mov rcx, rdi
mov rdx, rsi
call fcn.18007c052
mov al, byte [rdi]
mov rcx, qword [rbp + 0x278]
mov byte [rcx + 2], al
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x1800032f0
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x210], 0
mov qword [rbp + 0x218], 0xf
mov byte [rbp + 0x200], 0
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0x10
jb 0x180003329
mov rcx, qword [rbp + 0x190]
inc rdx
call fcn.18000506c
mov byte [rbp + 0x190], 1
movabs rcx, 0x2e63a45b7e8d659e
add rcx, qword [0x1800a8108]
call fcn.18001f5f0
mov rsi, qword [0x1800a8150]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
vxorps xmm0, xmm0, xmm0
lea rdi, [rbp + 0x200]
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
lea rdx, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, qword [rbp + 0x270]
call fcn.180004872
mov rcx, qword [rbp + 0x278]
mov byte [rcx + 8], al
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x1800033c2
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
mov byte [rbp + 0x190], 0
movabs rcx, 0x2e63a45b7e8d65d2
add rcx, qword [0x1800a8108]
call fcn.18001f620
mov rsi, qword [0x1800a8158]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
lea rdx, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, qword [rbp + 0x270]
call fcn.180004872
mov rcx, qword [rbp + 0x278]
mov byte [rcx + 3], al
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x180003454
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
mov byte [rbp + 0x190], 1
movabs rcx, 0x2e63a45b7e8d660c
add rcx, qword [0x1800a8108]
call fcn.18001f670
mov rsi, qword [0x1800a8160]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
lea rdx, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, qword [rbp + 0x270]
call fcn.180004872
mov rcx, qword [rbp + 0x278]
mov byte [rcx + 9], al
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x1800034e6
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
mov dword [rbp + 0x190], 0x3f800000
movabs rcx, 0x2e63a45b7e8d6642
add rcx, qword [0x1800a8108]
call fcn.18001f6a0
mov rsi, qword [0x1800a8168]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
lea rdx, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, qword [rbp + 0x270]
call fcn.180004a4e
mov rax, qword [rbp + 0x278]
vmovss dword [rax + 4], xmm0
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x18000357d
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
mov dword [rbp + 0x190], 0
cmp byte [0x1800ace7c], 0
jne 0x1800035d6
mov rdx, qword [0x1800a8108]
movabs rax, 0x2e63a45b7e8d667b
add rax, rdx
movabs rcx, 0x2e63a45b7e8d6697
add rcx, rdx
xor edx, edx
lea r8, [0x1800ace63]
mov r9b, byte [rax + rdx]
xor r9b, byte [rcx + rdx]
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 0x19
jne 0x1800035ba
mov byte [0x1800ace7c], 1
mov rsi, qword [0x1800a8170]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
vxorps xmm0, xmm0, xmm0
lea rdi, [rbp + 0x200]
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
lea rdx, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, qword [rbp + 0x270]
call fcn.1800045da
mov rcx, qword [rbp + 0x278]
mov dword [rcx + 0x18], eax
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x180003652
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
mov dword [rbp + 0x190], 0xffffffff
movabs rcx, 0x2e63a45b7e8d66c8
add rcx, qword [0x1800a8108]
call fcn.18001f6e0
mov rsi, qword [0x1800a8178]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
lea rdx, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, qword [rbp + 0x270]
call fcn.1800045da
mov rcx, qword [rbp + 0x278]
mov dword [rcx + 0x1c], eax
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x1800036e7
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
mov dword [rbp + 0x190], 0xffffffff
cmp byte [0x1800aceb3], 0
jne 0x180003761
mov rdx, qword [0x1800a8108]
movabs rax, 0x2e63a45b7e8d6728
add rax, rdx
movabs rcx, 0x2e63a45b7e8d6714
add rcx, rdx
xor edx, edx
movabs r8, 0xcccccccccccccccd
lea r9, [0x1800ace99]
mulx r10, r10, r8
shr r10, 2
and r10, 0xfffffffffffffffc
lea r10, [r10 + r10*4]
mov r11, rcx
sub r11, r10
mov r10b, byte [r11 + rdx]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x1a
jne 0x18000372e
mov byte [0x1800aceb3], 1
mov rsi, qword [0x1800a8180]
movabs rax, 0x2e63a45b7e8d6431
add rsi, rax
vxorps xmm0, xmm0, xmm0
lea rdi, [rbp + 0x200]
vmovups ymmword [rdi], ymm0
mov rcx, rsi
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rdi
mov rdx, rsi
mov r8, rax
call fcn.1800058e4
lea rdx, [rbp + 0x200]
lea r8, [rbp + 0x190]
mov rcx, qword [rbp + 0x270]
call fcn.1800045da
mov rcx, qword [rbp + 0x278]
mov dword [rcx + 0x14], eax
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x1800037dd
mov rcx, qword [rbp + 0x200]
inc rdx
call fcn.18000506c
cmp byte [0x1800aced2], 0
jne 0x180003846
mov rdx, qword [0x1800a8108]
movabs rax, 0x2e63a45b7e8d6779
add rax, rdx
movabs rcx, 0x2e63a45b7e8d675f
add rcx, rdx
xor edx, edx
movabs r8, 0x4ec4ec4ec4ec4ec5
lea r9, [0x1800aceb4]
mulx r10, r10, r8
shr r10, 3
imul r10, r10, 0xffffffffffffffe6
add r10, rcx
mov r10b, byte [rdx + r10]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x1e
jne 0x18000381a
mov byte [0x1800aced2], 1
mov r8, qword [0x1800a8188]
movabs rax, 0x2e63a45b7e8d6431
add r8, rax
lea rdx, [rbp + 0x130]
mov rcx, qword [rbp + 0x270]
call fcn.180004c2c
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x200], rax
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x208], xmm0
movabs rcx, 0x8000000000000000
mov qword [rbp + 0x218], rcx
movzx eax, byte [rax]
cmp eax, 2
je 0x1800038bf
cmp eax, 1
jne 0x1800038da
mov rax, qword [rbp + 0x278]
mov rax, qword [rax + 0x80]
mov rax, qword [rax]
mov qword [rbp + 0x208], rax
jmp 0x1800038e5
mov rax, qword [rbp + 0x278]
mov rax, qword [rax + 0x80]
mov rax, qword [rax + 8]
mov qword [rbp + 0x210], rax
jmp 0x1800038e5
mov qword [rbp + 0x218], 1
lea rcx, [rbp + 0x130]
lea rdx, [rbp + 0x200]
call fcn.18001ecfa
test al, al
jne 0x180003aab
lea rcx, [rbp + 0x130]
call fcn.18001ee16
lea rsi, [rbp + 0x150]
mov qword [rsi], rax
lea r14, [rbp + 0x200]
mov rcx, rsi
mov rdx, r14
call fcn.180004c9a
lea rdx, [rbp + 0x190]
mov rcx, rsi
call fcn.180004d3a
mov rax, qword [rbp + 0x278]
lea r12, [rax + 0x28]
lea r13, [rbp + 0x110]
lea rbx, [rbp + 0x180]
mov rcx, r14
lea rdx, [rbp + 0x190]
call fcn.18001ecfa
test al, al
jne 0x180003a01
mov rcx, r14
call fcn.18001ee16
mov rcx, rax
mov rdx, r13
call fcn.18001f392
mov r15d, dword [rbp + 0x110]
mov rcx, r14
call fcn.180004dc8
mov rdi, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rsi, rax
cmp qword [rdi + 0x18], 0x10
jb 0x18000399f
mov rdi, qword [rdi]
mov dword [rsi], 0
mov rcx, rdi
mov rdx, r13
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoull]
cmp rdi, qword [rbp + 0x110]
je 0x1800040b3
cmp dword [rsi], 0x22
je 0x180004134
mov qword [rbp + 0x180], rax
mov rcx, r12
mov rdx, r13
mov r8, rbx
call fcn.18001f23c
mov rax, qword [rbp + 0x110]
mov dword [rax + 0x28], r15d
mov rcx, r14
call fcn.180018da4
inc qword [rbp + 0x220]
jmp 0x180003950
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 0x10
jb 0x180003a1d
mov rcx, qword [rbp + 0x1e0]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x1f0], 0
mov qword [rbp + 0x1f8], 0xf
mov byte [rbp + 0x1e0], 0
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x180003a56
mov rcx, qword [rbp + 0x1c0]
inc rdx
call fcn.18000506c
mov rdx, qword [rbp + 0x268]
cmp rdx, 0x10
jb 0x180003a72
mov rcx, qword [rbp + 0x250]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x260], 0
mov qword [rbp + 0x268], 0xf
mov byte [rbp + 0x250], 0
mov rdx, qword [rbp + 0x248]
cmp rdx, 0x10
jb 0x180003aab
mov rcx, qword [rbp + 0x230]
inc rdx
call fcn.18000506c
cmp byte [0x1800acef2], 0
jne 0x180003b14
mov rdx, qword [0x1800a8108]
movabs rax, 0x2e63a45b7e8d67c6
add rax, rdx
movabs rcx, 0x2e63a45b7e8d67a8
add rcx, rdx
xor edx, edx
movabs r8, 0x8888888888888889
lea r9, [0x1800aced3]
mulx r10, r10, r8
shr r10, 4
imul r10, r10, 0xffffffffffffffe2
add r10, rcx
mov r10b, byte [rdx + r10]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x1f
jne 0x180003ae8
mov byte [0x1800acef2], 1
mov r8, qword [0x1800a8190]
movabs rax, 0x2e63a45b7e8d6431
add r8, rax
lea rdx, [rbp + 0x110]
mov rcx, qword [rbp + 0x270]
call fcn.180004c2c
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x200], rax
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x208], xmm0
movabs rcx, 0x8000000000000000
mov qword [rbp + 0x218], rcx
movzx eax, byte [rax]
cmp eax, 2
je 0x180003b8d
cmp eax, 1
jne 0x180003ba8
mov rax, qword [rbp + 0x278]
mov rax, qword [rax + 0x80]
mov rax, qword [rax]
mov qword [rbp + 0x208], rax
jmp 0x180003bb3
mov rax, qword [rbp + 0x278]
mov rax, qword [rax + 0x80]
mov rax, qword [rax + 8]
mov qword [rbp + 0x210], rax
jmp 0x180003bb3
mov qword [rbp + 0x218], 1
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x200]
call fcn.18001ecfa
test al, al
jne 0x180003d79
lea rcx, [rbp + 0x110]
call fcn.18001ee16
lea rsi, [rbp + 0x180]
mov qword [rsi], rax
lea r14, [rbp + 0x200]
mov rcx, rsi
mov rdx, r14
call fcn.180004c9a
lea rdx, [rbp + 0x190]
mov rcx, rsi
call fcn.180004d3a
mov rax, qword [rbp + 0x278]
lea r12, [rax + 0x38]
lea r13, [rbp + 0x150]
lea rbx, [rbp + 0x178]
mov rcx, r14
lea rdx, [rbp + 0x190]
call fcn.18001ecfa
test al, al
jne 0x180003ccf
mov rcx, r14
call fcn.18001ee16
mov rcx, rax
mov rdx, r13
call fcn.18001f392
mov r15d, dword [rbp + 0x150]
mov rcx, r14
call fcn.180004dc8
mov rdi, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rsi, rax
cmp qword [rdi + 0x18], 0x10
jb 0x180003c6d
mov rdi, qword [rdi]
mov dword [rsi], 0
mov rcx, rdi
mov rdx, r13
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoull]
cmp rdi, qword [rbp + 0x150]
je 0x1800041b0
cmp dword [rsi], 0x22
je 0x180004231
mov qword [rbp + 0x178], rax
mov rcx, r12
mov rdx, r13
mov r8, rbx
call fcn.18001f23c
mov rax, qword [rbp + 0x150]
mov dword [rax + 0x28], r15d
mov rcx, r14
call fcn.180018da4
inc qword [rbp + 0x220]
jmp 0x180003c1e
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 0x10
jb 0x180003ceb
mov rcx, qword [rbp + 0x1e0]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x1f0], 0
mov qword [rbp + 0x1f8], 0xf
mov byte [rbp + 0x1e0], 0
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x180003d24
mov rcx, qword [rbp + 0x1c0]
inc rdx
call fcn.18000506c
mov rdx, qword [rbp + 0x268]
cmp rdx, 0x10
jb 0x180003d40
mov rcx, qword [rbp + 0x250]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x260], 0
mov qword [rbp + 0x268], 0xf
mov byte [rbp + 0x250], 0
mov rdx, qword [rbp + 0x248]
cmp rdx, 0x10
jb 0x180003d79
mov rcx, qword [rbp + 0x230]
inc rdx
call fcn.18000506c
cmp byte [0x1800acf17], 0
jne 0x180003de9
mov rdx, qword [0x1800a8108]
movabs rax, 0x2e63a45b7e8d6815
add rax, rdx
movabs rcx, 0x2e63a45b7e8d6803
add rcx, rdx
xor edx, edx
movabs r8, 0xe38e38e38e38e38f
lea r9, [0x1800acef3]
mulx r10, r10, r8
shr r10, 3
and r10, 0xfffffffffffffffe
lea r10, [r10 + r10*8]
mov r11, rcx
sub r11, r10
mov r10b, byte [r11 + rdx]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x24
jne 0x180003db6
mov byte [0x1800acf17], 1
movabs r8, 0x2e63a45b7e8d6431
add r8, qword [0x1800a8198]
lea rdx, [rbp + 0x150]
mov rcx, qword [rbp + 0x270]
call fcn.180004c2c
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x200], rax
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x208], xmm0
movabs rcx, 0x8000000000000000
mov qword [rbp + 0x218], rcx
movzx eax, byte [rax]
cmp eax, 2
je 0x180003e5f
cmp eax, 1
jne 0x180003e7a
mov rax, qword [rbp + 0x278]
mov rax, qword [rax + 0x80]
mov rax, qword [rax]
mov qword [rbp + 0x208], rax
jmp 0x180003e85
mov rax, qword [rbp + 0x278]
mov rax, qword [rax + 0x80]
mov rax, qword [rax + 8]
mov qword [rbp + 0x210], rax
jmp 0x180003e85
mov qword [rbp + 0x218], 1
lea rcx, [rbp + 0x150]
lea rdx, [rbp + 0x200]
call fcn.18001ecfa
test al, al
jne 0x180004050
lea rcx, [rbp + 0x150]
call fcn.18001ee16
lea rsi, [rbp + 0x178]
mov qword [rsi], rax
lea rdi, [rbp + 0x200]
mov rcx, rsi
mov rdx, rdi
call fcn.180004c9a
lea rdx, [rbp + 0x190]
mov rcx, rsi
call fcn.180004d3a
add qword [rbp + 0x278], 0x48
lea r14, [rbp + 0x180]
mov r13, qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoull]
lea r15, [rbp + 0x170]
mov rcx, rdi
lea rdx, [rbp + 0x190]
call fcn.18001ecfa
test al, al
jne 0x180003fa6
mov rcx, rdi
call fcn.18001ee16
mov rcx, rax
mov rdx, r14
call fcn.18001f392
mov ebx, dword [rbp + 0x180]
mov rcx, rdi
call fcn.180004dc8
mov r12, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rsi, rax
cmp qword [r12 + 0x18], 0x10
jb 0x180003f44
mov r12, qword [r12]
mov dword [rsi], 0
mov rcx, r12
mov rdx, r14
mov r8d, 0xa
call r13
cmp r12, qword [rbp + 0x180]
je 0x1800042ad
cmp dword [rsi], 0x22
je 0x18000432e
mov qword [rbp + 0x170], rax
mov rcx, qword [rbp + 0x278]
mov rdx, r14
mov r8, r15
call fcn.18001f23c
mov rax, qword [rbp + 0x180]
mov dword [rax + 0x28], ebx
mov rcx, rdi
call fcn.180018da4
inc qword [rbp + 0x220]
jmp 0x180003ef4
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 0x10
jb 0x180003fc2
mov rcx, qword [rbp + 0x1e0]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x1f0], 0
mov qword [rbp + 0x1f8], 0xf
mov byte [rbp + 0x1e0], 0
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x180003ffb
mov rcx, qword [rbp + 0x1c0]
inc rdx
call fcn.18000506c
mov rdx, qword [rbp + 0x268]
cmp rdx, 0x10
jb 0x180004017
mov rcx, qword [rbp + 0x250]
inc rdx
call fcn.18000506c
mov qword [rbp + 0x260], 0
mov qword [rbp + 0x268], 0xf
mov byte [rbp + 0x250], 0
mov rdx, qword [rbp + 0x248]
cmp rdx, 0x10
jb 0x180004050
mov rcx, qword [rbp + 0x230]
inc rdx
call fcn.18000506c
lea rcx, [rbp - 0x10]
call fcn.180004e1c
lea rsi, [rbp + 0xa0]
mov rax, qword [rsi - 0xb0]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax - 0x10], rcx
mov rax, qword [rsi - 0xb0]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [rbp + rax - 0x14], ecx
lea rcx, [rbp]
call fcn.180006b22
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::ios_base::destructor_void____ptr64]
nop
add rsp, 0x308
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp byte [0x1800acfce], 0
jne 0x180004128
mov rdx, qword [0x1800a8200]
movabs rax, 0xbce2600f39879aae
add rax, rdx
movabs rcx, 0xbce2600f39879a97
add rcx, rdx
xor edx, edx
movabs r8, 0x642c8590b21642c9
lea r9, [0x1800acfb6]
mulx r10, r10, r8
mov r11, rdx
sub r11, r10
shr r11, 1
add r11, r10
shr r11, 4
imul r10, r11, 0xffffffffffffffe9
add r10, rcx
mov r10b, byte [rdx + r10]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x18
jne 0x1800040f0
mov byte [0x1800acfce], 1
lea rcx, [0x1800acfb6]
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_
cmp byte [0x1800acfec], 0
jne 0x1800041a4
mov rdx, qword [0x1800a8200]
movabs rax, 0xbce2600f39879aea
add rax, rdx
movabs rcx, 0xbce2600f39879ad8
add rcx, rdx
xor edx, edx
movabs r8, 0xe38e38e38e38e38f
lea r9, [0x1800acfcf]
mulx r10, r10, r8
shr r10, 3
and r10, 0xfffffffffffffffe
lea r10, [r10 + r10*8]
mov r11, rcx
sub r11, r10
mov r10b, byte [r11 + rdx]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x1d
jne 0x180004171
mov byte [0x1800acfec], 1
lea rcx, [0x1800acfcf]
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_
cmp byte [0x1800acfce], 0
jne 0x180004225
mov rdx, qword [0x1800a8200]
movabs rax, 0xbce2600f39879aae
add rax, rdx
movabs rcx, 0xbce2600f39879a97
add rcx, rdx
xor edx, edx
movabs r8, 0x642c8590b21642c9
lea r9, [0x1800acfb6]
mulx r10, r10, r8
mov r11, rdx
sub r11, r10
shr r11, 1
add r11, r10
shr r11, 4
imul r10, r11, 0xffffffffffffffe9
add r10, rcx
mov r10b, byte [rdx + r10]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x18
jne 0x1800041ed
mov byte [0x1800acfce], 1
lea rcx, [0x1800acfb6]
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_
cmp byte [0x1800acfec], 0
jne 0x1800042a1
mov rdx, qword [0x1800a8200]
movabs rax, 0xbce2600f39879aea
add rax, rdx
movabs rcx, 0xbce2600f39879ad8
add rcx, rdx
xor edx, edx
movabs r8, 0xe38e38e38e38e38f
lea r9, [0x1800acfcf]
mulx r10, r10, r8
shr r10, 3
and r10, 0xfffffffffffffffe
lea r10, [r10 + r10*8]
mov r11, rcx
sub r11, r10
mov r10b, byte [r11 + rdx]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x1d
jne 0x18000426e
mov byte [0x1800acfec], 1
lea rcx, [0x1800acfcf]
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_
cmp byte [0x1800acfce], 0
jne 0x180004322
mov rdx, qword [0x1800a8200]
movabs rax, 0xbce2600f39879aae
add rax, rdx
movabs rcx, 0xbce2600f39879a97
add rcx, rdx
xor edx, edx
movabs r8, 0x642c8590b21642c9
lea r9, [0x1800acfb6]
mulx r10, r10, r8
mov r11, rdx
sub r11, r10
shr r11, 1
add r11, r10
shr r11, 4
imul r10, r11, 0xffffffffffffffe9
add r10, rcx
mov r10b, byte [rdx + r10]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x18
jne 0x1800042ea
mov byte [0x1800acfce], 1
lea rcx, [0x1800acfb6]
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_
cmp byte [0x1800acfec], 0
jne 0x18000439e
mov rdx, qword [0x1800a8200]
movabs rax, 0xbce2600f39879aea
add rax, rdx
movabs rcx, 0xbce2600f39879ad8
add rcx, rdx
xor edx, edx
movabs r8, 0xe38e38e38e38e38f
lea r9, [0x1800acfcf]
mulx r10, r10, r8
shr r10, 3
and r10, 0xfffffffffffffffe
lea r10, [r10 + r10*8]
mov r11, rcx
sub r11, r10
mov r10b, byte [r11 + rdx]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x1d
jne 0x18000436b
mov byte [0x1800acfec], 1
lea rcx, [0x1800acfcf]
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_
int3