Function at 0x14004dec0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x198]
sub rsp, 0x280
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov rax, qword [0x140068040]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov rsi, rcx
xor r14d, r14d
mov dword [rbp + 0x99], r14d
mov word [rbp + 0x9d], r14w
mov byte [rbp + 0x9f], r14b
mov word [rbp + 0xc6], r14w
mov dword [rbp + 0xcc], r14d
mov qword [rbp + 0x80], r14
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x90], r14
mov byte [rbp + 0x98], r14b
mov qword [rbp + 0xa8], r14
lea ecx, [r14 + 0x48]
call fcn.140054b20
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xb8], r14
lea ecx, [r14 + 0x28]
call fcn.140054b20
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0xb0], rax
mov dword [rbp + 0xc0], 0x1000000
mov word [rbp + 0xc4], r14w
mov dword [rbp + 0xc8], r14d
movsd xmm0, qword [str.mJ_I]
movzx eax, byte [0x14005e9f0]
movsd qword [rbp + 0x58], xmm0
cmp qword [rbp + 0x80], r14
jne 0x14004dfc0
mov byte [rbp + 0xc0], 1
mov byte [rbp + 0x58], 0x55
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor byte [rbp + 0x5c], 0x3c
xor byte [rbp + 0x5d], 0x3d
xor byte [rbp + 0x5e], 0x3e
xor byte [rbp + 0x5f], 0x3f
xor al, 0x40
mov byte [rbp + 0x60], al
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x80]
call fcn.140050e90
test eax, eax
jns 0x14004e0d4
movsd xmm0, qword [str.mJ_I]
movsd qword [rbp + 0x58], xmm0
movzx eax, byte [0x14005e9f0]
mov byte [rbp + 0x58], 0x55
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor byte [rbp + 0x5c], 0x3c
xor byte [rbp + 0x5d], 0x3d
xor byte [rbp + 0x5e], 0x3e
xor byte [rbp + 0x5f], 0x3f
xor al, 0x40
mov byte [rbp + 0x60], al
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.140050930
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x4c], edx
lea rcx, [rsp + 0x58]
call fcn.140050850
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp - 8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
movsd xmm0, qword [str.mJ_I]
movsd qword [rbp + 0x58], xmm0
movzx eax, byte [0x14005e9f0]
mov byte [rbp + 0x58], 0x55
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor byte [rbp + 0x5c], 0x3c
xor byte [rbp + 0x5d], 0x3d
xor byte [rbp + 0x5e], 0x3e
xor byte [rbp + 0x5f], 0x3f
xor al, 0x40
mov byte [rbp + 0x60], al
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x80]
call fcn.140050e90
movd xmm4, dword [rsi]
cvtdq2pd xmm4, xmm4
mov eax, dword [str.yPW_]
mov dword [rsp + 0x40], eax
mov edi, dword [0x140068088]
cmp byte [0x14005e9d3], r14b
je 0x14004e1c0
cmp edi, 2
jl 0x14004e17c
movdqa xmm3, xmmword [0x14005ec70]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14005ed50]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14005ed50]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x14005ecb0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14005ed20]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
jmp 0x14004e1c0
lea r9, [rsp + 0x40]
mov r8d, r14d
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x14004e190
movsd xmm0, qword [str.sCeTP_3A]
movsd qword [rbp + 0x58], xmm0
movzx eax, word [0x14005e930]
mov word [rbp + 0x60], ax
cmp byte [0x14005e931], r14b
je 0x14004e209
mov byte [rbp + 0x58], 0x4b
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor byte [rbp + 0x5c], 0x3c
xor byte [rbp + 0x5d], 0x3d
xor byte [rbp + 0x5e], 0x3e
xor byte [rbp + 0x5f], 0x3f
xor byte [rbp + 0x60], 0x40
xor byte [rbp + 0x61], 0x41
movaps xmm2, xmm4
movq r8, xmm4
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x14004e235
inc r8
cmp r8, 0x40
ja 0x14004e25a
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x80]
call fcn.140051670
movd xmm2, dword [rsi + 4]
cvtdq2pd xmm2, xmm2
movsd xmm0, qword [str.pP]
movsd qword [rbp + 0x58], xmm0
movzx eax, word [0x14005e8e0]
mov word [rbp + 0x60], ax
cmp byte [0x14005e8e1], r14b
je 0x14004e2d2
mov byte [rbp + 0x58], 0x48
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor byte [rbp + 0x5c], 0x3c
xor byte [rbp + 0x5d], 0x3d
xor byte [rbp + 0x5e], 0x3e
xor byte [rbp + 0x5f], 0x3f
xor byte [rbp + 0x60], 0x40
xor byte [rbp + 0x61], 0x41
movsd xmm0, qword [str.sCeTP_3A]
movsd qword [rsp + 0x40], xmm0
movzx eax, word [0x14005e930]
mov word [rsp + 0x48], ax
cmp byte [0x14005e931], r14b
je 0x14004e327
mov byte [rsp + 0x40], 0x4b
xor byte [rsp + 0x41], 0x39
xor byte [rsp + 0x42], 0x3a
xor byte [rsp + 0x43], 0x3b
xor byte [rsp + 0x44], 0x3c
xor byte [rsp + 0x45], 0x3d
xor byte [rsp + 0x46], 0x3e
xor byte [rsp + 0x47], 0x3f
xor byte [rsp + 0x48], 0x40
xor byte [rsp + 0x49], 0x41
movq r8, xmm2
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x14004e350
inc r8
cmp r8, 0x40
ja 0x14004e375
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rbp + 0x58]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.140051670
movss xmm2, dword [rsi + 8]
cvtps2pd xmm2, xmm2
movsd xmm0, qword [str.kMHRZJW_]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x140058148]
mov byte [rsp + 0x40], 0x53
xor byte [rsp + 0x41], 0x39
xor byte [rsp + 0x42], 0x3a
xor byte [rsp + 0x43], 0x3b
xor byte [rsp + 0x44], 0x3c
xor byte [rsp + 0x45], 0x3d
xor byte [rsp + 0x46], 0x3e
xor byte [rsp + 0x47], 0x3f
xor al, 0x40
mov byte [rsp + 0x48], al
mov eax, dword [str.yPWYSI_]
mov dword [rbp + 0x58], eax
movzx ecx, word [0x14005e900]
mov word [rbp + 0x5c], cx
movzx eax, byte [0x14005e902]
mov byte [rbp + 0x58], 0x41
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor cl, 0x3c
mov byte [rbp + 0x5c], cl
xor byte [rbp + 0x5d], 0x3d
xor al, 0x3e
mov byte [rbp + 0x5e], al
movq r8, xmm2
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x14004e442
inc r8
cmp r8, 0x40
ja 0x14004e467
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x80]
call fcn.140051670
movd xmm4, dword [rsi + 0xc]
cvtdq2pd xmm4, xmm4
mov eax, dword [str.vl_e]
mov dword [rsp + 0x40], eax
cmp byte [0x1400581d3], r14b
je 0x14004e570
cmp edi, 2
jl 0x14004e530
movdqa xmm3, xmmword [0x14005ec70]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14005ed50]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14005ed50]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x14005ecb0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14005ed20]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
jmp 0x14004e570
lea r9, [rsp + 0x40]
mov r8d, r14d
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x14004e540
mov eax, dword [str.yPWYSI_]
mov dword [rbp + 0x58], eax
movzx eax, word [0x14005e900]
mov word [rbp + 0x5c], ax
movzx eax, byte [0x14005e902]
mov byte [rbp + 0x58], 0x41
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor byte [rbp + 0x5c], 0x3c
xor byte [rbp + 0x5d], 0x3d
xor al, 0x3e
mov byte [rbp + 0x5e], al
movaps xmm2, xmm4
movq r8, xmm4
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x14004e5d0
inc r8
cmp r8, 0x40
ja 0x14004e5f5
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x80]
call fcn.140051670
movd xmm2, dword [rsi + 0x10]
cvtdq2pd xmm2, xmm2
movsd xmm0, qword [0x140058130]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x140058138]
mov byte [rsp + 0x40], 0x4f
xor byte [rsp + 0x41], 0x39
xor byte [rsp + 0x42], 0x3a
xor byte [rsp + 0x43], 0x3b
xor byte [rsp + 0x44], 0x3c
xor byte [rsp + 0x45], 0x3d
xor byte [rsp + 0x46], 0x3e
xor byte [rsp + 0x47], 0x3f
xor al, 0x40
mov byte [rsp + 0x48], al
mov eax, dword [str.yPWYSI_]
mov dword [rbp + 0x58], eax
movzx ecx, word [0x14005e900]
mov word [rbp + 0x5c], cx
movzx eax, byte [0x14005e902]
mov byte [rbp + 0x58], 0x41
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor cl, 0x3c
mov byte [rbp + 0x5c], cl
xor byte [rbp + 0x5d], 0x3d
xor al, 0x3e
mov byte [rbp + 0x5e], al
movq r8, xmm2
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x14004e6c3
inc r8
cmp r8, 0x40
ja 0x14004e6e8
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x80]
call fcn.140051670
movd xmm2, dword [rsi + 0x14]
cvtdq2pd xmm2, xmm2
movsd xmm0, qword [0x14005cb48]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x14005cb50]
mov byte [rsp + 0x40], 0x4f
xor byte [rsp + 0x41], 0x39
xor byte [rsp + 0x42], 0x3a
xor byte [rsp + 0x43], 0x3b
xor byte [rsp + 0x44], 0x3c
xor byte [rsp + 0x45], 0x3d
xor byte [rsp + 0x46], 0x3e
xor byte [rsp + 0x47], 0x3f
xor al, 0x40
mov byte [rsp + 0x48], al
mov eax, dword [str.yPWYSI_]
mov dword [rbp + 0x58], eax
movzx ecx, word [0x14005e900]
mov word [rbp + 0x5c], cx
movzx eax, byte [0x14005e902]
mov byte [rbp + 0x58], 0x41
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor cl, 0x3c
mov byte [rbp + 0x5c], cl
xor byte [rbp + 0x5d], 0x3d
xor al, 0x3e
mov byte [rbp + 0x5e], al
movq r8, xmm2
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x14004e7b6
inc r8
cmp r8, 0x40
ja 0x14004e7db
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x80]
call fcn.140051670
movd xmm7, dword [rsi + 0x18]
cvtdq2pd xmm7, xmm7
mov eax, dword [str.VVTN]
mov dword [rsp + 0x40], eax
movzx eax, word [0x14005ea14]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x40], 0x43
xor byte [rsp + 0x41], 0x39
xor byte [rsp + 0x42], 0x3a
xor byte [rsp + 0x43], 0x3b
xor al, 0x3c
mov byte [rsp + 0x44], al
xor byte [rsp + 0x45], 0x3d
movups xmm0, xmmword [str.k_I_U]
movups xmmword [rbp + 0x58], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004e9e0
cmp edi, 2
jl 0x14004e99f
movdqa xmm5, xmmword [0x14005ec70]
mov edx, r14d
movdqa xmm4, xmmword [0x14005ed50]
movdqa xmm6, xmmword [0x14005ecb0]
movdqa xmm0, xmmword [0x14005ed20]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x5c]
mov r8d, dword [rbp + 0x70]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004e8a0
jmp 0x14004e9e0
lea r9, [rbp + 0x58]
mov r8d, r14d
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004e9b0
movaps xmm2, xmm7
movq r8, xmm7
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x14004ea05
inc r8
cmp r8, 0x40
ja 0x14004ea2a
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x80]
call fcn.140051670
movd xmm7, dword [rsi + 0x1c]
cvtdq2pd xmm7, xmm7
movsd xmm0, qword [0x14005e918]
movsd qword [rbp + 0x58], xmm0
movzx eax, word [0x14005e920]
mov word [rbp + 0x60], ax
cmp byte [0x14005e921], r14b
je 0x14004eaa2
mov byte [rbp + 0x58], 0x56
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor byte [rbp + 0x5c], 0x3c
xor byte [rbp + 0x5d], 0x3d
xor byte [rbp + 0x5e], 0x3e
xor byte [rbp + 0x5f], 0x3f
xor byte [rbp + 0x60], 0x40
xor byte [rbp + 0x61], 0x41
movups xmm0, xmmword [str.k_I_U]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004ec40
cmp edi, 2
jl 0x14004ebff
movdqa xmm5, xmmword [0x14005ec70]
mov edx, r14d
movdqa xmm4, xmmword [0x14005ed50]
movdqa xmm6, xmmword [0x14005ecb0]
movdqa xmm0, xmmword [0x14005ed20]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rsp + 0x44]
mov r8d, dword [rbp + 0x70]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004eb00
jmp 0x14004ec40
lea r9, [rsp + 0x40]
mov r8d, r14d
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004ec10
movaps xmm2, xmm7
movq r8, xmm7
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x14004ec65
inc r8
cmp r8, 0x40
ja 0x14004ec8a
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rbp + 0x58]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.140051670
movd xmm7, dword [rsi + 0x28]
cvtdq2pd xmm7, xmm7
movsd xmm0, qword [0x14005ccb0]
movsd qword [rbp + 0x58], xmm0
mov eax, dword [0x14005ccb8]
mov dword [rbp + 0x60], eax
cmp byte [0x14005ccbb], r14b
je 0x14004ee30
mov r8d, r14d
cmp edi, 2
jl 0x14004ede7
movdqa xmm4, xmmword [0x14005ed50]
movdqa xmm2, xmmword [0x14005ec70]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14005ecb0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
mov eax, dword [0x14005ed20]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x14005ccb0]
xorps xmm2, xmm0
movd dword [rbp + 0x58], xmm2
movdqa xmm3, xmmword [0x14005ec90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14005ecb0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x5c]
xorps xmm2, xmm1
movd dword [rbp + 0x5c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp + 0x58]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x14004ee00
movups xmm0, xmmword [str.k_I_U]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004efd0
cmp edi, 2
jl 0x14004ef8f
movdqa xmm5, xmmword [0x14005ec70]
mov edx, r14d
movdqa xmm4, xmmword [0x14005ed50]
movdqa xmm6, xmmword [0x14005ecb0]
movdqa xmm0, xmmword [0x14005ed20]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rsp + 0x44]
mov r8d, dword [rbp + 0x70]
nop word [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004ee90
jmp 0x14004efd0
lea r9, [rsp + 0x40]
mov r8d, r14d
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004efa0
movaps xmm2, xmm7
movq r8, xmm7
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x14004eff5
inc r8
cmp r8, 0x40
ja 0x14004f01a
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rbp + 0x58]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.140051670
movd xmm7, dword [rsi + 0x2c]
cvtdq2pd xmm7, xmm7
movsd xmm0, qword [0x140058190]
movsd qword [rbp + 0x58], xmm0
mov eax, dword [str._r_6__E]
mov dword [rbp + 0x60], eax
movzx eax, word [0x14005819c]
mov word [rbp + 0x64], ax
cmp byte [0x14005819d], r14b
je 0x14004f1c0
mov r8d, r14d
cmp edi, 2
jl 0x14004f182
movdqa xmm4, xmmword [0x14005ed50]
movdqa xmm2, xmmword [0x14005ec70]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14005ecb0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
mov eax, dword [0x14005ed20]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140058190]
xorps xmm2, xmm0
movd dword [rbp + 0x58], xmm2
movdqa xmm3, xmmword [0x14005ec90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14005ecb0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x5c]
xorps xmm2, xmm1
movd dword [rbp + 0x5c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp + 0x58]
add r9, rax
nop dword [rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x14004f190
movups xmm0, xmmword [str.k_I_U]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004f360
cmp edi, 2
jl 0x14004f31f
movdqa xmm5, xmmword [0x14005ec70]
mov edx, r14d
movdqa xmm4, xmmword [0x14005ed50]
movdqa xmm6, xmmword [0x14005ecb0]
movdqa xmm0, xmmword [0x14005ed20]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rsp + 0x44]
mov r8d, dword [rbp + 0x70]
nop word [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004f220
jmp 0x14004f360
lea r9, [rsp + 0x40]
mov r8d, r14d
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004f330
movaps xmm2, xmm7
movq r8, xmm7
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x14004f385
inc r8
cmp r8, 0x40
ja 0x14004f3aa
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rbp + 0x58]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.140051670
movd xmm7, dword [rsi + 0x3c]
cvtdq2pd xmm7, xmm7
movsd xmm0, qword [str.jNXP_a]
movsd qword [rbp + 0x58], xmm0
mov eax, dword [0x14005ea30]
mov dword [rbp + 0x60], eax
cmp byte [0x14005ea33], r14b
je 0x14004f550
mov r8d, r14d
cmp edi, 2
jl 0x14004f507
movdqa xmm4, xmmword [0x14005ed50]
movdqa xmm2, xmmword [0x14005ec70]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14005ecb0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
mov eax, dword [0x14005ed20]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.jNXP_a]
xorps xmm2, xmm0
movd dword [rbp + 0x58], xmm2
movdqa xmm3, xmmword [0x14005ec90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14005ecb0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x5c]
xorps xmm2, xmm1
movd dword [rbp + 0x5c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp + 0x58]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x14004f520
movups xmm0, xmmword [str.k_I_U]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004f6f0
cmp edi, 2
jl 0x14004f6af
movdqa xmm5, xmmword [0x14005ec70]
mov edx, r14d
movdqa xmm4, xmmword [0x14005ed50]
movdqa xmm6, xmmword [0x14005ecb0]
movdqa xmm0, xmmword [0x14005ed20]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rsp + 0x44]
mov r8d, dword [rbp + 0x70]
nop word [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004f5b0
jmp 0x14004f6f0
lea r9, [rsp + 0x40]
mov r8d, r14d
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004f6c0
movaps xmm2, xmm7
movq r8, xmm7
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x14004f715
inc r8
cmp r8, 0x40
ja 0x14004f73a
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rbp + 0x58]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.140051670
movd xmm7, dword [rsi + 0x40]
cvtdq2pd xmm7, xmm7
movsd xmm0, qword [str.jNXP_aeCXN_]
movsd qword [rbp + 0x58], xmm0
mov eax, dword [0x14005e8f0]
mov dword [rbp + 0x60], eax
cmp byte [0x14005e8f3], r14b
je 0x14004f8e0
mov r8d, r14d
cmp edi, 2
jl 0x14004f897
movdqa xmm4, xmmword [0x14005ed50]
movdqa xmm2, xmmword [0x14005ec70]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14005ecb0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
mov eax, dword [0x14005ed20]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.jNXP_aeCXN_]
xorps xmm2, xmm0
movd dword [rbp + 0x58], xmm2
movdqa xmm3, xmmword [0x14005ec90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14005ecb0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x5c]
xorps xmm2, xmm1
movd dword [rbp + 0x5c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp + 0x58]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x14004f8b0
movups xmm0, xmmword [str.k_I_U]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004fa80
cmp edi, 2
jl 0x14004fa3f
movdqa xmm5, xmmword [0x14005ec70]
mov edx, r14d
movdqa xmm4, xmmword [0x14005ed50]
movdqa xmm6, xmmword [0x14005ecb0]
movdqa xmm0, xmmword [0x14005ed20]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rsp + 0x44]
mov r8d, dword [rbp + 0x70]
nop word [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005ed00]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004f940
jmp 0x14004fa80
lea r9, [rsp + 0x40]
mov r8d, r14d
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004fa50
movaps xmm2, xmm7
movq r8, xmm7
lea rdx, [0x14005dcec]
lea rcx, [rbp + 0xd0]
call fcn.140051610
lea rax, [rbp + 0xd0]
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14004faa2
inc rbx
cmp rbx, 0x40
ja 0x14004faca
mov r8, rbx
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x110]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x110]
lea r8, [rbp + 0x58]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.140051670
mov eax, dword [0x14005e8f4]
mov dword [rbp + 0x58], eax
movzx eax, word [0x14005e8f8]
mov word [rbp + 0x5c], ax
mov byte [rbp + 0x58], 0x44
xor byte [rbp + 0x59], 0x39
xor byte [rbp + 0x5a], 0x3a
xor byte [rbp + 0x5b], 0x3b
xor al, 0x3c
mov byte [rbp + 0x5c], al
xor byte [rbp + 0x5d], 0x3d
mov eax, dword [str.XNZ_]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x14005ea24]
mov byte [rsp + 0x40], 0x44
xor byte [rsp + 0x41], 0x39
xor byte [rsp + 0x42], 0x3a
xor byte [rsp + 0x43], 0x3b
xor al, 0x3c
mov byte [rsp + 0x44], al
mov eax, dword [str.false]
mov dword [rbp + 0xd0], eax
movzx eax, word [0x14005e748]
mov word [rbp + 0xd4], ax
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0xd0]
lea r8, [rbp + 0x58]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.140051670
movsd xmm0, qword [str.mJ_I]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x14005e9f0]
mov byte [rsp + 0x40], 0x55
xor byte [rsp + 0x41], 0x39
xor byte [rsp + 0x42], 0x3a
xor byte [rsp + 0x43], 0x3b
xor byte [rsp + 0x44], 0x3c
xor byte [rsp + 0x45], 0x3d
xor byte [rsp + 0x46], 0x3e
xor byte [rsp + 0x47], 0x3f
xor al, 0x40
mov byte [rsp + 0x48], al
mov qword [rbp + 0x58], r14
lea r8, [0x14005e88c]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x58]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x14004fc17
lea rcx, vtable.CSimpleIniTempl_char__struct_SI_NoCase_char___class_SI_ConvertA_char__::FileWriter.0
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rax
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x80]
call fcn.1400527a0
mov rcx, qword [rbp + 0x58]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
lea rcx, [rbp + 0x80]
call fcn.140050d60
nop
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.140054b00
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret