Function at 0x180004310
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rdi
push r12
push r14
lea rbp, [r11 - 0x4b8]
sub rsp, 0x598
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
mov rax, qword [0x18027a1c0]
xor rax, rsp
mov qword [rbp + 0x440], rax
movzx eax, word [0x1801373b0]
xor edi, edi
movups xmm0, xmmword [str.rWZ_xIHYPS9o__E]
mov r14d, dword [0x18027a1a0]
mov r12b, 1
mov qword [r11 + 8], rbx
mov r8d, edi
mov qword [r11 + 0x10], rsi
lea ecx, [rdi + 0x1f]
mov qword [r11 + 0x18], r13
mov word [rsp + 0x60], ax
lea eax, [rdi + 5]
mov qword [r11 - 0x28], r15
movups xmm1, xmmword [0x1801373a0]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp r14d, 2
jl 0x1800044d2
movdqa xmm5, xmmword [0x1800d1c60]
movdqa xmm4, xmmword [0x180137ba0]
movdqa xmm7, xmmword [str.9999]
movaps xmmword [r11 - 0x68], xmm9
movdqa xmm9, xmmword [0x180137b80]
movd xmm8, ecx
lea rcx, [rsp + 0x40]
movd xmm6, eax
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x10
jl 0x1800043d0
movaps xmm9, xmmword [rsp + 0x550]
cmp r8d, 0x11
jge 0x180004518
movsxd rax, r8d
lea r9, [rsp + 0x40]
lea r9, [r9 + rax*2]
nop
mov eax, 0x8fb823ef
lea r9, [r9 + 2]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x39
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x35
xor word [r9 - 2], ax
cmp r8d, 0x11
jl 0x1800044e0
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, 0x18
lea r8, [rbp - 0x30]
mov rcx, rax
mov rdx, rbx
call sub.KERNEL32.dll_K32GetModuleInformation
lea rdx, str.Assets.Scripts.Unity.Player
mov qword [rbp - 0x10], rdi
lea rcx, str.Btd6Player
mov qword [rbp - 8], rdx
lea rax, str.CheckHakrStatus
mov qword [rbp], rcx
mov qword [rbp + 8], rax
lea rax, [0x180003dc0]
mov qword [rbp + 0x10], rax
lea rax, [0x18027a580]
mov qword [rbp + 0x18], rax
lea rax, str.AcquireUpgrade
mov qword [rbp + 0x38], rax
lea rax, [0x180003d70]
mov qword [rbp + 0x40], rax
lea rax, [0x18027a5a0]
mov qword [rbp + 0x48], rax
lea rax, str.CanAcquireUpgrade
mov qword [rbp + 0x68], rax
lea rax, [0x180003da0]
mov qword [rbp + 0x70], rax
lea rax, [0x18027a5a8]
mov qword [rbp + 0x78], rax
lea rax, str.ConsumePower
mov qword [rbp + 0x98], rax
lea rax, [0x180003e00]
mov qword [rbp + 0xa0], rax
lea rax, [0x18027a5b8]
mov qword [rbp + 0xa8], rax
lea rax, str.ConsumeInstaTower
mov qword [rbp + 0xc8], rax
lea rax, [0x180003de0]
mov qword [rbp + 0xd0], rax
lea rax, [0x18027a5c0]
mov qword [rbp + 0xd8], rax
lea rax, str.RankUp
mov qword [rbp + 0xf8], rax
lea rax, [0x180003e60]
mov qword [rbp + 0x100], rax
lea rax, [0x18027a5d0]
mov qword [rbp + 0x108], rax
lea rax, str.RankUpAvailable
mov qword [rbp + 0x128], rax
lea rax, [0x180003e80]
mov qword [rbp + 0x130], rax
lea rax, [0x18027a5d8]
mov qword [rbp + 0x138], rax
lea rax, str.HasUnlockedHero
mov qword [rbp + 0x158], rax
lea rax, [0x180003e20]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x88], rdx
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0xb0], rdi
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0xe8], rdx
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0x110], rdi
mov qword [rbp + 0x118], rdx
mov qword [rbp + 0x120], rcx
mov qword [rbp + 0x140], rdi
mov qword [rbp + 0x148], rdx
mov qword [rbp + 0x150], rcx
lea rax, [0x18027a5e0]
mov qword [rbp + 0x178], rdx
mov qword [rbp + 0x168], rax
lea rdx, str.Assets.Scripts.Unity.Analytics
lea rax, str.HasUnlockedTowerSkin
mov qword [rbp + 0x180], rcx
mov qword [rbp + 0x188], rax
lea rcx, str.AnalyticsManager
lea rax, [0x180003e40]
mov qword [rbp + 0x170], rdi
mov qword [rbp + 0x190], rax
lea r8, str.Awake
lea rax, [0x18027a5e8]
mov qword [rbp + 0x1a0], rdi
mov qword [rbp + 0x198], rax
lea rax, str.HackerDetected
mov qword [rbp + 0x1b8], rax
lea rax, [0x180003d30]
mov qword [rbp + 0x1c0], rax
lea rax, [0x18027a588]
mov qword [rbp + 0x1c8], rax
lea rax, str.ModsDetected
mov qword [rbp + 0x1e8], rax
lea rax, [0x180003d40]
mov qword [rbp + 0x1f0], rax
lea rax, [0x18027a590]
mov qword [rbp + 0x1f8], rax
lea rax, str.Report
mov qword [rbp + 0x218], rax
lea rax, [0x180003d50]
mov qword [rbp + 0x220], rax
lea rax, [0x18027a598]
mov qword [rbp + 0x228], rax
lea rax, str.Assets.Scripts.Unity.UI_New.Knowledge
mov qword [rbp + 0x238], rax
lea rax, str.KnowledgeSkillTree
mov qword [rbp + 0x240], rax
lea rax, str.BtnClicked
mov qword [rbp + 0x248], rax
lea rax, [0x180003ef0]
mov qword [rbp + 0x250], rax
lea rax, [0x18027a5b0]
mov qword [rbp + 0x258], rax
lea rax, str.Assets.Scripts.Unity.UI_New.TrophyStore
mov qword [rbp + 0x268], rax
lea rax, str.TrophyStoreScreen
mov qword [rbp + 0x270], rax
lea rax, str.TrophyStoreItemClicked
mov qword [rbp + 0x278], rax
lea rax, [0x1800040f0]
mov qword [rbp + 0x280], rax
lea rax, [0x18027a5c8]
mov qword [rbp + 0x288], rax
lea rax, str.Assets.Scripts.Unity.UI_New.Achievements
mov qword [rbp + 0x298], rax
lea rax, str.AchievementsScreen
mov qword [rbp + 0x2a0], rax
lea rax, [0x180003ea0]
mov qword [rbp + 0x2b0], rax
lea rax, [0x18027a5f0]
mov qword [rbp + 0x2b8], rax
lea rax, str.Assets.Scripts.Unity.UI_New.DailyChallenge
mov qword [rbp + 0x2c8], rax
lea rax, str.RaceEventScreen
mov qword [rbp + 0x2d0], rax
lea rax, [0x180003ee0]
mov qword [rbp + 0x2e0], rax
mov qword [rbp + 0x1a8], rdx
mov qword [rbp + 0x1b0], rcx
mov qword [rbp + 0x1d0], rdi
mov qword [rbp + 0x1d8], rdx
mov qword [rbp + 0x1e0], rcx
mov qword [rbp + 0x200], rdi
mov qword [rbp + 0x208], rdx
mov qword [rbp + 0x210], rcx
mov qword [rbp + 0x230], rdi
mov qword [rbp + 0x260], rdi
mov qword [rbp + 0x290], rdi
mov qword [rbp + 0x2a8], r8
mov qword [rbp + 0x2c0], rdi
mov qword [rbp + 0x2d8], r8
lea rax, [0x18027a5f8]
mov qword [rbp + 0x2f0], rdi
mov qword [rbp + 0x2e8], rax
lea rdx, str.Assets.Scripts.Unity.UI_New.Coop
lea rax, str.GetVictoryLoot
mov qword [rbp + 0x2f8], rdx
mov qword [rbp + 0x308], rax
lea rcx, str.CoopLobbyScreen
lea rax, [0x180003ec0]
mov qword [rbp + 0x300], rcx
mov qword [rbp + 0x310], rax
lea r15, [rbp - 8]
lea rax, [0x18027a600]
mov qword [rbp + 0x328], rdx
mov qword [rbp + 0x318], rax
mov r13d, edi
lea rax, [0x180003eb0]
mov qword [rbp + 0x330], rcx
mov qword [rbp + 0x340], rax
lea rax, [0x18027a608]
mov qword [rbp + 0x348], rax
lea rax, str.UpdatePlayerPanel
mov qword [rbp + 0x368], rax
lea rax, [0x180003ed0]
mov qword [rbp + 0x370], rax
lea rax, [0x18027a610]
mov qword [rbp + 0x378], rax
lea rax, str.IsChestReady
mov qword [rbp + 0x398], rax
lea rax, [0x1800040b0]
mov qword [rbp + 0x3a0], rax
lea rax, [0x18027a618]
mov qword [rbp + 0x3a8], rax
lea rax, str.ShowChest
mov qword [rbp + 0x3c8], rax
lea rax, [0x1800040d0]
mov qword [rbp + 0x3d0], rax
lea rax, [0x18027a620]
mov qword [rbp + 0x3d8], rax
lea rax, str.Assets.Scripts.Models.Store
mov qword [rbp + 0x3e8], rax
lea rax, str.LootSet
mov qword [rbp + 0x3f0], rax
lea rax, str.Apply
mov qword [rbp + 0x3f8], rax
lea rax, [0x180003840]
mov qword [rbp + 0x400], rax
lea rax, [0x18027a628]
mov qword [rbp + 0x408], rax
lea rax, str.Assets.Scripts.Data.ContestedTerritory
mov qword [rbp + 0x418], rax
lea rax, str.TeamsStoreItems
mov qword [rbp + 0x420], rax
lea rax, str.GetStoreItem
mov qword [rbp + 0x428], rax
lea rax, [0x180003830]
mov qword [rbp + 0x430], rax
lea rax, [0x18027a630]
mov qword [rbp + 0x358], rdx
lea rdx, str.Assets.Scripts.Unity.UI_New.Main.WorldItems
mov qword [rbp + 0x360], rcx
lea rcx, str.OpenChest
mov qword [rbp + 0x438], rax
mov qword [rbp + 0x320], rdi
mov qword [rbp + 0x338], r8
mov qword [rbp + 0x350], rdi
mov qword [rbp + 0x380], rdi
mov qword [rbp + 0x388], rdx
mov qword [rbp + 0x390], rcx
mov qword [rbp + 0x3b0], rdi
mov qword [rbp + 0x3b8], rdx
mov qword [rbp + 0x3c0], rcx
mov qword [rbp + 0x3e0], rdi
mov qword [rbp + 0x410], rdi
nop dword [rax]
mov rdx, qword [r15]
mov rsi, qword [r15 + 0x10]
test rdx, rdx
je 0x180004baa
mov r8, qword [r15 + 8]
test r8, r8
je 0x180004baa
test rsi, rsi
je 0x180004baa
mov rcx, qword [0x18027a528]
mov rax, qword [0x18027a4e0]
mov rcx, qword [rcx]
call rax
mov r14, rax
mov ebx, edi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [0x18027a4e8]
mov r8d, ebx
mov rdx, rsi
mov rcx, r14
call r9
test rax, rax
jne 0x180004f6a
inc ebx
cmp ebx, 0x10
jl 0x180004b80
mov r14d, dword [0x18027a1a0]
mov eax, dword [0x1801373d8]
mov ecx, edi
mov r10, qword [0x18027a018]
movups xmm1, xmmword [0x1801373c8]
movups xmm0, xmmword [0x1801373b8]
mov r8d, dword [r10 + 0x2c]
mov dword [rsp + 0x60], eax
movzx eax, word [0x1801373dc]
mov word [rsp + 0x64], ax
movups xmmword [rsp + 0x50], xmm1
movups xmmword [rsp + 0x40], xmm0
cmp r14d, 2
jl 0x180004d4a
movdqa xmm0, xmmword [0x180137b90]
lea rdx, [rsp + 0x44]
movdqa xmm5, xmmword [0x1800d1c60]
mov eax, 5
movdqa xmm4, xmmword [0x180137ba0]
movdqa xmm7, xmmword [str.9999]
movdqa xmmword [rsp + 0x30], xmm0
mov r9d, dword [rsp + 0x30]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop dword [rax]
nop word [rax + rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800d1c90]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r9d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r9d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800d1c90]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
xorps xmm2, xmm0
movd dword [rdx - 8], xmm2
cmp ecx, 0x20
jl 0x180004c40
cmp ecx, 0x26
jge 0x180004d8f
movsxd rax, ecx
lea r9, [rsp + 0x40]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx eax, cl
inc ecx
sub al, dl
add al, 0x35
xor byte [r9 - 1], al
cmp ecx, 0x26
jl 0x180004d60
lea r9, str.InitOffsets
mov qword [rsp + 0x20], rsi
lea rdx, [rsp + 0x40]
mov rcx, r10
call fcn.1800030f0
xor r12b, r12b
inc r13d
add r15, 0x30
cmp r13d, 0x17
jb 0x180004b40
mov r15, qword [rsp + 0x590]
mov r13, qword [rsp + 0x5d0]
test r12b, r12b
jne 0x1800051fb
mov r11, qword [0x18027a018]
movups xmm0, xmmword [0x180137418]
movups xmm1, xmmword [0x180137428]
mov ebx, dword [r11 + 0x14]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x180137438]
movups xmmword [rbp - 0x80], xmm1
movups xmmword [rbp - 0x70], xmm0
movsd xmm0, qword [0x180137448]
movsd qword [rbp - 0x60], xmm0
cmp r14d, 2
jl 0x18000519a
movdqa xmm0, xmmword [0x180137b90]
lea rcx, [rsp + 0x74]
movdqa xmm5, xmmword [0x1800d1c60]
mov eax, 5
movdqa xmm4, xmmword [0x180137ba0]
mov edx, edi
movdqa xmm7, xmmword [str.9999]
movdqa xmmword [rsp + 0x30], xmm0
mov r8d, dword [rsp + 0x30]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800d1c90]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800d1c90]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x38
jl 0x180004e60
jmp 0x1800051e4
mov rax, qword [rax]
mov r14d, dword [0x18027a1a0]
mov qword [r15 - 8], rax
test rax, rax
jne 0x180004dab
mov eax, dword [str.EDBeKDk]
mov r8d, edi
mov r10, qword [0x18027a018]
movups xmm0, xmmword [0x1801373e0]
movups xmm1, xmmword [0x1801373f0]
mov r11d, dword [r10 + 0x2c]
mov dword [rbp - 0x60], eax
movzx eax, word [0x180137414]
mov word [rbp - 0x5c], ax
movzx eax, byte [0x180137416]
mov byte [rbp - 0x5a], al
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x180137400]
movups xmmword [rbp - 0x80], xmm1
movups xmmword [rbp - 0x70], xmm0
cmp r14d, 2
jl 0x18000512d
movdqa xmm0, xmmword [0x180137b90]
lea rcx, [rsp + 0x74]
movdqa xmm5, xmmword [0x1800d1c60]
mov eax, 5
movdqa xmm4, xmmword [0x180137ba0]
movdqa xmm7, xmmword [str.9999]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800d1c90]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800d1c90]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x30
jl 0x180005020
cmp r8d, 0x37
jge 0x180005174
movsxd rax, r8d
lea r9, [rsp + 0x70]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x37
jl 0x180005140
mov qword [rsp + 0x28], rsi
lea r9, str.InitOffsets
mov r8d, r11d
mov qword [rsp + 0x20], rdi
lea rdx, [rsp + 0x70]
mov rcx, r10
call fcn.1800030f0
jmp 0x180004da8
lea r10, [rsp + 0x70]
mov r9d, edi
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r10, [r10 + 1]
imul r9d
add edx, r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx eax, r9b
inc r9d
sub al, dl
add al, 0x35
xor byte [r10 - 1], al
cmp r9d, 0x38
jl 0x1800051b0
lea r9, str.InitOffsets
mov r8d, ebx
lea rdx, [rsp + 0x70]
mov rcx, r11
call fcn.1800030f0
mov esi, edi
lea rbx, [rbp + 0x10]
mov r14b, 1
mov r9, qword [rbx + 8]
mov r8, qword [rbx]
mov rdx, qword [rbx - 0x20]
mov rcx, qword [0x18027a008]
call fcn.180008130
test al, al
movzx ecx, r14b
mov edx, edi
lea rbx, [rbx + 0x30]
cmovne edx, ecx
inc esi
movzx r14d, dl
cmp esi, 0x17
jb 0x180005204
mov rsi, qword [rsp + 0x5c8]
mov rbx, qword [rsp + 0x5c0]
mov r14d, dword [0x18027a1a0]
test dl, dl
jne 0x180005454
movups xmm0, xmmword [0x180137450]
movups xmm1, xmmword [0x180137460]
mov r11, qword [0x18027a018]
mov eax, dword [0x1801374a0]
mov r8d, dword [r11 + 0x14]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x180137470]
movups xmmword [rbp - 0x70], xmm0
movups xmm0, xmmword [0x180137490]
movups xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [0x180137480]
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x60], xmm1
mov dword [rbp - 0x40], eax
cmp r14d, 2
jl 0x1800053fa
movdqa xmm0, xmmword [0x180137b90]
lea rcx, [rsp + 0x74]
movdqa xmm5, xmmword [0x1800d1c60]
mov eax, 5
movdqa xmm4, xmmword [0x180137ba0]
movdqa xmm7, xmmword [str.9999]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop dword [rax]
movd xmm2, edi
lea eax, [rdi + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edi, 8
pmuldq xmm1, xmm4
mov eax, edi
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800d1c90]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800d1c90]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edi, 0x50
jl 0x1800052f0
cmp eax, 0x54
jge 0x180005440
movsxd rax, edi
lea r10, [rsp + 0x70]
add r10, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r10, [r10 + 1]
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx eax, dil
inc edi
sub al, dl
add al, 0x35
xor byte [r10 - 1], al
cmp edi, 0x54
jl 0x180005410
lea r9, str.InitOffsets
mov rcx, r11
lea rdx, [rsp + 0x70]
call fcn.1800030f0
movzx eax, r12b
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.18006a4f0
lea r11, [rsp + 0x598]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
pop r14
pop r12
pop rdi
pop rbp
ret