Function at 0x18000ea60
Capabilities:
Encode data using xor
Execute anti-debugging instructions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb38
mov dword [rsp + 0x1b8], r8d
mov qword [rsp + 0x2f8], rdx
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [rsp + 0x2f0], rdx
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [rsp + 0x2e8], rdx
rdtsc
mov r8, rdx
shl r8, 0x20
or r8, rax
rdtsc
shl rdx, 0x20
or rdx, rax
cmp r8, rdx
mov eax, 0x545cd4e6
mov esi, 0x748fd5d6
cmove esi, eax
mov r8, rsi
xor r8, 0x748fde9e
mov qword [rsp + 0xe8], rcx
xor edx, edx
call fcn.18003ad10
mov ecx, esi
xor ecx, 0x748fd5d7
mov eax, dword [rsp + 0xe4]
mov qword [rsp + 0x30], rcx
imul eax, ecx
mov ecx, esi
xor ecx, 0xd2092183
mov edx, dword [rsp + 0xe4]
xor edx, ecx
mov r10d, esi
xor r10d, 0xd2092180
and ecx, dword [rsp + 0xe4]
not ecx
mov r8d, esi
xor r8d, 0x748fd5d4
imul ecx, r8d
add r10d, r8d
add r10d, eax
sub r10d, edx
add r10d, ecx
mov eax, esi
xor eax, 0x8b702a28
mov dword [rsp + 0x20], eax
mov ecx, esi
xor ecx, 0x748fd529
movabs rdx, 0x66cfa401111a4bed
lea rax, [rdx + 2]
xor rax, rsi
mov qword [rsp + 0x120], rax
mov rax, rsi
xor rax, 0x748fd5d7
movabs r9, 0x99305bfeeee5b410
xor r9, rsi
mov qword [rsp + 0x118], r9
xor rdx, rsi
mov qword [rsp + 0x40], rax
add rdx, rax
mov qword [rsp + 0x38], rdx
movabs rax, 0x8b985a06ac98fc4a
xor rax, rsi
mov qword [rsp + 0x110], rax
mov rax, rsi
xor rax, 0xffffffff8b702a28
mov qword [rsp + 0xa8], rax
mov rax, rsi
xor rax, 0x748fd5d4
mov qword [rsp + 0xb8], rax
movabs rdx, 0x7467a5f9536703b5
xor rdx, rsi
mov rax, rsi
xor rax, 0x748fd4d7
mov qword [rsp + 0xf0], rax
add rdx, rax
mov qword [rsp + 0x108], rdx
mov eax, esi
xor eax, 0xdbc78712
mov edx, esi
xor edx, 0x748fd556
mov dword [rsp + 0x60], eax
add edx, eax
mov dword [rsp + 0x5c], edx
mov edx, esi
xor edx, 0x19148a2a
mov eax, esi
xor eax, 0xe6eb75d5
mov dword [rsp + 0x58], eax
mov eax, esi
xor eax, 0x992ac3d6
mov dword [rsp + 0x54], eax
mov qword [rsp + 0xb0], rsi
mov eax, esi
xor eax, 0x66d53c29
mov qword [rsp + 0xf8], rcx
add eax, ecx
inc eax
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x100], rdx
lea eax, [r8 + rdx]
mov dword [rsp + 0x4c], eax
xor esi, esi
nop
mov dword [rsp + rsi*4 + 0x330], r10d
mov eax, r10d
mov dword [rsp + rax*4 + 0x730], esi
mov r13d, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xe0]
mov ecx, dword [rsp + 0xe0]
mov r14d, dword [rsp + 0xdc]
mov edi, dword [rsp + 0xdc]
mov ebp, dword [rsp + 0xdc]
mov r15d, dword [rsp + 0xd8]
mov r8d, dword [rsp + 0xd8]
mov edx, dword [rsp + 0xd8]
mov r9, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1b0]
mov r12, qword [rsp + 0x1b0]
not r12
mov r11, qword [rsp + 0x1b0]
or r11, qword [rsp + 0x118]
add r11, r12
not r9
mov r12, qword [rsp + 0x120]
and r9, r12
xor rbx, r12
imul r11, qword [rsp + 0x40]
add rsi, qword [rsp + 0x38]
sub rsi, r9
add rsi, rbx
add rsi, r11
mov r9, qword [rsp + 0x108]
sub r9, qword [rsp + 0x1a8]
mov r11, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x110]
xor r11, r12
imul r11, qword [rsp + 0xa8]
add r11, r9
mov r9, qword [rsp + 0x1a8]
or r9, r12
imul r9, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x1a8]
xor rbx, r12
add rbx, r9
add rbx, r11
cmp rsi, rbx
je 0x18000edf8
mov r9d, dword [rsp + 0x60]
xor edi, r9d
add edi, r14d
or ebp, r9d
imul ebp, dword [rsp + 0x20]
add ebp, dword [rsp + 0x5c]
mov r9, qword [rsp + 0x30]
imul edi, r9d
add edi, ebp
cmp r10d, edi
mov edi, 0x1b
mov r11d, 0
cmovb edi, r11d
and r13d, dword [rsp + 0x58]
imul r13d, dword [rsp + 0x28]
add r13d, dword [rsp + 0x4c]
xor eax, dword [rsp + 0x100]
sub r13d, eax
not ecx
imul ecx, r9d
add ecx, r13d
xor edi, r10d
shl r10d, cl
not r15d
mov eax, dword [rsp + 0x54]
and r15d, eax
xor edx, dword [rsp + 0xb0]
xor edx, 0x66d53c29
add edx, r15d
or r8d, eax
add r8d, dword [rsp + 0x50]
imul edx, r9d
add edx, r8d
and edx, r10d
xor edx, edi
mov r10d, edx
jmp 0x18000ec60
mov eax, dword [rsp + 0xa4]
not eax
mov r14, qword [rsp + 0xb0]
mov ecx, r14d
xor ecx, 0x11a7c999
and eax, ecx
mov r15, qword [rsp + 0x28]
imul eax, r15d
mov edx, dword [rsp + 0xa4]
mov r13, qword [rsp + 0x30]
imul edx, r13d
mov r8d, dword [rsp + 0xa4]
xor r8d, ecx
mov ebx, dword [rsp + 0x20]
imul r8d, ebx
xor ecx, dword [rsp + 0xa4]
mov r9d, r14d
xor r9d, 0xee583666
add r9d, r13d
add r9d, edx
add r9d, r8d
add r9d, eax
lea eax, [rcx + r9]
inc eax
mov rsi, qword [rsp + 0xe8]
mov dword [rsi + 0x120], eax
mov eax, r14d
xor eax, 0x250ab86e
mov ecx, dword [rsp + 0xa0]
and ecx, eax
mov edx, r14d
xor edx, 0xdaf54791
and edx, dword [rsp + 0xa0]
add edx, ecx
mov r8d, dword [rsp + 0xa0]
or r8d, eax
mov r9d, r14d
xor r9d, 0x250ab86f
and eax, dword [rsp + 0xa0]
not eax
add eax, edx
mov ecx, r14d
xor ecx, 0x748fd5d5
imul eax, r13d
add r9d, ecx
sub r9d, r8d
add r9d, eax
mov dword [rsi + 0x124], r9d
mov eax, r14d
xor eax, 0xf3d7f02f
mov edx, dword [rsp + 0x9c]
or edx, eax
not edx
imul edx, r15d
mov r8d, r14d
xor r8d, 0xc280fd0
mov r9d, dword [rsp + 0x9c]
xor r9d, r8d
imul r9d, ebx
or r8d, dword [rsp + 0x9c]
imul r8d, r13d
mov r10d, dword [rsp + 0x9c]
and r10d, eax
mov r11d, r14d
xor r11d, 0x748fd5d3
add r11d, eax
add r11d, r9d
add r11d, edx
add r11d, r8d
lea eax, [r10 + r11]
inc eax
mov dword [rsi + 0x128], eax
mov eax, r14d
xor eax, 0x63d80e03
mov edx, dword [rsp + 0x98]
and edx, eax
mov r8d, dword [rsp + 0x98]
not r8d
and r8d, eax
or eax, dword [rsp + 0x98]
imul r8d, ebx
mov r9d, dword [rsp + 0x98]
not r9d
add r9d, eax
mov eax, r14d
xor eax, 0x63d80e00
mov r10d, r14d
xor r10d, 0x748fd5d9
add r10d, eax
sub r10d, edx
add r10d, r8d
imul r9d, r13d
add r9d, r10d
mov dword [rsi + 0x12c], r9d
mov eax, r14d
xor eax, 0x5f43405b
mov edx, dword [rsp + 0xd4]
and edx, eax
imul edx, ebx
mov r8d, r14d
xor r8d, 0xa0bcbfa4
mov r9d, dword [rsp + 0xd4]
or r9d, r8d
imul r9d, r13d
mov r10d, dword [rsp + 0xd4]
not r10d
or r10d, r8d
mov r8d, r14d
xor r8d, 0x748fd5c7
add r8d, eax
add r8d, edx
add r8d, r9d
sub r8d, r10d
mov dword [rsi + 0x130], r8d
mov eax, r14d
xor eax, 0xd5bd5274
mov edx, dword [rsp + 0x94]
and edx, eax
mov r8d, dword [rsp + 0x94]
or r8d, eax
not r8d
add r8d, edx
mov edx, dword [rsp + 0x94]
not edx
or edx, eax
mov r9d, r14d
and eax, dword [rsp + 0x94]
xor r9d, 0xd5bd5275
not eax
add eax, r8d
mov r8d, r14d
xor r8d, 0x748fd5e5
add r8d, r9d
sub r8d, edx
imul eax, r13d
add eax, r8d
mov dword [rsi + 0x134], eax
mov eax, dword [rsp + 0x90]
not eax
mov edx, r14d
xor edx, 0x3fab5eeb
and eax, edx
mov r8d, dword [rsp + 0x90]
or r8d, edx
add r8d, eax
mov eax, dword [rsp + 0x90]
not eax
or eax, edx
add eax, r8d
and edx, dword [rsp + 0x90]
mov r8d, r14d
xor r8d, 0x748fd583
imul eax, r13d
mov r9d, r14d
xor r9d, 0x1d393c51
add r9d, r8d
add r9d, edx
add r9d, eax
mov dword [rsi + 0x138], r9d
mov eax, r14d
xor eax, 0xa22cf41
mov r11, qword [rsp + 0xf8]
lea edx, [r11 + rax]
sub edx, dword [rsp + 0x8c]
mov r8d, dword [rsp + 0x8c]
xor r8d, eax
imul r8d, r13d
add r8d, edx
or eax, dword [rsp + 0x8c]
not eax
imul eax, r15d
add eax, r8d
mov edx, dword [rsp + 0x8c]
not edx
imul edx, ebx
add edx, eax
mov dword [rsi + 0x13c], edx
mov eax, r14d
xor eax, 0xf8e5445b
mov edx, dword [rsp + 0x88]
and edx, eax
imul edx, ecx
mov ecx, r14d
xor ecx, 0x71abba4
mov r8d, dword [rsp + 0x88]
imul r8d, ebx
xor eax, dword [rsp + 0x88]
imul eax, r13d
mov r9d, dword [rsp + 0x88]
and r9d, ecx
add r9d, eax
mov eax, r14d
xor eax, 0x748fd5cc
or ecx, 1
add ecx, eax
add ecx, r8d
add ecx, edx
add ecx, r9d
mov dword [rsi + 0x140], ecx
mov eax, r14d
xor eax, 0xd3cb6851
mov ecx, dword [rsp + 0x84]
and ecx, eax
mov edx, r14d
xor edx, 0x8b702a2b
mov dword [rsp + 0x248], edx
imul ecx, edx
mov edx, dword [rsp + 0x84]
imul edx, r15d
mov r8d, dword [rsp + 0x84]
xor r8d, eax
mov r9d, dword [rsp + 0x84]
not r9d
or r9d, eax
imul r9d, r13d
mov eax, r14d
xor eax, 0xd3cb685e
mov r10d, r14d
xor r10d, 0x748fd5f8
add r10d, eax
add r10d, edx
add r10d, ecx
sub r10d, r8d
add r10d, r9d
mov dword [rsi + 0x144], r10d
mov eax, r14d
xor al, 0xb5
mov byte [rsi + 0x148], al
mov byte [rsi + 0x6ab], 0
mov rbp, qword [rsp + 0x1a0]
movabs rax, 0xe376ffd492ebb67e
xor rax, r14
mov rcx, qword [rsp + 0x1a0]
xor rcx, rax
mov r12, qword [rsp + 0x40]
lea rdx, [r12 + rax]
or rax, qword [rsp + 0x1a0]
imul rbp, r12
not rax
imul rax, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x1a0]
xor r8, r14
movabs r9, 0x1c89002b6d144981
xor r9, r8
imul r9, qword [rsp + 0xa8]
add rbp, rdx
sub rbp, rcx
add rbp, r9
add rbp, rax
mov eax, r14d
xor eax, 0x5c9030b1
mov dword [rsp + 0x244], eax
mov ecx, r14d
xor ecx, 0x5c9030be
mov eax, r14d
xor eax, 0xa36fcf4e
mov dword [rsp + 0x23c], eax
mov eax, r14d
xor eax, 0xe54c2869
mov dword [rsp + 0x238], eax
mov eax, r14d
xor eax, 0xe54c2816
add eax, r13d
mov dword [rsp + 0x234], eax
mov edx, r14d
xor edx, 0xee2315b8
mov r8d, r14d
xor r8d, 0x748fd5d0
mov esi, r14d
xor esi, 0x748fd5d1
mov eax, r14d
xor eax, 0x4575f776
mov r10d, r14d
xor r10d, 0xe8846f68
mov dword [rsp + 0x224], eax
or eax, 2
add r10d, esi
add r10d, eax
mov dword [rsp + 0x220], r10d
mov eax, r14d
xor eax, 0x2340c97c
mov r10d, r14d
xor r10d, 0x748fd5b5
add r10d, eax
mov dword [rsp + 0x21c], r10d
movabs rax, 0x7383c2f1ad1bd4b
xor rax, r14
mov r10, qword [rsp + 0xf0]
add r10, rax
mov eax, r14d
xor eax, 0x2755573
add esi, eax
mov dword [rsp + 0x228], esi
mov eax, r14d
xor eax, 0x38995609
add ecx, r11d
mov dword [rsp + 0x240], ecx
mov qword [rsp + 0x328], rax
add eax, r11d
mov dword [rsp + 0x218], eax
mov eax, r14d
xor eax, 0x4964152b
mov dword [rsp + 0x214], eax
mov ecx, r14d
xor ecx, 0xb69bead4
mov eax, r14d
xor eax, 0xf58542c
mov dword [rsp + 0x210], ecx
add eax, ecx
add eax, r13d
add eax, 2
mov dword [rsp + 0x20c], eax
mov eax, r14d
xor eax, 0xfd8aaa8d
mov dword [rsp + 0x208], eax
mov eax, r14d
xor eax, 0x2755572
mov dword [rsp + 0x204], eax
mov ecx, r14d
xor ecx, 0xd78cb8c5
mov eax, r14d
xor eax, 0x2873473a
mov dword [rsp + 0x200], eax
mov eax, r14d
xor eax, 0x748fd528
mov r9d, r14d
xor r9d, 0x945c638e
mov dword [rsp + 0x1fc], r9d
mov r9d, r14d
xor r9d, 0x6ba39c71
mov dword [rsp + 0x1f8], r9d
mov r9d, r14d
xor r9d, 0xb528b964
add r9d, r13d
mov dword [rsp + 0x1f4], r9d
mov r9d, r14d
xor r9d, 0xba8a0889
mov dword [rsp + 0x1f0], r9d
mov r9d, r14d
xor r9d, 0x586ed982
mov dword [rsp + 0x1ec], r9d
mov r9d, r14d
xor r9d, 0xa791267b
add r9d, eax
mov dword [rsp + 0x1e8], r9d
mov r9d, r14d
xor r9d, 0x71460521
mov dword [rsp + 0x1e4], r9d
mov r11d, r14d
xor r11d, 0x7f1c7438
mov r9d, r14d
xor r9d, 0x8eb9fade
mov dword [rsp + 0x1dc], r9d
mov r9, r13
add r11d, r13d
mov dword [rsp + 0x1e0], r11d
mov r11d, r14d
xor r11d, 0x775505d5
mov dword [rsp + 0x1d8], r11d
mov r11d, r14d
xor r11d, 0x88aafa2a
mov dword [rsp + 0x1d4], r11d
mov r11d, r14d
xor r11d, 0x775505d3
add r11d, r8d
mov dword [rsp + 0x1d0], r11d
mov r11d, r14d
xor r11d, 0x1e06b07b
mov dword [rsp + 0x1cc], r11d
mov r11d, r14d
xor r11d, 0xe1f94f85
mov esi, r14d
xor esi, 0xe1f94f84
mov dword [rsp + 0x1c4], esi
add r11d, eax
mov dword [rsp + 0x1c8], r11d
mov r11d, r14d
xor r11d, 0x2340c97f
mov dword [rsp + 0x1c0], r11d
movabs r11, 0xbcf06b74464c574d
xor r11, r14
movabs rsi, 0x430f948bb9b3a8b2
xor rsi, r14
mov qword [rsp + 0x310], rsi
movabs rsi, 0xf8c7c3d0e52e42b4
xor rsi, r14
mov qword [rsp + 0x308], rsi
mov dword [rsp + 0x230], edx
add r8d, edx
mov dword [rsp + 0x22c], r8d
mov qword [rsp + 0x320], rcx
add eax, ecx
inc eax
mov dword [rsp + 0x1bc], eax
mov qword [rsp + 0x318], r11
lea rax, [r11 + r12]
add rax, 2
mov qword [rsp + 0x300], rax
mov qword [rsp + 0xf0], r10
nop dword [rax]
mov qword [rsp + 0x120], rbp
mov eax, dword [rsp + 0x29c]
mov ecx, dword [rsp + 0x29c]
and eax, dword [rsp + 0x244]
or ecx, dword [rsp + 0x23c]
add eax, dword [rsp + rbp*4 + 0x730]
imul ecx, r9d
mov edx, dword [rsp + 0x240]
sub edx, eax
add edx, ecx
movsxd rax, edx
mov eax, dword [rsp + rax*4 + 0x330]
mov dword [rsp + 0x118], eax
mov r8d, dword [rsp + 0x80]
mov r10d, dword [rsp + 0x238]
and r8d, r10d
imul r8d, ebx
mov edx, dword [rsp + 0x80]
or edx, r10d
mov ecx, dword [rsp + 0x80]
imul edx, r9d
xor ecx, r14d
mov eax, dword [rsp + 0x80]
not eax
xor ecx, 0x96
or eax, r10d
mov r9d, dword [rsp + 0x298]
mov r10d, dword [rsp + 0x230]
or r9d, r10d
imul ecx, dword [rsp + 0x28]
mov r11d, dword [rsp + 0x298]
not r11d
or r11d, r10d
add r8d, dword [rsp + 0x234]
add r11d, r9d
mov r9d, r11d
mov r10d, dword [rsp + 0xd0]
mov dword [rsp + 0x110], r10d
mov r10d, dword [rsp + 0xd0]
mov dword [rsp + 0x108], r10d
add edx, r8d
mov r8d, dword [rsp + 0xd0]
mov dword [rsp + 0x60], r8d
mov r8d, dword [rsp + 0xcc]
mov dword [rsp + 0x5c], r8d
mov r8d, dword [rsp + 0xcc]
mov dword [rsp + 0x100], r8d
add ecx, edx
mov edx, dword [rsp + 0xcc]
mov dword [rsp + 0x38], edx
mov edx, dword [rsp + 0x7c]
mov dword [rsp + 0x58], edx
mov edx, dword [rsp + 0x7c]
mov dword [rsp + 0x54], edx
sub ecx, eax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0xf8], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x294], eax
mov r13d, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x78]
mov eax, dword [rsp + 0x74]
and eax, dword [rsp + 0x1fc]
imul eax, dword [rsp + 0x248]
add eax, dword [rsp + 0x1f4]
mov edx, dword [rsp + 0x74]
mov dword [rsp + 0x290], edx
mov edx, dword [rsp + 0x74]
mov dword [rsp + 0x288], edx
add eax, dword [rsp + 0x74]
mov dword [rsp + 0x28c], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x284], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x27c], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x280], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x278], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x274], eax
mov r15d, dword [rsp + 0x70]
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x270], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x268], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x26c], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x264], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x260], eax
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x250], eax
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x258], eax
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x25c], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x254], eax
mov r12d, dword [rsp + 0x68]
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x24c], eax
mov r14d, dword [rsp + 0x68]
mov ebp, dword [rsp + 0x64]
mov esi, dword [rsp + 0x64]
mov eax, dword [rsp + 0x1c0]
xor esi, eax
mov ebx, dword [rsp + 0x64]
mov edi, dword [rsp + 0x64]
not edi
add edi, esi
imul ebp, dword [rsp + 0x28]
add ebp, dword [rsp + 0x21c]
or ebx, eax
imul ebx, dword [rsp + 0x20]
add ebx, ebp
imul edi, dword [rsp + 0x30]
add edi, ebx
mov ebp, dword [rsp + 0x22c]
sub ebp, r9d
mov ebx, dword [rsp + 0x118]
xor edi, ebx
mov esi, ebx
shl ebx, cl
mov ecx, ebp
mov r9, qword [rsp + 0x28]
shr esi, cl
or esi, ebx
mov r10, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x328]
mov r8d, dword [rsp + 0x108]
xor r8d, ecx
add r8d, dword [rsp + 0x110]
mov ebx, dword [rsp + 0x60]
or ebx, ecx
imul ebx, dword [rsp + 0x20]
add ebx, dword [rsp + 0x218]
imul r8d, r10d
add r8d, ebx
mov ebx, dword [rsp + 0x100]
xor ebx, dword [rsp + 0x210]
mov eax, dword [rsp + 0x38]
add eax, dword [rsp + 0x20c]
add eax, ebx
mov ebx, dword [rsp + 0x5c]
and ebx, dword [rsp + 0x214]
imul ebx, dword [rsp + 0x20]
add eax, ebx
mov dword [rsp + 0x38], eax
mov ebp, dword [rsp + 0x208]
mov ecx, dword [rsp + 0x58]
and ecx, ebp
mov eax, dword [rsp + 0x54]
not eax
mov ebx, dword [rsp + 0x204]
or eax, ebx
add eax, ecx
mov ecx, dword [rsp + 0x228]
sub ecx, eax
mov eax, dword [rsp + 0x4c]
or eax, ebp
mov rbp, r9
mov r9d, dword [rsp + 0x50]
and r9d, ebx
not r9d
add r9d, eax
mov ebx, r9d
and r8d, esi
mov eax, dword [rsp + 0xf8]
and eax, dword [rsp + 0x320]
mov r9d, dword [rsp + 0x200]
mov esi, dword [rsp + 0x294]
xor esi, r9d
add esi, eax
mov eax, esi
mov esi, dword [rsp + 0x1bc]
sub esi, eax
xor r11d, r9d
add r11d, esi
or r13d, r9d
imul r13d, r10d
add r11d, r13d
mov r13d, r11d
mov r9d, dword [rsp + 0x1f8]
mov eax, dword [rsp + 0x290]
or eax, r9d
imul eax, r10d
mov esi, dword [rsp + 0x288]
xor esi, r9d
add esi, eax
imul ebx, r10d
add ebx, ecx
mov r11d, dword [rsp + 0x28c]
add r11d, esi
mov ecx, dword [rsp + 0x27c]
xor ecx, dword [rsp + 0x224]
mov eax, dword [rsp + 0x280]
add eax, dword [rsp + 0x220]
add eax, ecx
mov r9d, dword [rsp + 0x1ec]
mov esi, dword [rsp + 0x278]
and esi, r9d
mov ecx, dword [rsp + 0x1e8]
sub ecx, esi
mov esi, dword [rsp + 0x274]
or esi, r9d
not r15d
or r15d, r9d
add r15d, esi
mov esi, dword [rsp + 0x270]
and esi, r9d
add esi, ecx
mov ecx, dword [rsp + 0x284]
and ecx, dword [rsp + 0x1f0]
imul ecx, dword [rsp + 0x20]
add eax, ecx
mov r9d, eax
imul r15d, r10d
add r15d, esi
mov esi, r8d
mov ecx, dword [rsp + 0x38]
shl esi, cl
and r13d, esi
mov edx, dword [rsp + 0x1e4]
mov esi, dword [rsp + 0x268]
xor esi, edx
mov eax, dword [rsp + 0x264]
or eax, dword [rsp + 0x1dc]
add eax, esi
mov esi, dword [rsp + 0x26c]
or esi, edx
imul esi, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x260]
not ecx
or ecx, edx
add esi, dword [rsp + 0x1e0]
sub esi, ecx
imul eax, r10d
add eax, esi
mov edx, eax
mov ecx, dword [rsp + 0x250]
and ecx, dword [rsp + 0x1d8]
mov eax, dword [rsp + 0x1d0]
sub eax, ecx
xor edi, r8d
mov ecx, ebx
mov ebx, dword [rsp + 0x20]
shr r8d, cl
or r8d, r13d
xor edi, r8d
mov ecx, r11d
shl r8d, cl
and r15d, r8d
mov ecx, dword [rsp + 0x1d4]
mov r8d, dword [rsp + 0x25c]
and r8d, ecx
add r8d, eax
mov eax, dword [rsp + 0x258]
xor eax, ecx
imul eax, r10d
add r8d, eax
mov eax, dword [rsp + 0x1cc]
mov ecx, dword [rsp + 0x254]
xor ecx, eax
imul ecx, ebx
add ecx, dword [rsp + 0x1c8]
or r12d, eax
imul r12d, ebp
add r12d, ecx
mov rbp, qword [rsp + 0x120]
mov ecx, r9d
shr r13d, cl
mov ecx, dword [rsp + 0x24c]
or ecx, dword [rsp + 0x1c4]
sub r12d, ecx
and r14d, eax
not r14d
mov r9, r10
imul r14d, r10d
add r14d, r12d
mov rsi, qword [rsp + 0x40]
or r13d, r15d
xor edi, r13d
mov ecx, edx
mov r10, qword [rsp + 0xf0]
shl r13d, cl
mov ecx, r8d
shr r15d, cl
and r14d, r13d
mov r13, qword [rsp + 0xe8]
or r14d, r15d
xor edi, r14d
mov r14, qword [rsp + 0xb0]
mov byte [r13 + rbp + 0x148], dil
movsxd rax, edi
mov byte [r13 + rax + 0x648], bpl
mov rax, qword [rsp + 0x198]
imul rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x198]
xor rcx, qword [rsp + 0x318]
add rbp, qword [rsp + 0x300]
add rbp, rax
add rbp, qword [rsp + 0x198]
mov rax, qword [rsp + 0x198]
or rax, qword [rsp + 0x310]
imul rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x2e0]
mov r8, qword [rsp + 0x2e0]
add rax, rcx
mov r11, qword [rsp + 0x308]
xor r8, r11
mov rcx, r10
sub rcx, r8
add rbp, rax
mov rax, qword [rsp + 0x2e0]
or rax, r11
add rax, rcx
not rdx
and rdx, r11
imul rdx, rsi
add rax, rdx
cmp rbp, rax
jne 0x18000f570
mov eax, dword [rsp + 0x768]
mov dword [rsp + 0x20], eax
mov ecx, r14d
xor cl, 0xd7
movabs r9, 0x5c7e54e49d816ab2
mov r10, r14
xor r10, r9
or r9, 1
xor r9, r14
movabs r11, 0xa381ab1b627e954d
xor r11, r14
add r9, rsi
movabs rsi, 0x235623a08272bb41
xor rsi, r14
movabs rdi, 0xdca9dc5f7d8d44be
xor rdi, r14
mov rax, r14
xor rax, 0x748fd529
mov ebx, r14d
xor ebx, 0x7596b7f1
mov ebp, r14d
xor ebp, 0x8a69480e
xor r14d, 0x748fd4d6
add r14d, ebp
mov r8, r14
mov r14, rdi
or r14, 1
add r14, rax
xor r15d, r15d
jmp 0x18000fcc9
mov byte [r13 + r15*4 + 0x748], al
mov word [r13 + r15*4 + 0x749], 0
mov byte [r13 + r15*4 + 0x74b], 0
mov rax, qword [rsp + 0x190]
not rax
and rax, r10
mov rdx, qword [rsp + 0x190]
or rdx, r10
not rdx
add rdx, rax
mov rax, qword [rsp + 0x190]
not rax
or rax, r10
mov r12, qword [rsp + 0x190]
or r12, r11
add r12, rdx
imul r12, qword [rsp + 0x40]
add r15, r9
sub r15, rax
add r15, r12
mov rax, qword [rsp + 0x2d8]
xor rax, rsi
mov rdx, qword [rsp + 0x2d8]
or rdx, rsi
add rdx, r14
mov r12, qword [rsp + 0x2d8]
or r12, rdi
add r12, rax
sub rdx, r12
cmp r15, rdx
je 0x18000fd66
movzx eax, byte [r13 + r15 + 0x148]
mov edx, eax
shl dl, cl
sar al, 7
and al, 0x1b
xor al, dl
mov byte [r13 + r15*4 + 0x248], al
mov word [r13 + r15*4 + 0x249], 0
mov byte [r13 + r15*4 + 0x24b], 0
movzx edx, byte [r13 + r15 + 0x648]
mov eax, 0
test rdx, rdx
je 0x18000fc30
mov eax, dword [rsp + rdx*4 + 0x730]
add eax, dword [rsp + 0x20]
mov edx, dword [rsp + 0xc0]
mov r12d, dword [rsp + 0xc0]
not r12d
or r12d, ebx
add r12d, edx
imul r12d, dword [rsp + 0x30]
mov edx, dword [rsp + 0xc0]
or edx, ebp
mov r13d, r8d
sub r13d, edx
add r13d, r12d
cdq
idiv r13d
mov r13, qword [rsp + 0xe8]
movsxd rax, edx
mov eax, dword [rsp + rax*4 + 0x330]
jmp 0x18000fc30
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb20], xmm0
movaps xmmword [rsp + 0xb10], xmm0
movaps xmmword [rsp + 0xb00], xmm0
movaps xmmword [rsp + 0xaf0], xmm0
movaps xmmword [rsp + 0xae0], xmm0
movaps xmmword [rsp + 0xad0], xmm0
movaps xmmword [rsp + 0xac0], xmm0
movaps xmmword [rsp + 0xab0], xmm0
movaps xmmword [rsp + 0xaa0], xmm0
movaps xmmword [rsp + 0xa90], xmm0
movaps xmmword [rsp + 0xa80], xmm0
movaps xmmword [rsp + 0xa70], xmm0
movaps xmmword [rsp + 0xa60], xmm0
movaps xmmword [rsp + 0xa50], xmm0
movaps xmmword [rsp + 0xa40], xmm0
movaps xmmword [rsp + 0xa30], xmm0
movaps xmmword [rsp + 0xa20], xmm0
movaps xmmword [rsp + 0xa10], xmm0
movaps xmmword [rsp + 0xa00], xmm0
movaps xmmword [rsp + 0x9f0], xmm0
movaps xmmword [rsp + 0x9e0], xmm0
movaps xmmword [rsp + 0x9d0], xmm0
movaps xmmword [rsp + 0x9c0], xmm0
movaps xmmword [rsp + 0x9b0], xmm0
movaps xmmword [rsp + 0x9a0], xmm0
movaps xmmword [rsp + 0x990], xmm0
movaps xmmword [rsp + 0x980], xmm0
movaps xmmword [rsp + 0x970], xmm0
movaps xmmword [rsp + 0x960], xmm0
movaps xmmword [rsp + 0x950], xmm0
movaps xmmword [rsp + 0x940], xmm0
movaps xmmword [rsp + 0x930], xmm0
movaps xmmword [rsp + 0x920], xmm0
movaps xmmword [rsp + 0x910], xmm0
movaps xmmword [rsp + 0x900], xmm0
movaps xmmword [rsp + 0x8f0], xmm0
movaps xmmword [rsp + 0x8e0], xmm0
movaps xmmword [rsp + 0x8d0], xmm0
movaps xmmword [rsp + 0x8c0], xmm0
movaps xmmword [rsp + 0x8b0], xmm0
movaps xmmword [rsp + 0x8a0], xmm0
movaps xmmword [rsp + 0x890], xmm0
movaps xmmword [rsp + 0x880], xmm0
movaps xmmword [rsp + 0x870], xmm0
movaps xmmword [rsp + 0x860], xmm0
movaps xmmword [rsp + 0x850], xmm0
movaps xmmword [rsp + 0x840], xmm0
movaps xmmword [rsp + 0x830], xmm0
movaps xmmword [rsp + 0x820], xmm0
movaps xmmword [rsp + 0x810], xmm0
movaps xmmword [rsp + 0x800], xmm0
movaps xmmword [rsp + 0x7f0], xmm0
movaps xmmword [rsp + 0x7e0], xmm0
movaps xmmword [rsp + 0x7d0], xmm0
movaps xmmword [rsp + 0x7c0], xmm0
movaps xmmword [rsp + 0x7b0], xmm0
movaps xmmword [rsp + 0x7a0], xmm0
movaps xmmword [rsp + 0x790], xmm0
movaps xmmword [rsp + 0x780], xmm0
movaps xmmword [rsp + 0x770], xmm0
movaps xmmword [rsp + 0x760], xmm0
movaps xmmword [rsp + 0x750], xmm0
movaps xmmword [rsp + 0x740], xmm0
movaps xmmword [rsp + 0x730], xmm0
movaps xmmword [rsp + 0x330], xmm0
movaps xmmword [rsp + 0x340], xmm0
movaps xmmword [rsp + 0x350], xmm0
movaps xmmword [rsp + 0x360], xmm0
movaps xmmword [rsp + 0x370], xmm0
movaps xmmword [rsp + 0x380], xmm0
movaps xmmword [rsp + 0x390], xmm0
movaps xmmword [rsp + 0x3a0], xmm0
movaps xmmword [rsp + 0x3b0], xmm0
movaps xmmword [rsp + 0x3c0], xmm0
movaps xmmword [rsp + 0x3d0], xmm0
movaps xmmword [rsp + 0x3e0], xmm0
movaps xmmword [rsp + 0x3f0], xmm0
movaps xmmword [rsp + 0x400], xmm0
movaps xmmword [rsp + 0x410], xmm0
movaps xmmword [rsp + 0x420], xmm0
movaps xmmword [rsp + 0x430], xmm0
movaps xmmword [rsp + 0x440], xmm0
movaps xmmword [rsp + 0x450], xmm0
movaps xmmword [rsp + 0x460], xmm0
movaps xmmword [rsp + 0x470], xmm0
movaps xmmword [rsp + 0x480], xmm0
movaps xmmword [rsp + 0x490], xmm0
movaps xmmword [rsp + 0x4a0], xmm0
movaps xmmword [rsp + 0x4b0], xmm0
movaps xmmword [rsp + 0x4c0], xmm0
movaps xmmword [rsp + 0x4d0], xmm0
movaps xmmword [rsp + 0x4e0], xmm0
movaps xmmword [rsp + 0x4f0], xmm0
movaps xmmword [rsp + 0x500], xmm0
movaps xmmword [rsp + 0x510], xmm0
movaps xmmword [rsp + 0x520], xmm0
movaps xmmword [rsp + 0x530], xmm0
movaps xmmword [rsp + 0x540], xmm0
movaps xmmword [rsp + 0x550], xmm0
movaps xmmword [rsp + 0x560], xmm0
movaps xmmword [rsp + 0x570], xmm0
movaps xmmword [rsp + 0x580], xmm0
movaps xmmword [rsp + 0x590], xmm0
movaps xmmword [rsp + 0x5a0], xmm0
movaps xmmword [rsp + 0x5b0], xmm0
movaps xmmword [rsp + 0x5c0], xmm0
movaps xmmword [rsp + 0x5d0], xmm0
movaps xmmword [rsp + 0x5e0], xmm0
movaps xmmword [rsp + 0x5f0], xmm0
movaps xmmword [rsp + 0x600], xmm0
movaps xmmword [rsp + 0x610], xmm0
movaps xmmword [rsp + 0x620], xmm0
movaps xmmword [rsp + 0x630], xmm0
movaps xmmword [rsp + 0x640], xmm0
movaps xmmword [rsp + 0x650], xmm0
movaps xmmword [rsp + 0x660], xmm0
movaps xmmword [rsp + 0x670], xmm0
movaps xmmword [rsp + 0x680], xmm0
movaps xmmword [rsp + 0x690], xmm0
movaps xmmword [rsp + 0x6a0], xmm0
movaps xmmword [rsp + 0x6b0], xmm0
movaps xmmword [rsp + 0x6c0], xmm0
movaps xmmword [rsp + 0x6d0], xmm0
movaps xmmword [rsp + 0x6e0], xmm0
movaps xmmword [rsp + 0x6f0], xmm0
movaps xmmword [rsp + 0x700], xmm0
movaps xmmword [rsp + 0x710], xmm0
movaps xmmword [rsp + 0x720], xmm0
mov rcx, r13
mov rdx, qword [rsp + 0x2f8]
mov r8d, dword [rsp + 0x1b8]
call fcn.1800044e0
mov ebx, 0xffffffff
test eax, eax
jne 0x180010c1b
mov rax, qword [rsp + 0x2e8]
cmp qword [rsp + 0x2f0], rax
mov eax, 0x28d82bb
mov esi, 0x5cf1fbc8
cmove rsi, rax
mov r12, rsi
xor r12, 0x5cf1fbd8
lea r14, [rsp + 0x330]
mov rcx, r14
xor edx, edx
mov r8, r12
call fcn.18003ad10
mov rcx, r13
mov rdx, r14
mov r8, r14
call section..text
test eax, eax
je 0x1800101ed
xorps xmm0, xmm0
movaps xmmword [rsp + 0x330], xmm0
jmp 0x180010c1b
movzx r8d, byte [rsp + 0x330]
mov rax, qword [rsp + 0x188]
mov ecx, esi
xor ecx, 0x5160e76f
and eax, ecx
mov ecx, esi
xor ecx, 0xa30e0436
imul eax, ecx
mov ebp, ecx
movabs rcx, 0x441107cd5160e760
xor ecx, esi
mov rdx, qword [rsp + 0x188]
mov r15, rsi
xor r15, 0x5cf1fbc9
mov r10, qword [rsp + 0x188]
mov r11d, esi
xor r11d, 0xae9f1890
or r10d, r11d
mov r9, rsi
mov rsi, qword [rsp + 0x188]
and esi, r11d
not esi
mov r11d, r9d
xor r11d, 0x5cf1fbd0
mov qword [rsp + 0xa8], r11
add edx, esi
imul edx, r15d
add ecx, r11d
inc ecx
add ecx, r10d
add ecx, eax
add ecx, edx
movzx r10d, byte [rsp + 0x331]
mov rax, qword [rsp + 0x180]
movabs rdx, 0x88ed3a4ba7338adb
xor edx, r9d
and eax, edx
mov r11, qword [rsp + 0x180]
not r11d
and r11d, edx
add r11d, eax
mov rdx, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x180]
not esi
mov eax, r9d
xor eax, 0xdc
add edx, esi
imul edx, r15d
add eax, r12d
sub eax, r11d
add eax, edx
movzx edi, byte [rsp + 0x332]
mov rbx, qword [rsp + 0x178]
mov edx, r9d
xor edx, 0xac25ee2b
xor ebx, edx
mov r11, qword [rsp + 0x178]
or r11d, edx
mov r14, qword [rsp + 0x178]
not r14d
or r14d, edx
mov qword [rsp + 0x28], r12
mov r12, qword [rsp + 0x178]
and r12d, edx
mov edx, r9d
xor edx, 0x53da11d4
mov esi, r9d
xor esi, 0x5cf1fbc0
mov dword [rsp + 0x30], esi
add edx, esi
sub edx, r11d
mov r11d, r9d
xor r11d, 0x5cf1fbca
imul ebx, r11d
mov dword [rsp + 0x40], r11d
add edx, ebx
shl r8, cl
mov ecx, eax
shl r10, cl
imul r14d, r15d
not r12d
mov dword [rsp + 0x20], ebp
imul r12d, ebp
add edx, r14d
add edx, r12d
mov ecx, edx
shl rdi, cl
movzx r13d, byte [rsp + 0x333]
or r13, r10
or r13, r8
or r13, rdi
movzx esi, byte [rsp + 0x334]
mov rax, qword [rsp + 0x170]
mov ecx, r9d
xor ecx, 0x1396d136
and eax, ecx
mov rdx, qword [rsp + 0x170]
or edx, ecx
mov r8, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x170]
not edi
or edi, ecx
movabs rcx, 0xb1fbf71aec692ec9
xor ecx, r9d
xor r8d, ecx
mov r14, qword [rsp + 0xa8]
add ecx, r14d
sub ecx, edx
imul eax, r11d
imul r8d, ebp
imul edi, r15d
add ecx, eax
add ecx, r8d
add ecx, edi
movzx edi, byte [rsp + 0x335]
mov rdx, qword [rsp + 0x168]
mov eax, r9d
xor eax, 0x7389d503
mov r8, qword [rsp + 0x168]
or r8d, eax
mov rbx, qword [rsp + 0x168]
not ebx
or ebx, eax
add ebx, r8d
and edx, eax
mov r8, qword [rsp + 0x168]
and r8d, eax
not r8d
add r8d, edx
add eax, dword [rsp + 0x28]
sub eax, ebx
imul r8d, r15d
add eax, r8d
mov edx, r9d
xor edx, 0x96929833
movzx r11d, byte [rsp + 0x336]
mov r8, qword [rsp + 0x160]
and r8d, edx
mov rdx, qword [rsp + 0x160]
add edx, r8d
movabs r8, 0x9cf00383696d67cc
xor r8d, r9d
mov rbx, qword [rsp + 0x160]
or ebx, r8d
mov r8, qword [rsp + 0x160]
not r8d
add r8d, edx
mov edx, r9d
xor edx, 0xcd
add edx, dword [rsp + 0x30]
sub edx, ebx
imul r8d, r15d
add edx, r8d
mov ebx, r9d
xor ebx, 0x38fc61f4
movzx r10d, byte [rsp + 0x337]
mov qword [rsp + 0xb8], r10
mov r12, qword [rsp + 0x2d0]
mov r8, qword [rsp + 0x2d0]
or r8d, ebx
mov rbp, qword [rsp + 0x2d0]
and ebp, ebx
add ebp, r8d
mov r8d, r9d
xor r8d, 0x6b15304e
add r8d, ebx
mov ebx, r9d
xor ebx, 0x5cf1fbe8
mov dword [rsp + 0xb0], ebx
add r8d, ebx
sub r8d, r12d
add r8d, ebp
shl rsi, cl
mov ecx, eax
shl rdi, cl
mov ecx, edx
shl r11, cl
add r8b, 2
mov ecx, r8d
shl r13, cl
or rdi, rsi
or r11, rdi
or r11, r10
or r11, r13
mov qword [rsp + 0x38], r11
movzx r8d, byte [rsp + 0x338]
mov rax, qword [rsp + 0x158]
movabs rcx, 0xe787b31bf425835a
xor ecx, r9d
and eax, ecx
mov rdx, qword [rsp + 0x158]
not edx
and edx, ecx
add edx, eax
mov rax, qword [rsp + 0x158]
or eax, ecx
mov r10, qword [rsp + 0x158]
not r10d
or r10d, ecx
add r10d, eax
imul edx, dword [rsp + 0x20]
mov ecx, r9d
xor ecx, 0x5b
add ecx, r14d
add ecx, edx
imul r10d, r15d
add ecx, r10d
mov eax, r9d
xor eax, 0xa559d8f4
movzx r10d, byte [rsp + 0x339]
mov rdx, qword [rsp + 0x2c8]
and edx, eax
mov rdi, qword [rsp + 0x2c8]
xor edi, eax
mov r12, qword [rsp + 0x2c8]
not r12d
or r12d, eax
add r12d, edx
mov eax, r9d
xor eax, 0xc
mov rdx, qword [rsp + 0x28]
add eax, edx
inc eax
add eax, edi
imul r12d, r15d
mov rbx, r15
add eax, r12d
mov edx, r9d
xor edx, 0x397ecbd5
movzx edi, byte [rsp + 0x33a]
mov r12, qword [rsp + 0x150]
xor r12d, edx
mov r13, qword [rsp + 0x150]
or r13d, edx
mov rbp, qword [rsp + 0x150]
not ebp
or ebp, edx
mov edx, r9d
xor edx, 0x2a
mov r15, qword [rsp + 0x150]
or r15d, edx
add r15d, r12d
mov edx, r9d
xor edx, 0xf4
add edx, dword [rsp + 0x30]
not r13d
mov r14d, dword [rsp + 0x40]
imul r13d, r14d
add edx, r13d
sub edx, ebp
imul r15d, ebx
add edx, r15d
shl r8, cl
mov ecx, eax
shl r10, cl
mov ecx, edx
shl rdi, cl
movzx r11d, byte [rsp + 0x33b]
or r11, r10
or r11, r8
or r11, rdi
movzx r10d, byte [rsp + 0x33c]
mov rdx, qword [rsp + 0x148]
mov eax, r9d
xor eax, 0xd719e5fb
mov rcx, qword [rsp + 0x148]
xor ecx, eax
mov r8, qword [rsp + 0x148]
or r8d, eax
movabs rax, 0xf5b9a9bc28e61a04
xor eax, r9d
and edx, eax
mov rsi, qword [rsp + 0x148]
or esi, eax
add esi, ecx
mov eax, r9d
xor eax, 5
mov rcx, qword [rsp + 0xa8]
add ecx, eax
inc ecx
add ecx, r8d
mov r13d, dword [rsp + 0x20]
imul edx, r13d
add ecx, edx
imul esi, ebx
add ecx, esi
mov edx, r9d
xor edx, 0x7de15421
movzx edi, byte [rsp + 0x33d]
mov r8, qword [rsp + 0x140]
and r8d, edx
mov edx, r9d
xor edx, 0x821eabde
mov rsi, qword [rsp + 0x140]
mov r15, qword [rsp + 0x140]
or r15d, edx
mov r12, qword [rsp + 0x140]
and r12d, edx
mov rbp, qword [rsp + 0x28]
add edx, ebp
inc edx
sub edx, esi
imul r8d, r14d
add edx, r8d
not r15d
imul r15d, ebx
add edx, r15d
add edx, r12d
mov r8d, r9d
xor r8d, 0x8fc48f17
movzx esi, byte [rsp + 0x33e]
mov r15, qword [rsp + 0x2c0]
and r15d, r8d
mov r12, qword [rsp + 0x2c0]
xor r12d, r8d
mov r8, qword [rsp + 0x2c0]
not r8d
add r8d, r12d
mov ebp, r9d
xor ebp, 0xe9
mov r12d, r9d
xor r12d, 0xc1
add r12d, ebp
imul r15d, r14d
add r12d, r15d
imul r8d, ebx
add r8d, r12d
shl r10, cl
mov ecx, edx
shl rdi, cl
mov ecx, r8d
shl rsi, cl
or rsi, r10
or rsi, rdi
movzx r8d, byte [rsp + 0x33f]
mov qword [rsp + 0x30], r8
mov rdx, qword [rsp + 0x138]
mov ecx, r9d
xor ecx, 0x68e6cb2e
and edx, ecx
mov r10, qword [rsp + 0x138]
not r10d
and r10d, ecx
mov rdi, qword [rsp + 0x138]
or edi, ecx
mov r15, qword [rsp + 0x138]
xor r15d, ecx
mov ecx, r9d
xor ecx, 0x971934d1
add ecx, dword [rsp + 0xb0]
imul edx, r14d
mov ebp, r14d
add ecx, edx
imul r10d, ebx
add ecx, r10d
sub ecx, edi
add ecx, r15d
inc cl
shl r11, cl
mov rcx, r8
or rcx, rsi
or r11, rcx
mov r14, qword [rsp + 0xe8]
mov qword [r14 + 0xb90], r11
mov r8, r11
mov qword [rsp + 0x28], r11
mov r15, qword [rsp + 0x38]
mov qword [r14 + 0xc10], r15
mov qword [r14 + 0xb50], 0
mov qword [r14 + 0xbd0], 0
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x130]
mov r10, qword [rsp + 0x130]
not r10d
mov esi, r9d
xor esi, 0x35
imul esi, r10d
mov r10d, r9d
xor r10d, 0x7f249dd2
xor edx, r10d
mov rdi, qword [rsp + 0x130]
not edi
or edi, r10d
imul ecx, r13d
mov r10d, r9d
xor r10d, 0x2d
add r10d, ebx
add r10d, ecx
imul edx, ebx
mov r11, rbx
imul edi, ebp
add r10d, edx
add r10d, esi
add r10d, edi
mov rsi, qword [rsp + 0x2b8]
movabs rcx, 0x86bea5346669befb
xor ecx, r9d
and esi, ecx
mov rdi, qword [rsp + 0x2b8]
mov rbx, qword [rsp + 0x2b8]
xor ebx, ecx
mov edx, r9d
xor edx, 0xf7
mov ecx, edx
mov r12, qword [rsp + 0xb8]
shld r12, r8, cl
add eax, r11d
sub eax, edi
imul esi, ebp
imul ebx, r11d
add eax, esi
add eax, ebx
mov r13, r15
mov ecx, eax
shr r13, cl
test dword [rsp + 0x30], r10d
movabs rax, 0xe100000000000000
mov r10, rax
mov rbp, rax
mov eax, 0
cmove r10, rax
xor r10, r13
mov qword [r14 + 0xb70], r12
mov rbx, r12
mov qword [r14 + 0xbf0], r10
mov rsi, r14
mov rax, qword [rsp + 0x2b0]
not rax
movabs rcx, 0xb9d3b3009fbb624c
xor rcx, r9
and rax, rcx
add rax, qword [rsp + 0x2b0]
mov r8, qword [rsp + 0x2b0]
not r8
or r8, rcx
movabs rcx, 0x73a76601da64c8c0
xor rcx, r9
add r8, rax
movabs rdi, 0x462c4cff60449db3
xor rdi, r9
add rdi, rcx
add rdi, r11
sub rdi, r8
mov rax, qword [rsp + 0x128]
not eax
mov ecx, r9d
xor ecx, 0x985571e8
and eax, ecx
mov r8d, r9d
xor r8d, 0xcb
imul r8d, eax
mov r15, qword [rsp + 0x128]
or r15d, ecx
mov rcx, qword [rsp + 0x128]
mov r12, qword [rsp + 0x128]
not r12d
imul r12d, dword [rsp + 0x20]
movabs rax, 0x91222f2067aa8e17
xor eax, r9d
xor ecx, eax
add eax, r11d
sub eax, r15d
imul ecx, r11d
add eax, ecx
mov r14, rbx
and rdi, rbx
mov ecx, edx
shld r13, rbx, cl
add eax, r8d
add eax, r12d
mov rbx, r10
mov ecx, eax
shr rbx, cl
test rdi, rdi
mov r12, rbp
cmovne rdi, rbp
xor rdi, rbx
mov qword [rsi + 0xb60], r13
mov qword [rsi + 0xbe0], rdi
movabs rbp, 0xc1d69bf7ad27bc4a
mov rax, r9
xor rax, rbp
and rax, qword [rsp + 0x2a8]
movabs rcx, 0x3e29640852d843b5
xor rcx, r9
mov r8, qword [rsp + 0x2a8]
and r8, rcx
xor rcx, qword [rsp + 0x2a8]
add rcx, r8
or rbp, 1
xor rbp, r9
add rbp, r11
sub rbp, rax
imul rcx, r11
add rbp, rcx
mov rcx, qword [rsp + 0x2a0]
xor ecx, r9d
mov eax, r9d
xor eax, 0x44c3bec0
xor ecx, 0x3f
mov r8, qword [rsp + 0x2a0]
mov r15, qword [rsp + 0x2a0]
and r15d, eax
not r15d
add r15d, ecx
and rbp, r13
mov ecx, edx
shld rbx, r13, cl
mov qword [rsp + 0x20], r13
not r8d
or r8d, eax
imul r15d, r11d
add eax, dword [rsp + 0x40]
sub eax, r8d
add eax, r15d
mov rdx, rdi
mov ecx, eax
shr rdx, cl
test rbp, rbp
cmovne rbp, r12
xor rbp, rdx
mov r12, rsi
mov qword [rsi + 0xb58], rbx
mov qword [rsi + 0xbd8], rbp
mov r15, rbx
xor r15, r13
mov qword [rsi + 0xb68], r15
mov r11, rbp
xor r11, rdi
mov qword [rsi + 0xbe8], r11
mov rax, rbx
mov r8, r14
xor rax, r14
mov qword [rsi + 0xb78], rax
mov rcx, rbp
mov r14, r10
xor rcx, r10
mov qword [rsi + 0xbf8], rcx
mov rdx, r13
xor rdx, r8
mov qword [rsi + 0xb80], rdx
mov r9, rdi
xor r9, r10
mov qword [r12 + 0xc00], r9
mov r10, r15
xor r10, r8
mov r13, r8
mov qword [r12 + 0xb88], r10
mov r8, r11
xor r8, r14
mov qword [r12 + 0xc08], r8
mov rsi, qword [rsp + 0x28]
xor rbx, rsi
mov qword [r12 + 0xb98], rbx
mov rbx, qword [rsp + 0x38]
xor rbp, rbx
mov qword [r12 + 0xc18], rbp
mov rbp, rsi
mov rsi, qword [rsp + 0x20]
xor rsi, rbp
mov qword [r12 + 0xba0], rsi
xor rdi, rbx
mov qword [r12 + 0xc20], rdi
xor r15, rbp
mov qword [r12 + 0xba8], r15
xor r11, rbx
mov qword [r12 + 0xc28], r11
xor r13, rbp
mov qword [r12 + 0xbb0], r13
xor r14, rbx
mov qword [r12 + 0xc30], r14
xor rax, rbp
mov qword [r12 + 0xbb8], rax
xor rcx, rbx
mov qword [r12 + 0xc38], rcx
xor rdx, rbp
mov qword [r12 + 0xbc0], rdx
xor r9, rbx
mov qword [r12 + 0xc40], r9
xor r10, rbp
mov qword [r12 + 0xbc8], r10
xor r8, rbx
mov qword [r12 + 0xc48], r8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x330], xmm0
xor ebx, ebx
mov eax, ebx
add rsp, 0xb38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret