Function at 0x14004bd00
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x48]
sub rsp, 0x140
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
mov rax, qword [0x140067040]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov rdi, rcx
xor esi, esi
mov dword [rcx], esi
mov dword [rcx + 4], 0x79
mov word [rcx + 8], si
mov dword [rcx + 0xc], 1
mov dword [rcx + 0x10], 0x3f800000
mov qword [rcx + 0x14], 0x140
mov qword [rcx + 0x1c], rsi
mov dword [rcx + 0x24], esi
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + 0x28], eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + 0x2c], eax
mov dword [rdi + 0x30], 1
mov qword [rdi + 0x34], 1
mov qword [rdi + 0x3c], rsi
mov qword [rdi + 0x44], rsi
mov word [rdi + 0x4c], si
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], rsi
mov byte [rbp - 0x58], sil
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rsi
mov ecx, 0x48
call fcn.140054150
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x50], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov ecx, 0x28
call fcn.140054150
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x30], 0x1000000
mov word [rbp - 0x2c], si
mov dword [rbp - 0x28], esi
movsd xmm0, qword [str.eBWA]
movsd qword [rsp + 0x30], xmm0
movzx eax, byte [0x14005d960]
mov byte [rsp + 0x30], 0x55
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor byte [rsp + 0x34], 0x34
xor byte [rsp + 0x35], 0x35
xor byte [rsp + 0x36], 0x36
xor byte [rsp + 0x37], 0x37
xor al, 0x38
mov byte [rsp + 0x38], al
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400505c0
test eax, eax
js 0x14004d44b
mov eax, dword [0x14005d974]
mov dword [rsp + 0x40], eax
movdqa xmm9, xmmword [0x14005dd30]
movdqa xmm8, xmmword [0x14005dd70]
movdqa xmm10, xmmword [0x14005dd20]
movdqa xmm7, xmmword [0x14005e180]
movdqa xmm6, xmmword [0x14005dcd0]
mov ebx, dword [0x140067090]
cmp byte [0x14005d977], sil
je 0x14004bf73
cmp ebx, 2
jl 0x14004bf2e
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x40], xmm1
jmp 0x14004bf73
lea r9, [rsp + 0x40]
mov r8d, esi
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x14004bf40
movsd xmm0, qword [0x14005d920]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [0x14005d928]
mov word [rsp + 0x38], ax
cmp byte [0x14005d929], 0
je 0x14004bfc8
mov byte [rsp + 0x30], 0x4b
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor byte [rsp + 0x34], 0x34
xor byte [rsp + 0x35], 0x35
xor byte [rsp + 0x36], 0x36
xor byte [rsp + 0x37], 0x37
xor byte [rsp + 0x38], 0x38
xor byte [rsp + 0x39], 0x39
xorps xmm3, xmm3
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi], eax
movsd xmm0, qword [str.xXVV]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [0x14005d8f8]
mov word [rsp + 0x38], ax
cmp byte [0x14005d8f9], 0
je 0x14004c039
mov byte [rsp + 0x30], 0x48
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor byte [rsp + 0x34], 0x34
xor byte [rsp + 0x35], 0x35
xor byte [rsp + 0x36], 0x36
xor byte [rsp + 0x37], 0x37
xor byte [rsp + 0x38], 0x38
xor byte [rsp + 0x39], 0x39
movsd xmm0, qword [0x14005d920]
movsd qword [rsp + 0x40], xmm0
movzx eax, word [0x14005d928]
mov word [rsp + 0x48], ax
cmp byte [0x14005d929], 0
je 0x14004c08e
mov byte [rsp + 0x40], 0x4b
xor byte [rsp + 0x41], 0x31
xor byte [rsp + 0x42], 0x32
xor byte [rsp + 0x43], 0x33
xor byte [rsp + 0x44], 0x34
xor byte [rsp + 0x45], 0x35
xor byte [rsp + 0x46], 0x36
xor byte [rsp + 0x47], 0x37
xor byte [rsp + 0x48], 0x38
xor byte [rsp + 0x49], 0x39
xorps xmm3, xmm3
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi + 4], eax
movsd xmm0, qword [str.cE_VZRB_8]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x14005daa8]
mov byte [rsp + 0x40], 0x53
xor byte [rsp + 0x41], 0x31
xor byte [rsp + 0x42], 0x32
xor byte [rsp + 0x43], 0x33
xor byte [rsp + 0x44], 0x34
xor byte [rsp + 0x45], 0x35
xor byte [rsp + 0x46], 0x36
xor byte [rsp + 0x47], 0x37
xor al, 0x38
mov byte [rsp + 0x48], al
mov eax, dword [0x14005d944]
mov dword [rsp + 0x30], eax
movzx ecx, word [0x14005d948]
mov word [rsp + 0x34], cx
movzx eax, byte [0x14005d94a]
mov byte [rsp + 0x30], 0x41
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor cl, 0x34
mov byte [rsp + 0x34], cl
xor byte [rsp + 0x35], 0x35
xor al, 0x36
mov byte [rsp + 0x36], al
xorps xmm3, xmm3
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [rdi + 0x10], xmm1
mov eax, dword [0x14005d940]
mov dword [rsp + 0x40], eax
cmp byte [0x14005d943], 0
je 0x14004c213
cmp ebx, 2
jl 0x14004c1d1
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x40], xmm1
jmp 0x14004c213
lea r9, [rsp + 0x40]
mov r8d, esi
nop dword [rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x14004c1e0
mov eax, dword [0x14005d944]
mov dword [rsp + 0x30], eax
movzx eax, word [0x14005d948]
mov word [rsp + 0x34], ax
movzx eax, byte [0x14005d94a]
mov byte [rsp + 0x30], 0x41
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor byte [rsp + 0x34], 0x34
xor byte [rsp + 0x35], 0x35
xor al, 0x36
mov byte [rsp + 0x36], al
xorps xmm3, xmm3
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi + 0x14], eax
movsd xmm0, qword [0x14005da30]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x14005da38]
mov byte [rsp + 0x40], 0x4f
xor byte [rsp + 0x41], 0x31
xor byte [rsp + 0x42], 0x32
xor byte [rsp + 0x43], 0x33
xor byte [rsp + 0x44], 0x34
xor byte [rsp + 0x45], 0x35
xor byte [rsp + 0x46], 0x36
xor byte [rsp + 0x47], 0x37
xor al, 0x38
mov byte [rsp + 0x48], al
mov eax, dword [0x14005d944]
mov dword [rsp + 0x30], eax
movzx ecx, word [0x14005d948]
mov word [rsp + 0x34], cx
movzx eax, byte [0x14005d94a]
mov byte [rsp + 0x30], 0x41
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor cl, 0x34
mov byte [rsp + 0x34], cl
xor byte [rsp + 0x35], 0x35
xor al, 0x36
mov byte [rsp + 0x36], al
xorps xmm3, xmm3
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi + 0x18], eax
movsd xmm0, qword [0x14005d978]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x14005d980]
mov byte [rsp + 0x40], 0x4f
xor byte [rsp + 0x41], 0x31
xor byte [rsp + 0x42], 0x32
xor byte [rsp + 0x43], 0x33
xor byte [rsp + 0x44], 0x34
xor byte [rsp + 0x45], 0x35
xor byte [rsp + 0x46], 0x36
xor byte [rsp + 0x47], 0x37
xor al, 0x38
mov byte [rsp + 0x48], al
mov eax, dword [0x14005d944]
mov dword [rsp + 0x30], eax
movzx ecx, word [0x14005d948]
mov word [rsp + 0x34], cx
movzx eax, byte [0x14005d94a]
mov byte [rsp + 0x30], 0x41
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor cl, 0x34
mov byte [rsp + 0x34], cl
xor byte [rsp + 0x35], 0x35
xor al, 0x36
mov byte [rsp + 0x36], al
xorps xmm3, xmm3
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi + 0x1c], eax
mov eax, dword [str.sF5]
mov dword [rsp + 0x40], eax
movzx eax, word [0x14005dab0]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x40], 0x43
xor byte [rsp + 0x41], 0x31
xor byte [rsp + 0x42], 0x32
xor byte [rsp + 0x43], 0x33
xor al, 0x34
mov byte [rsp + 0x44], al
xor byte [rsp + 0x45], 0x35
movups xmm0, xmmword [str.cTSAW_]
movups xmmword [rsp + 0x30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004c563
cmp ebx, 2
jl 0x14004c51d
mov edx, esi
movdqa xmmword [rsp + 0x50], xmm8
lea rcx, [rsp + 0x34]
mov r8d, dword [rsp + 0x50]
nop word [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x14004c430
jmp 0x14004c563
lea r9, [rsp + 0x30]
mov r8d, esi
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004c530
xorps xmm3, xmm3
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi + 0x20], eax
movsd xmm0, qword [str.fP_ZUA_XV9]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [0x14005da28]
mov word [rsp + 0x38], ax
cmp byte [0x14005da29], 0
je 0x14004c5d5
mov byte [rsp + 0x30], 0x56
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor byte [rsp + 0x34], 0x34
xor byte [rsp + 0x35], 0x35
xor byte [rsp + 0x36], 0x36
xor byte [rsp + 0x37], 0x37
xor byte [rsp + 0x38], 0x38
xor byte [rsp + 0x39], 0x39
movups xmm0, xmmword [str.cTSAW_]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004c743
cmp ebx, 2
jl 0x14004c6fd
mov edx, esi
movdqa xmmword [rsp + 0x50], xmm8
lea rcx, [rsp + 0x44]
mov r8d, dword [rsp + 0x50]
nop
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x14004c610
jmp 0x14004c743
lea r9, [rsp + 0x40]
mov r8d, esi
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004c710
xorps xmm3, xmm3
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi + 0x24], eax
movsd xmm0, qword [str.cXHV]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x14005da78]
mov dword [rsp + 0x38], eax
cmp byte [0x14005da7b], 0
je 0x14004c8b3
mov r8d, esi
cmp ebx, 2
jl 0x14004c86c
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm8
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.cXHV]
xorps xmm1, xmm0
movd dword [rsp + 0x30], xmm1
movdqa xmm2, xmmword [0x14005dcf0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x34]
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x14004c880
movups xmm0, xmmword [str.cTSAW_]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004ca23
cmp ebx, 2
jl 0x14004c9dd
mov edx, esi
movdqa xmmword [rsp + 0x50], xmm8
lea rcx, [rsp + 0x44]
mov r8d, dword [rsp + 0x50]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x14004c8f0
jmp 0x14004ca23
lea r9, [rsp + 0x40]
mov r8d, esi
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004c9f0
xorps xmm3, xmm3
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi + 0x30], eax
movsd xmm0, qword [str.XZY__]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [str.uXNXT]
mov dword [rsp + 0x38], eax
movzx eax, word [0x14005d91c]
mov word [rsp + 0x3c], ax
cmp byte [0x14005d91d], 0
je 0x14004cba3
mov r8d, esi
cmp ebx, 2
jl 0x14004cb58
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm8
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.XZY__]
xorps xmm1, xmm0
movd dword [rsp + 0x30], xmm1
movdqa xmm2, xmmword [0x14005dcf0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x34]
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x14004cb70
movups xmm0, xmmword [str.cTSAW_]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004cd13
cmp ebx, 2
jl 0x14004cccd
mov edx, esi
movdqa xmmword [rsp + 0x50], xmm8
lea rcx, [rsp + 0x44]
mov r8d, dword [rsp + 0x50]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x14004cbe0
jmp 0x14004cd13
lea r9, [rsp + 0x40]
mov r8d, esi
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004cce0
xorps xmm3, xmm3
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi + 0x34], eax
movsd xmm0, qword [0x14005d900]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x14005d908]
mov dword [rsp + 0x38], eax
cmp byte [0x14005d90b], 0
je 0x14004ce83
mov r8d, esi
cmp ebx, 2
jl 0x14004ce3c
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm8
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x14005d900]
xorps xmm1, xmm0
movd dword [rsp + 0x30], xmm1
movdqa xmm2, xmmword [0x14005dcf0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x34]
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x14004ce50
movups xmm0, xmmword [str.cTSAW_]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004cff3
cmp ebx, 2
jl 0x14004cfad
mov edx, esi
movdqa xmmword [rsp + 0x50], xmm8
lea rcx, [rsp + 0x44]
mov r8d, dword [rsp + 0x50]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x14004cec0
jmp 0x14004cff3
lea r9, [rsp + 0x40]
mov r8d, esi
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004cfc0
xorps xmm3, xmm3
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi + 0x44], eax
movsd xmm0, qword [str.bTTVFPXT_]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x14005d970]
mov dword [rsp + 0x38], eax
cmp byte [0x14005d973], 0
je 0x14004d163
mov r8d, esi
cmp ebx, 2
jl 0x14004d11c
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm8
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.bTTVFPXT_]
xorps xmm1, xmm0
movd dword [rsp + 0x30], xmm1
movdqa xmm2, xmmword [0x14005dcf0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x34]
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x14004d130
movups xmm0, xmmword [str.cTSAW_]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004d2d3
cmp ebx, 2
jl 0x14004d28d
mov edx, esi
movdqa xmmword [rsp + 0x50], xmm8
lea rcx, [rsp + 0x44]
mov r8d, dword [rsp + 0x50]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x14004d1a0
jmp 0x14004d2d3
lea r9, [rsp + 0x40]
mov r8d, esi
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004d2a0
xorps xmm3, xmm3
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400506e0
cvttsd2si eax, xmm0
mov dword [rdi + 0x48], eax
mov eax, dword [str.tTPFS5]
mov dword [rsp + 0x30], eax
movzx eax, word [0x14005d950]
mov word [rsp + 0x34], ax
mov byte [rsp + 0x30], 0x44
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor al, 0x34
mov byte [rsp + 0x34], al
xor byte [rsp + 0x35], 0x35
mov eax, dword [0x14005da7c]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x14005da80]
mov byte [rsp + 0x40], 0x44
xor byte [rsp + 0x41], 0x31
xor byte [rsp + 0x42], 0x32
xor byte [rsp + 0x43], 0x33
xor al, 0x34
mov byte [rsp + 0x44], al
lea rax, [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x60], esi
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.140053750
lea r8, [rsp + 0x50]
mov rdx, qword [rbp - 0x80]
call fcn.140053820
mov rdx, qword [rbp - 0x50]
test al, al
cmovne rdx, qword [rbp - 0x80]
cmp rdx, qword [rbp - 0x50]
je case.0x14004d3f3.48
lea rbx, [rdx + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x60], esi
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140052810
cmp rax, qword [rbx]
je case.0x14004d3f3.48
mov rdx, qword [rax + 0x38]
test rdx, rdx
je case.0x14004d3f3.48
movsx eax, byte [rdx]
test al, al
je case.0x14004d3f3.48
add eax, 0xffffffd0
cmp eax, 0x49
ja case.0x14004d3f3.48
cdqe
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x4d4a8]
mov ecx, dword [r8 + rax*4 + 0x4d498]
add rcx, r8
jmp rcx
mov al, 1
jmp 0x14004d409
movzx ecx, byte [rdx + 1]
lea eax, [rcx - 0x4e]
test al, 0xdf
je case.0x14004d3f3.49
sub cl, 0x46
xor al, al
mov byte [rdi + 0x4c], al
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
mov eax, dword [rdi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [rdi + 0x44]
sub ecx, eax
add ecx, ebx
mov dword [rdi + 0x28], ecx
mov ecx, dword [rdi + 0x48]
sub ecx, eax
add ecx, r8d
mov dword [rdi + 0x2c], ecx
lea rcx, [rbp - 0x70]
call fcn.140050490
mov rax, rdi
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.140054130
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop rbp
ret