Function at 0x1800a7e40
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
lea rbp, [rax - 0x408]
sub rsp, 0x500
movaps xmmword [rax - 0x18], xmm6
mov rax, qword [0x180144040]
xor rax, rsp
mov qword [rbp + 0x3e0], rax
xor esi, esi
mov edx, dword [0x1801611a4]
lea rcx, [rbp + 0x128]
call fcn.180031560
nop
mov r9d, 2
lea r8, [0x18010fc80]
xor edx, edx
lea rcx, [rbp + 0x128]
call fcn.18000bdb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], rsi
mov byte [rax], sil
mov r8d, 1
lea rdx, [0x18010fc60]
lea rcx, [rsp + 0x48]
call fcn.1800314e0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x148], xmm0
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rbp + 0x158], xmm6
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
lea rcx, [rsp + 0x48]
call fcn.1800091b0
nop
lea rcx, [rbp + 0x128]
call fcn.1800091b0
movabs rdi, 0x7fffffffffffffff
mov rax, rdi
movq rcx, xmm6
sub rax, rcx
cmp rax, 0x14
jb 0x1800a7b38
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x14
lea rax, str.NO_BOUGHT_YUM_SNACKS
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x68]
call fcn.180031d80
nop
lea r10, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova r10, qword [rsp + 0x68]
mov r9d, esi
mov r11, qword [rsp + 0x78]
add r11, r10
cmp r10, r11
je 0x1800a6775
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a6741
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0x1e
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a6818
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rsp + 0x68]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x17
jb 0x1800a7b3e
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x17
lea rax, str.NO_BOUGHT_HEALTH_SNACKS
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x78]
call fcn.180031d80
nop
lea r10, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova r10, qword [rbp - 0x78]
mov r9d, esi
mov r11, qword [rbp - 0x68]
add r11, r10
cmp r10, r11
je 0x1800a68d4
nop
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a68a0
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0xf
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a6977
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp - 0x78]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x15
jb 0x1800a7b44
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x15
lea rax, str.NO_BOUGHT_EPIC_SNACKS
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x58]
call fcn.180031d80
nop
lea r10, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova r10, qword [rbp - 0x58]
mov r9d, esi
mov r11, qword [rbp - 0x48]
add r11, r10
cmp r10, r11
je 0x1800a6a34
nop dword [rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a6a00
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 5
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a6ad7
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp - 0x58]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x16
jb 0x1800a7b4a
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x16
lea rax, str.NUMBER_OF_CHAMP_BOUGHT
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x38]
call fcn.180031d80
nop
lea r10, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova r10, qword [rbp - 0x38]
mov r9d, esi
mov r11, qword [rbp - 0x28]
add r11, r10
cmp r10, r11
je 0x1800a6b94
nop dword [rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a6b60
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 5
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a6c37
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp - 0x38]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x17
jb 0x1800a7b50
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x17
lea rax, str.NUMBER_OF_ORANGE_BOUGHT
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x18]
call fcn.180031d80
nop
lea r10, [rbp - 0x18]
cmp qword [rbp], 0xf
cmova r10, qword [rbp - 0x18]
mov r9d, esi
mov r11, qword [rbp - 8]
add r11, r10
cmp r10, r11
je 0x1800a6cf4
nop dword [rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a6cc0
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0xa
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a6d97
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp - 0x18]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x17
jb 0x1800a7b56
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x17
lea rax, str.NUMBER_OF_BOURGE_BOUGHT
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 8]
call fcn.180031d80
nop
lea r10, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova r10, qword [rbp + 8]
mov r9d, esi
mov r11, qword [rbp + 0x18]
add r11, r10
cmp r10, r11
je 0x1800a6e54
nop dword [rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a6e20
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0xa
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a6ef7
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp + 8]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x17
jb 0x1800a7b5c
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x17
lea rax, str.NUMBER_OF_SPRUNK_BOUGHT
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x28]
call fcn.180031d80
nop
lea r10, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova r10, qword [rbp + 0x28]
mov r9d, esi
mov r11, qword [rbp + 0x38]
add r11, r10
cmp r10, r11
je 0x1800a6fb4
nop dword [rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a6f80
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0xa
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a7057
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp + 0x28]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x16
jb 0x1800a7b62
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x16
lea rax, str.MP_CHAR_ARMOUR_1_COUNT
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x48]
call fcn.180031d80
nop
lea r10, [rbp + 0x48]
cmp qword [rbp + 0x60], 0xf
cmova r10, qword [rbp + 0x48]
mov r9d, esi
mov r11, qword [rbp + 0x58]
add r11, r10
cmp r10, r11
je 0x1800a7114
nop dword [rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a70e0
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0xa
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a71b7
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp + 0x48]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x16
jb 0x1800a7b68
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x16
lea rax, str.MP_CHAR_ARMOUR_2_COUNT
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x68]
call fcn.180031d80
nop
lea r10, [rbp + 0x68]
cmp qword [rbp + 0x80], 0xf
cmova r10, qword [rbp + 0x68]
mov r9d, esi
mov r11, qword [rbp + 0x78]
add r11, r10
cmp r10, r11
je 0x1800a7274
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a7240
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0xa
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a7317
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp + 0x68]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x16
jb 0x1800a7b6e
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x16
lea rax, str.MP_CHAR_ARMOUR_3_COUNT
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x88]
call fcn.180031d80
nop
lea r10, [rbp + 0x88]
cmp qword [rbp + 0xa0], 0xf
cmova r10, qword [rbp + 0x88]
mov r9d, esi
mov r11, qword [rbp + 0x98]
add r11, r10
cmp r10, r11
je 0x1800a73e4
nop dword [rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a73b0
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0xa
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a7487
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp + 0x88]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x16
jb 0x1800a7b74
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x16
lea rax, str.MP_CHAR_ARMOUR_4_COUNT
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xa8]
call fcn.180031d80
nop
lea r10, [rbp + 0xa8]
cmp qword [rbp + 0xc0], 0xf
cmova r10, qword [rbp + 0xa8]
mov r9d, esi
mov r11, qword [rbp + 0xb8]
add r11, r10
cmp r10, r11
je 0x1800a7554
nop
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a7520
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0xa
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a75f7
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp + 0xa8]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x16
jb 0x1800a7b7a
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x16
lea rax, str.MP_CHAR_ARMOUR_5_COUNT
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xc8]
call fcn.180031d80
nop
lea r10, [rbp + 0xc8]
cmp qword [rbp + 0xe0], 0xf
cmova r10, qword [rbp + 0xc8]
mov r9d, esi
mov r11, qword [rbp + 0xd8]
add r11, r10
cmp r10, r11
je 0x1800a76c4
nop
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a7690
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0xa
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a7767
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp + 0xc8]
call fcn.1800091b0
mov rax, rdi
mov rcx, qword [rbp + 0x158]
sub rax, rcx
cmp rax, 0x11
jb 0x1800a7b80
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x11
lea rax, str.CIGARETTES_BOUGHT
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xe8]
call fcn.180031d80
nop
lea r10, [rbp + 0xe8]
cmp qword [rbp + 0x100], 0xf
cmova r10, qword [rbp + 0xe8]
mov r9d, esi
mov r11, qword [rbp + 0xf8]
add r11, r10
cmp r10, r11
je 0x1800a7834
nop
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a7800
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0x14
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a78d7
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp + 0xe8]
call fcn.1800091b0
mov rax, qword [rbp + 0x158]
sub rdi, rax
cmp rdi, 0x16
jb 0x1800a7b32
lea r9, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova r9, qword [rbp + 0x148]
mov qword [rsp + 0x30], 0x16
lea rcx, str.BREATHING_APPAR_BOUGHT
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x108]
call fcn.180031d80
nop
lea r10, [rbp + 0x108]
cmp qword [rbp + 0x120], 0xf
cmova r10, qword [rbp + 0x108]
mov r9d, esi
mov r11, qword [rbp + 0x118]
add r11, r10
cmp r10, r11
je 0x1800a79a4
nop dword [rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1800a7970
lea ebx, [r9 + r9*8]
mov eax, ebx
shr eax, 0xb
xor ebx, eax
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2ac], eax
xor edx, edx
mov r8d, 0x12c
lea rcx, [rbp + 0x2b4]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
imul eax, ebx, 0x8001
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x2a8], 0x14
mov dword [rbp + 0x2b0], 1
mov dword [rbp + 0x178], 3
cmp byte [0x180153cb8], 0
jne 0x1800a7a47
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x18015d6e8]
nop
lea rcx, [rbp + 0x108]
call fcn.1800091b0
xor eax, eax
mov dword [rbp + 0x17c], eax
xor edx, edx
mov r8d, 0x114
lea rcx, [rbp + 0x18c]
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x134
lea rcx, [rbp + 0x2ac]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x250]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], esi
lea rax, str.TEST
mov qword [rbp + 0x2a0], rax
mov dword [rbp + 0x2a8], esi
mov dword [rbp + 0x178], 2
cmp byte [0x180153cb8], 0
jne 0x1800a7adf
call fcn.180062e50
lea rcx, [rbp + 0x170]
call qword [0x180157230]
lea rcx, [0x18010e659]
call fcn.1800a4690
nop
lea rcx, [rbp + 0x148]
call fcn.1800091b0
mov rcx, qword [rbp + 0x3e0]
xor rcx, rsp
call fcn.1800d0f80
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop rbp
ret
call fcn.1800037b0
nop
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
call fcn.1800037b0
int3
jmp 0x1800a65e0