Function at 0x180002fa4
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x120
mov rcx, qword [0x18004c3a0]
mov r14, rdx
movaps xmmword [rax - 0x48], xmm8
xor r12d, r12d
mov rsi, r8
mov dword [rbp + 0x60], 0xa3f0ac80
mov dword [rbp + 0x64], 0xed18ed18
xor r9d, r9d
mov rax, qword [rbp + 0x60]
xor r8d, r8d
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rax + 0xe8]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
test rax, rax
je 0x180003efa
mov rcx, qword [0x18004c3a0]
xor r9d, r9d
mov dword [rbp + 0x60], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp + 0x64], 0xed18ed18
mov rax, qword [rbp + 0x60]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rax + 0x218]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
test rax, rax
je 0x180003efa
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x180003efa
mov rcx, qword [rax + 0x1cd8]
test rcx, rcx
je 0x180003efa
mov eax, dword [rcx + 0xe8]
mov rbx, qword [0x18004c3a8]
add rbx, 0x40070
mov dword [0x18004c2f0], eax
mov al, byte [rcx + 0x180]
mov byte [0x18004c2f4], al
lea r15, [rbx + 0x7fff0]
cmp rbx, r15
je 0x180003efa
movdqa xmm8, xmmword [0x18004a9e0]
mov rcx, qword [rbx]
test rcx, rcx
je 0x180003eed
mov dword [rbp + 0x60], 0xa3f0ac80
xor r9d, r9d
mov dword [rbp + 0x64], 0xed18ed18
xor r8d, r8d
mov rax, qword [rbp + 0x60]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rax + 0x1d0]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
test al, al
jne 0x180003eed
and dword [rbp], r12d
xor r9d, r9d
and dword [rbp + 4], r12d
xor r8d, r8d
and dword [rbp + 8], r12d
mov rcx, qword [rbx]
mov dword [rbp + 0x78], 0xa3f0ac80
mov dword [rbp + 0x7c], 0xed18ed18
mov rax, qword [rbp + 0x78]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rax + 0x130]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
lea rdx, [rbp]
mov rcx, rax
call fcn.1800087ac
test al, al
je 0x180003eed
mov rcx, qword [rbx]
xor r9d, r9d
mov dword [rbp - 0x70], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp - 0x6c], 0xed18ed18
mov rax, qword [rbp - 0x70]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rax + 0x18]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10, rax
test rax, rax
je 0x180003eed
mov rax, qword [rax]
xor r9d, r9d
mov dword [rbp - 0x68], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp - 0x64], 0xed18ed18
xor edx, edx
mov rcx, qword [rbp - 0x68]
xor rcx, qword [0x18004c2e0]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rax + 0x10]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x68], rcx
mov rcx, r10
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x20], rax
call fcn.180029d80
movabs rdx, 0xcbf29ce484222325
mov cl, byte [rax]
test cl, cl
je 0x180003eed
mov r9d, 1
add rax, r9
movsx rcx, cl
xor rdx, rcx
movabs r8, 0x100000001b3
imul rdx, r8
mov cl, byte [rax]
test cl, cl
jne 0x180003280
movabs rax, 0x189954c545c37e78
cmp rdx, rax
je 0x180003cbe
movabs rax, 0x189d56bea4e0728e
cmp rdx, rax
je 0x180003b0d
movabs rax, 0x4a2785430cbe67c1
cmp rdx, rax
je 0x18000394c
movabs rax, 0x8029edd59b8369b8
cmp rdx, rax
je 0x18000377b
movabs rax, 0xae803c9e589aff16
cmp rdx, rax
je 0x18000353f
movabs rax, 0xc163e04c3412b150
cmp rdx, rax
jne 0x180003eed
cmp dword [0x18004c2a0], r12d
je 0x180003eed
xor edx, edx
mov cl, 0x42
call fcn.180001060
mov edx, r9d
mov byte [rsp + 0x30], al
mov cl, 0x6c
call fcn.180001060
mov edx, 2
mov byte [rsp + 0x31], al
mov cl, 0x6f
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x32], al
call fcn.180001060
mov edx, 4
mov byte [rsp + 0x33], al
mov cl, 0x64
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x34], al
mov cl, 0x42
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x35], al
mov cl, 0x61
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x36], al
mov cl, 0x67
call fcn.180001060
mov edx, 8
mov byte [rsp + 0x37], al
mov cl, 0x43
call fcn.180001060
mov edx, 9
mov byte [rsp + 0x38], al
mov cl, 0x6f
call fcn.180001060
mov edx, 0xa
mov byte [rsp + 0x39], al
mov cl, 0x6e
call fcn.180001060
mov edx, 0xb
mov byte [rsp + 0x3a], al
mov cl, 0x73
call fcn.180001060
mov edx, 0xc
mov byte [rsp + 0x3b], al
mov cl, 0x75
call fcn.180001060
mov edx, 0xd
mov byte [rsp + 0x3c], al
mov cl, 0x6d
call fcn.180001060
mov edx, 0xe
mov byte [rsp + 0x3d], al
mov cl, 0x61
call fcn.180001060
mov edx, 0xf
mov byte [rsp + 0x3e], al
mov cl, 0x62
call fcn.180001060
mov edx, 0x10
mov byte [rsp + 0x3f], al
mov cl, 0x6c
call fcn.180001060
mov edx, 0x11
mov byte [rsp + 0x40], al
mov cl, 0x65
call fcn.180001060
mov byte [rsp + 0x41], al
mov edx, r12d
xor eax, eax
mov byte [rsp + 0x42], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
add edx, r9d
xor byte [rsp + rcx + 0x30], al
cmp edx, 0x12
jb 0x18000343f
mov rcx, qword [rbx]
xor r9d, r9d
mov byte [rsp + 0x42], r12b
xor r8d, r8d
mov dword [rbp - 0x60], 0xa3f0ac80
mov dword [rbp - 0x5c], 0xed18ed18
mov rax, qword [rbp - 0x60]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x60], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x70], r12
mov rdx, qword [rax + 8]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x68], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10d, eax
mov dword [rbp - 0x58], 0xa3f0ac80
mov dword [rbp - 0x54], 0xed18ed18
lea r8, [rsp + 0x30]
mov rcx, qword [rbp - 0x58]
xor r9d, r9d
xor rcx, qword [0x18004c2e0]
mov qword [rsp + 0x60], rcx
mov rcx, qword [0x18004c3a0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x70], r12
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x288]
mov edx, r10d
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.180029d80
test rax, rax
je 0x180003eed
mov ecx, dword [0x18004c2f0]
cmp dword [rax + 0x114], ecx
jne 0x180003eed
cmp byte [0x18004c2f4], r12b
je 0x180003eed
mov rdx, qword [rbx]
mov r9, r14
mov r8, rdi
mov qword [rsp + 0x20], rsi
call fcn.180004244
jmp 0x180003eed
cmp dword [0x18004c29c], r12d
je 0x180003eed
xor edx, edx
mov cl, 0x47
call fcn.180001060
mov edx, r9d
mov byte [rsp + 0x30], al
mov cl, 0x4d
call fcn.180001060
mov edx, 2
mov byte [rsp + 0x31], al
mov cl, 0x4e
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x32], al
mov cl, 0x6f
call fcn.180001060
mov edx, 4
mov byte [rsp + 0x33], al
mov cl, 0x74
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x34], al
mov cl, 0x65
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x35], al
mov cl, 0x43
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x36], al
mov cl, 0x6f
call fcn.180001060
mov edx, 8
mov byte [rsp + 0x37], al
mov cl, 0x6e
call fcn.180001060
mov edx, 9
mov byte [rsp + 0x38], al
mov cl, 0x73
call fcn.180001060
mov edx, 0xa
mov byte [rsp + 0x39], al
mov cl, 0x75
call fcn.180001060
mov edx, 0xb
mov byte [rsp + 0x3a], al
mov cl, 0x6d
call fcn.180001060
mov edx, 0xc
mov byte [rsp + 0x3b], al
mov cl, 0x61
call fcn.180001060
mov edx, 0xd
mov byte [rsp + 0x3c], al
mov cl, 0x62
call fcn.180001060
mov edx, 0xe
mov byte [rsp + 0x3d], al
mov cl, 0x6c
call fcn.180001060
mov edx, 0xf
mov byte [rsp + 0x3e], al
mov cl, 0x65
call fcn.180001060
mov byte [rsp + 0x3f], al
lea rcx, [rsp + 0x30]
xor eax, eax
movdqa xmmword [rsp + 0x60], xmm8
mov byte [rsp + 0x40], al
movd xmm0, dword [rsp + 0x60]
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
paddd xmm1, xmmword [0x18004a9b0]
andps xmm1, xmmword [0x18004a9d0]
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 0x10
jb 0x180003659
mov rcx, qword [rbx]
xor r9d, r9d
mov byte [rsp + 0x40], r12b
xor r8d, r8d
mov dword [rbp - 0x50], 0xa3f0ac80
mov dword [rbp - 0x4c], 0xed18ed18
mov rax, qword [rbp - 0x50]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x60], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x70], r12
mov rdx, qword [rax + 8]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x68], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10d, eax
mov dword [rbp - 0x48], 0xa3f0ac80
mov dword [rbp - 0x44], 0xed18ed18
lea r8, [rsp + 0x30]
mov rcx, qword [rbp - 0x48]
xor r9d, r9d
xor rcx, qword [0x18004c2e0]
mov qword [rsp + 0x60], rcx
mov rcx, qword [0x18004c3a0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x70], r12
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x288]
mov edx, r10d
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.180029d80
test rax, rax
je 0x180003eed
mov ecx, dword [0x18004c2f0]
cmp dword [rax + 0x114], ecx
jne 0x180003eed
mov rdx, qword [rbx]
mov r9, r14
mov r8, rdi
mov qword [rsp + 0x20], rsi
call fcn.180004590
jmp 0x180003eed
cmp dword [0x18004c290], r12d
je 0x180003eed
xor edx, edx
mov cl, 0x41
call fcn.180001060
mov edx, r9d
mov byte [rbp - 0x80], al
mov cl, 0x6d
call fcn.180001060
mov edx, 2
mov byte [rbp - 0x7f], al
call fcn.180001060
mov edx, 3
mov byte [rbp - 0x7e], al
mov cl, 0x6f
call fcn.180001060
mov edx, 4
mov byte [rbp - 0x7d], al
mov cl, 0x43
call fcn.180001060
mov edx, 5
mov byte [rbp - 0x7c], al
mov cl, 0x6f
call fcn.180001060
mov edx, 6
mov byte [rbp - 0x7b], al
mov cl, 0x6e
call fcn.180001060
mov edx, 7
mov byte [rbp - 0x7a], al
mov cl, 0x73
call fcn.180001060
mov edx, 8
mov byte [rbp - 0x79], al
mov cl, 0x75
call fcn.180001060
mov edx, 9
mov byte [rbp - 0x78], al
mov cl, 0x6d
call fcn.180001060
mov edx, 0xa
mov byte [rbp - 0x77], al
mov cl, 0x61
call fcn.180001060
mov edx, 0xb
mov byte [rbp - 0x76], al
mov cl, 0x62
call fcn.180001060
mov edx, 0xc
mov byte [rbp - 0x75], al
mov cl, 0x6c
call fcn.180001060
mov edx, 0xd
mov byte [rbp - 0x74], al
mov cl, 0x65
call fcn.180001060
mov byte [rbp - 0x73], al
mov edx, r12d
xor eax, eax
mov byte [rbp - 0x72], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
add edx, r9d
xor byte [rbp + rcx - 0x80], al
cmp edx, 0xe
jb 0x18000385b
mov rcx, qword [rbx]
xor r9d, r9d
mov byte [rbp - 0x72], r12b
xor r8d, r8d
mov dword [rbp - 0x40], 0xa3f0ac80
mov dword [rbp - 0x3c], 0xed18ed18
mov rax, qword [rbp - 0x40]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rax + 8]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10d, eax
mov dword [rbp - 0x38], 0xa3f0ac80
mov dword [rbp - 0x34], 0xed18ed18
lea r8, [rbp - 0x80]
mov rcx, qword [rbp - 0x38]
xor r9d, r9d
xor rcx, qword [0x18004c2e0]
mov qword [rsp + 0x30], rcx
mov rcx, qword [0x18004c3a0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x288]
mov edx, r10d
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.180029d80
test rax, rax
je 0x180003eed
mov ecx, dword [0x18004c2f0]
cmp dword [rax + 0x114], ecx
jne 0x180003eed
mov rdx, qword [rbx]
mov r9, r14
mov r8, rdi
mov qword [rsp + 0x20], rsi
call fcn.180003f1c
jmp 0x180003eed
cmp dword [0x18004c294], r12d
je 0x180003eed
xor edx, edx
mov cl, 0x52
call fcn.180001060
mov edx, r9d
mov byte [rsp + 0x53], al
mov cl, 0x65
call fcn.180001060
mov edx, 2
mov byte [rsp + 0x54], al
mov cl, 0x77
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x55], al
mov cl, 0x61
call fcn.180001060
mov edx, 4
mov byte [rsp + 0x56], al
mov cl, 0x72
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x57], al
mov cl, 0x64
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x58], al
mov cl, 0x43
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x59], al
mov cl, 0x72
call fcn.180001060
mov edx, 8
mov byte [rsp + 0x5a], al
mov cl, 0x61
call fcn.180001060
mov edx, 9
mov byte [rsp + 0x5b], al
mov cl, 0x74
call fcn.180001060
mov edx, 0xa
mov byte [rsp + 0x5c], al
mov cl, 0x65
call fcn.180001060
mov byte [rsp + 0x5d], al
mov edx, r12d
xor eax, eax
mov byte [rsp + 0x5e], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
add edx, r9d
xor byte [rsp + rcx + 0x53], al
cmp edx, 0xb
jb 0x180003a0d
mov rcx, qword [rbx]
xor r9d, r9d
mov byte [rsp + 0x5e], r12b
xor r8d, r8d
mov dword [rbp - 0x30], 0xa3f0ac80
mov dword [rbp - 0x2c], 0xed18ed18
mov rax, qword [rbp - 0x30]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rax + 8]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10d, eax
mov dword [rbp - 0x28], 0xa3f0ac80
mov dword [rbp - 0x24], 0xed18ed18
lea r8, [rsp + 0x53]
mov rcx, qword [rbp - 0x28]
xor r9d, r9d
xor rcx, qword [0x18004c2e0]
mov qword [rsp + 0x30], rcx
mov rcx, qword [0x18004c3a0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x288]
mov edx, r10d
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.180029d80
test rax, rax
je 0x180003eed
mov ecx, dword [0x18004c2f0]
cmp dword [rax + 0x118], ecx
jne 0x180003eed
cmp byte [0x18004c2f4], r12b
je 0x180003eed
mov rdx, qword [rbx]
mov r9, r14
mov r8, rdi
mov qword [rsp + 0x20], rsi
call fcn.180004f60
jmp 0x180003eed
cmp dword [0x18004c2a8], r12d
je 0x180003eed
xor edx, edx
mov cl, 0x46
call fcn.180001060
mov edx, r9d
mov byte [rsp + 0x48], al
mov cl, 0x75
call fcn.180001060
mov edx, 2
mov byte [rsp + 0x49], al
mov cl, 0x73
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x4a], al
mov cl, 0x65
call fcn.180001060
mov edx, 4
mov byte [rsp + 0x4b], al
mov cl, 0x48
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x4c], al
mov cl, 0x6f
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x4d], al
mov cl, 0x6c
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x4e], al
mov cl, 0x64
call fcn.180001060
mov edx, 8
mov byte [rsp + 0x4f], al
mov cl, 0x65
call fcn.180001060
mov edx, 9
mov byte [rsp + 0x50], al
mov cl, 0x72
call fcn.180001060
mov byte [rsp + 0x51], al
mov edx, r12d
xor eax, eax
mov byte [rsp + 0x52], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
add edx, r9d
xor byte [rsp + rcx + 0x48], al
cmp edx, 0xa
jb 0x180003bbe
mov rcx, qword [rbx]
xor r9d, r9d
mov byte [rsp + 0x52], r12b
xor r8d, r8d
mov dword [rbp - 0x20], 0xa3f0ac80
mov dword [rbp - 0x1c], 0xed18ed18
mov rax, qword [rbp - 0x20]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rax + 8]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10d, eax
mov dword [rbp - 0x18], 0xa3f0ac80
mov dword [rbp - 0x14], 0xed18ed18
lea r8, [rsp + 0x48]
mov rcx, qword [rbp - 0x18]
xor r9d, r9d
xor rcx, qword [0x18004c2e0]
mov qword [rsp + 0x30], rcx
mov rcx, qword [0x18004c3a0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], r12
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x288]
mov edx, r10d
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.180029d80
test rax, rax
je 0x180003eed
mov ecx, dword [0x18004c2f0]
cmp dword [rax + 0x118], ecx
jne 0x180003eed
cmp byte [0x18004c2f4], r12b
jne 0x180003eed
mov rdx, qword [rbx]
mov r9, r14
mov r8, rdi
mov qword [rsp + 0x20], rsi
call fcn.180004c10
jmp 0x180003eed
cmp dword [0x18004c2a4], r12d
je 0x180003eed
xor edx, edx
mov cl, 0x48
call fcn.180001060
mov edx, r9d
mov byte [rsp + 0x30], al
mov cl, 0x65
call fcn.180001060
mov edx, 2
mov byte [rsp + 0x31], al
mov cl, 0x61
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x32], al
mov cl, 0x6c
call fcn.180001060
mov edx, 4
mov byte [rsp + 0x33], al
mov cl, 0x74
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x34], al
mov cl, 0x68
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x35], al
mov cl, 0x43
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x36], al
mov cl, 0x6f
call fcn.180001060
mov edx, 8
mov byte [rsp + 0x37], al
mov cl, 0x6e
call fcn.180001060
mov edx, 9
mov byte [rsp + 0x38], al
mov cl, 0x73
call fcn.180001060
mov edx, 0xa
mov byte [rsp + 0x39], al
mov cl, 0x75
call fcn.180001060
mov edx, 0xb
mov byte [rsp + 0x3a], al
mov cl, 0x6d
call fcn.180001060
mov edx, 0xc
mov byte [rsp + 0x3b], al
mov cl, 0x61
call fcn.180001060
mov edx, 0xd
mov byte [rsp + 0x3c], al
mov cl, 0x62
call fcn.180001060
mov edx, 0xe
mov byte [rsp + 0x3d], al
mov cl, 0x6c
call fcn.180001060
mov edx, 0xf
mov byte [rsp + 0x3e], al
mov cl, 0x65
call fcn.180001060
mov byte [rsp + 0x3f], al
lea rcx, [rsp + 0x30]
xor eax, eax
movdqa xmmword [rsp + 0x60], xmm8
mov byte [rsp + 0x40], al
movd xmm0, dword [rsp + 0x60]
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
paddd xmm1, xmmword [0x18004a9b0]
andps xmm1, xmmword [0x18004a9d0]
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 0x10
jb 0x180003dd8
mov rcx, qword [rbx]
xor r9d, r9d
mov byte [rsp + 0x40], r12b
xor r8d, r8d
mov dword [rbp - 0x10], 0xa3f0ac80
mov dword [rbp - 0xc], 0xed18ed18
mov rax, qword [rbp - 0x10]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x60], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x70], r12
mov rdx, qword [rax + 8]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x68], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10d, eax
mov dword [rbp - 8], 0xa3f0ac80
mov dword [rbp - 4], 0xed18ed18
lea r8, [rsp + 0x30]
mov rcx, qword [rbp - 8]
xor r9d, r9d
xor rcx, qword [0x18004c2e0]
mov qword [rsp + 0x60], rcx
mov rcx, qword [0x18004c3a0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x70], r12
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x288]
mov edx, r10d
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.180029d80
test rax, rax
je 0x180003eed
mov ecx, dword [0x18004c2f0]
cmp dword [rax + 0x114], ecx
jne 0x180003eed
mov rdx, qword [rbx]
mov r9, r14
mov r8, rdi
mov qword [rsp + 0x20], rsi
call fcn.1800048d0
add rbx, 8
cmp rbx, r15
jne 0x1800030eb
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x48]
movaps xmm8, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret