Function at 0x1800044e0
Capabilities:
Authenticate hmac
Encode data using xor
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x528
mov rdi, rdx
mov r9, rcx
rdtsc
mov rcx, rdx
shl rcx, 0x20
or rcx, rax
rdtsc
shl rdx, 0x20
or rdx, rax
cmp rcx, rdx
mov eax, 0xa0c0641
mov r10d, 0x511d3c93
cmove r10d, eax
mov eax, r10d
xor eax, 0xe06993ad
mov edx, dword [rsp + 0x314]
and edx, eax
mov esi, r10d
xor esi, 0x511d3c91
mov dword [rsp + 0x30], esi
mov ecx, r10d
xor ecx, 0x1f966c51
sub ecx, dword [rsp + 0x314]
mov r11d, dword [rsp + 0x314]
or r11d, eax
and eax, dword [rsp + 0x314]
imul edx, esi
not eax
mov r12d, r10d
xor r12d, 0x511d3c92
imul eax, r12d
mov esi, r10d
xor esi, 0x511d3c90
add ecx, esi
add ecx, r11d
add ecx, edx
add ecx, eax
inc cl
shl r8d, cl
mov eax, 0xffffffff
cmp r8d, 0x100
je 0x180004607
cmp r8d, 0xc0
je 0x180004661
cmp r8d, 0x80
jne 0x18000a2f4
mov r13, rdi
mov dword [rsp + 0x54], esi
mov eax, r10d
mov ecx, r10d
xor ecx, 0xd9d9a90b
mov edx, r10d
xor edx, 0x511d3c9a
add edx, ecx
sub edx, dword [rsp + 0x484]
xor eax, 0x262656f4
mov ecx, dword [rsp + 0x484]
xor ecx, eax
imul ecx, r12d
add ecx, edx
and eax, dword [rsp + 0x484]
not eax
mov esi, r10d
xor esi, 0xaee2c36d
imul esi, eax
add esi, ecx
jmp 0x1800046ae
mov r13, rdi
mov dword [rsp + 0x54], esi
mov esi, r10d
xor esi, 0xbe6415d0
mov eax, dword [rsp + 0x310]
and eax, esi
mov ecx, r10d
xor ecx, 0x419bea2f
mov edx, dword [rsp + 0x310]
xor edx, ecx
or ecx, dword [rsp + 0x310]
add edx, eax
xor esi, dword [rsp + 0x310]
add esi, edx
mov eax, r10d
xor eax, 0x419bea2e
mov edx, r10d
xor edx, 0x511d3c9d
add edx, eax
sub edx, ecx
imul esi, r12d
add esi, edx
jmp 0x1800046ae
mov r13, rdi
mov dword [rsp + 0x54], esi
mov eax, r10d
xor eax, 0x92f089c9
mov ecx, dword [rsp + 0x480]
and ecx, eax
mov edx, r10d
xor edx, 0x6d0f7635
mov r11d, dword [rsp + 0x480]
xor r11d, eax
add r11d, ecx
mov esi, dword [rsp + 0x480]
not esi
or esi, eax
add esi, r11d
mov eax, r10d
xor eax, 0x511d3c9e
add eax, edx
imul esi, r12d
add esi, eax
mov dword [rsp + 0xb8], esi
mov dword [r9], esi
lea rax, [r9 + 0x10]
mov qword [rsp + 8], r9
mov qword [rsp + 0x488], rax
mov qword [r9 + 8], rax
mov eax, r10d
xor eax, 0x2c08a11f
mov ecx, dword [rsp + 0x30c]
xor ecx, eax
mov edi, r10d
xor edi, 0xaee2c36d
mov edx, dword [rsp + 0x30c]
or edx, eax
mov r11d, r10d
xor r11d, 0xe0
mov esi, dword [rsp + 0x30c]
xor esi, r11d
add esi, ecx
mov r9d, dword [rsp + 0x30c]
not r9d
or r9d, eax
add r9d, edx
mov ecx, r10d
xor ecx, 0x96
imul r9d, r12d
mov dword [rsp + 0x2c], edi
imul esi, edi
mov dword [rsp + 0x320], r11d
add ecx, r11d
add ecx, esi
add ecx, r9d
shr r8d, cl
mov r11d, r10d
mov dword [rsp + 0x14], r12d
movabs rax, 0xf3edc8b3bce4613a
xor rax, r11
mov qword [rsp + 0x68], rax
movabs rax, 0xe7db91678aef87c1
xor rax, r11
movabs rcx, 0xc12374c431b9ec5
xor rcx, r11
mov qword [rsp + 0x80], rcx
mov rsi, r11
xor rsi, 0x511d3c92
mov rbx, r11
xor rbx, 0x511d3c91
add rax, rbx
mov qword [rsp + 0x20], rax
movabs rax, 0x7fc0c527a08accec
lea rcx, [rax + 1]
xor rcx, r11
mov qword [rsp + 0x48], rcx
movabs rcx, 0x803f3ad85f753312
xor rcx, r11
mov qword [rsp + 0x60], rcx
xor rax, r11
add rax, rbx
mov qword [rsp + 0x38], rax
mov edi, r10d
xor edi, 0x4f0af828
movabs rax, 0xe3aaf7128c353378
xor rax, r11
mov rcx, r11
xor rcx, 0x511d3c90
add rcx, rax
mov qword [rsp + 0x90], rcx
mov eax, r10d
xor eax, 0xb0f507d7
mov dword [rsp + 0x28], eax
mov eax, r10d
xor eax, 0x511d3c8b
mov qword [rsp + 0x58], rax
mov ecx, eax
or ecx, 1
movabs rax, 0x9c3b0220c92d2228
xor rax, r11
movabs rdx, 0xc789fbbe9e82fe1b
xor rdx, r11
movabs r9, 0x63c4fddf36d2ddd7
xor r9, r11
mov qword [rsp + 0xb0], r9
mov r9, r11
xor r9, 0xffffffffaee2c36d
mov qword [rsp + 0x340], r9
mov qword [rsp + 0xd8], rax
add rdx, rax
add rdx, rbx
mov qword [rsp + 0xd0], rdx
mov eax, r10d
xor eax, 0x3c154d69
mov dword [rsp + 0xcc], eax
mov r9d, r10d
xor r9d, 0xaee2c36e
mov edx, r10d
xor edx, 0x8b0ddf67
mov eax, r10d
xor eax, 0xc3eab296
mov dword [rsp + 0xc4], eax
mov eax, r10d
xor eax, 0x511d3c83
mov qword [rsp + 0x70], rax
or eax, 1
mov qword [rsp + 0xa8], rax
add edx, eax
mov dword [rsp + 0xc8], edx
movabs r15, 0x1c5508ed73cacc87
xor r15, r11
mov eax, r10d
xor eax, 0x2053701f
mov dword [rsp + 0xc0], eax
mov r14d, r10d
xor r14d, 0xdfac8fe0
mov eax, r10d
xor eax, 0x511d3c9b
mov qword [rsp + 0x78], rax
or eax, 1
movabs rdx, 0xb8c5a66b3b5ca92b
xor rdx, r11
movabs r12, 0x473a5994c4a356da
mov qword [rsp + 0x318], r11
xor r12, r11
add r12, rsi
mov qword [rsp + 0x330], r12
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x88], rdi
add ecx, edi
mov dword [rsp + 0xbc], ecx
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x338], r14
add eax, r14d
mov dword [rsp + 0x328], eax
xor ebp, ebp
mov qword [rsp], r10
mov rdi, r13
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x40], rbx
mov r14d, dword [rsp + 0x14]
mov r11d, dword [rsp + 0xcc]
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x4b0]
mov rax, qword [rsp + 0x68]
and ecx, eax
mov r10, qword [rsp + 0x4b0]
or r10d, eax
add r10d, ecx
mov rbx, qword [rsp + 0x4b0]
not ebx
or ebx, eax
add ebx, r10d
mov rcx, qword [rsp + 0x4b0]
or ecx, dword [rsp + 0x80]
mov r10d, esi
imul r10d, ecx
mov rax, qword [rsp + 0x20]
mov ecx, eax
sub ecx, ebx
add ecx, r10d
mov r13, rbp
shl r13, cl
mov rcx, qword [rsp + 0x520]
mov rax, qword [rsp + 0x48]
and rcx, rax
mov r10, qword [rsp + 0x520]
and r10, qword [rsp + 0x60]
imul r10, rsi
mov rbx, qword [rsp + 0x520]
xor rbx, rax
add rbx, rcx
mov rcx, qword [rsp + 0x38]
sub rcx, rbx
add rcx, r10
or rcx, r13
movzx ebx, byte [rdi + rcx]
mov ecx, dword [rsp + 0x184]
not ecx
imul ecx, dword [rsp + 0x30]
add ecx, dword [rsp + 0xbc]
mov r10d, dword [rsp + 0x184]
not r10d
mov r12, qword [rsp + 0x88]
or r10d, r12d
imul r10d, dword [rsp + 0x2c]
add r10d, ecx
mov eax, dword [rsp + 0x184]
or eax, dword [rsp + 0x28]
imul eax, r14d
mov ecx, dword [rsp + 0x184]
and ecx, r12d
add ecx, eax
add ecx, r10d
shl ebx, cl
mov rax, qword [rsp + 0x518]
imul rax, rsi
add rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x518]
xor rcx, qword [rsp + 0xd8]
sub rax, rcx
mov rcx, qword [rsp + 0x518]
or rcx, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x340]
imul rcx, r12
add rcx, rax
or rcx, r13
movzx r10d, byte [rdi + rcx]
mov eax, dword [rsp + 0x180]
and eax, r11d
imul eax, r9d
mov ecx, dword [rsp + 0x180]
mov esi, r9d
mov r9d, dword [rsp + 0x180]
add r9d, dword [rsp + 0xc8]
add r9d, eax
xor ecx, r11d
sub r9d, ecx
mov ecx, dword [rsp + 0x180]
or ecx, dword [rsp + 0xc4]
imul ecx, r14d
add ecx, r9d
shl r10d, cl
or r10d, ebx
mov rax, qword [rsp + 0x510]
and rax, r15
mov rcx, qword [rsp + 0x510]
xor rcx, r15
add rcx, rax
mov rax, qword [rsp + 0x510]
not rax
or rax, r15
add rax, rcx
imul rax, qword [rsp + 0x18]
add rax, qword [rsp + 0x90]
or rax, r13
movzx ebx, byte [rdi + rax]
mov eax, dword [rsp + 0x17c]
not eax
and eax, dword [rsp + 0xc0]
mov r9d, dword [rsp + 0x17c]
xor r9d, dword [rsp]
xor r9d, 0xe0
add r9d, eax
imul r9d, r14d
mov ecx, dword [rsp + 0x17c]
add ecx, dword [rsp + 0x328]
add ecx, r9d
mov eax, dword [rsp + 0x17c]
or eax, dword [rsp + 0x338]
sub ecx, eax
shl ebx, cl
movzx eax, byte [rdi + r13]
or eax, ebx
mov rbx, qword [rsp + 0x40]
or eax, r10d
mov rcx, qword [rsp + 0x488]
mov dword [rcx + rbp*4], eax
mov rax, qword [rsp + 0x4a8]
mov rcx, qword [rsp + 0x4a8]
or rcx, rdx
imul rcx, rbx
mov r9, qword [rsp + 0x4a8]
xor r9, rdx
add r9, rcx
xor rax, rdx
imul rax, r12
add rbp, qword [rsp + 0x330]
add rbp, rax
add rbp, r9
mov r9d, esi
mov rsi, qword [rsp + 0x18]
mov rax, qword [rsp + 0x4a8]
not rax
imul rax, rsi
add rbp, rax
cmp rbp, r8
jne 0x180004980
mov eax, dword [rsp + 0xb8]
cmp eax, 0xa
je 0x1800055e2
cmp eax, 0xc
mov r13, qword [rsp + 8]
mov rbx, qword [rsp]
mov r14d, dword [rsp + 0x14]
mov r15d, dword [rsp + 0x2c]
je 0x18000779c
cmp eax, 0xe
mov r8, qword [rsp + 0x78]
mov eax, 0xffffffff
jne 0x18000a2f4
mov eax, ebx
xor eax, 0x356b3eed
mov dword [rsp + 0x20], eax
mov ecx, ebx
xor ecx, 0x511d3c6c
mov eax, ebx
xor eax, 0x648067e7
mov edx, ebx
xor edx, 0x511d3c9c
add edx, eax
mov dword [rsp + 0x80], edx
mov eax, ebx
xor eax, 0xe76e9227
mov edx, ebx
xor edx, 0x75db1436
add edx, eax
mov eax, ebx
xor eax, 0xe58109b5
mov r9d, ebx
xor r9d, 0x74acd9ff
add r9d, eax
mov eax, ebx
xor eax, 0x3ef5a1db
mov r10d, ebx
xor r10d, 0x19168dc8
add r10d, eax
mov esi, ebx
xor esi, 0x96064531
mov eax, ebx
xor eax, 0x20d43029
mov qword [rsp + 0x88], rsi
add esi, ecx
inc esi
add esi, eax
mov dword [rsp + 0x68], esi
mov eax, ebx
xor eax, 0xdda8e589
mov esi, ebx
xor esi, 0x511d3c9a
add esi, eax
mov dword [rsp + 0x90], esi
mov eax, ebx
xor eax, 0x2aabc36b
mov esi, ebx
xor esi, 0x511d3c89
add esi, eax
mov dword [rsp + 0x28], esi
movabs rax, 0x3714adb189c85657
mov rsi, qword [rsp + 0x318]
xor rax, rsi
mov qword [rsp + 0xd8], rax
movabs rax, 0xc8eb524e7637a9af
xor rax, rsi
add qword [rsp + 0x40], rax
movabs rax, 0x511ad86f40aea617
xor rax, rsi
movabs r11, 0xaee52790bf5159e8
xor r11, rsi
mov qword [rsp + 0xb0], r11
xor rsi, 0x511d3c94
mov qword [rsp + 0xd0], rax
or rax, 1
add rax, rsi
mov qword [rsp + 0x340], rax
mov eax, ebx
xor eax, 0x356b3eec
add eax, r8d
mov dword [rsp + 0xcc], eax
mov eax, ebx
xor eax, 0xd49ecf24
mov dword [rsp + 0xc8], eax
mov eax, ebx
xor eax, 0x2b6130da
mov r11d, ebx
xor r11d, 0x2b6130db
mov dword [rsp + 0xc4], r11d
add eax, ecx
inc eax
mov dword [rsp + 0xc0], eax
mov eax, ebx
xor eax, 0x648067e0
mov dword [rsp + 0x338], eax
mov eax, ebx
xor eax, 0x8a24ebc9
mov dword [rsp + 0x330], eax
add edx, ecx
mov dword [rsp + 0x38], edx
mov eax, ebx
xor eax, 0x8b532600
mov dword [rsp + 0xbc], eax
add r9d, r8d
mov dword [rsp + 0x48], r9d
mov eax, ebx
xor eax, 0x6c01da7b
mov dword [rsp + 0x328], eax
mov eax, ebx
xor eax, 0x93fe2584
mov dword [rsp + 0x98], eax
mov edx, ebx
xor edx, 0x6c01da7a
mov rax, qword [rsp + 0x58]
add edx, eax
mov dword [rsp + 0x34], edx
mov edx, ebx
xor edx, 0xe6e97237
mov dword [rsp + 0x320], edx
mov rdx, qword [rsp + 0x70]
add r10d, edx
mov dword [rsp + 0x60], r10d
mov r9d, ebx
xor r9d, 0xa4530778
mov dword [rsp + 0xb8], r9d
mov r9d, ebx
xor r9d, 0x5bacf887
add r9d, eax
mov dword [rsp + 0x318], r9d
mov eax, ebx
xor eax, 0x22571a76
mov dword [rsp + 0x124], eax
mov eax, ebx
xor eax, 0xdeef0be0
mov dword [rsp + 0x120], eax
mov eax, ebx
xor eax, 0xdeef0be7
add eax, ecx
mov dword [rsp + 0x11c], eax
mov eax, ebx
xor eax, 0x4985edcb
mov dword [rsp + 0x118], eax
mov eax, ebx
xor eax, 0xb67a1234
mov dword [rsp + 0x114], eax
mov eax, ebx
xor eax, 0xb67a123b
add eax, edx
mov dword [rsp + 0x110], eax
mov eax, ebx
xor eax, 0x2fc6699e
mov dword [rsp + 0x10c], eax
mov eax, ebx
xor eax, 0x2fc6699d
mov edx, ebx
xor edx, 0xd0399661
mov dword [rsp + 0x108], edx
add eax, ecx
mov dword [rsp + 0x4a0], eax
mov eax, ebx
xor eax, 0x7f0ad854
mov dword [rsp + 0x104], eax
mov eax, ebx
xor eax, 0xd32f51d
mov edx, ebx
xor edx, 0x80f527ab
mov dword [rsp + 0xfc], edx
add eax, r8d
mov dword [rsp + 0x100], eax
mov eax, ebx
xor eax, 0xb65fea46
mov r8d, ebx
xor r8d, 0x511d3c85
mov qword [rsp + 0x498], rax
add eax, r8d
add eax, 2
mov dword [rsp + 0xf8], eax
mov eax, ebx
xor eax, 0x7fefffa6
mov dword [rsp + 0xf4], eax
mov eax, ebx
xor eax, 0x80100058
mov edx, ebx
xor edx, 0x80100059
mov dword [rsp + 0xec], edx
add eax, dword [rsp + 0xa8]
mov dword [rsp + 0xf0], eax
mov eax, ebx
xor eax, 0x6f17a7ff
mov edx, ebx
xor edx, 0x90e85800
mov dword [rsp + 0xe8], edx
mov qword [rsp + 0x490], rax
add eax, ecx
inc eax
mov dword [rsp + 0xe4], eax
mov eax, ebx
xor eax, 0xd5543c94
mov dword [rsp + 0xe0], eax
mov edi, dword [r13 + 0x10]
lea rbp, [r13 + 0x4c]
xor r8d, r8d
mov r14d, dword [rsp + 0x30]
mov eax, r15d
nop dword [rax + rax]
xor edi, dword [r13 + r8*4 + 0x120]
mov r11d, dword [rbp - 0x20]
mov r9d, dword [rsp + 0x39c]
xor r9d, ebx
xor r9d, 0x12
mov ecx, dword [rsp + 0x39c]
not ecx
mov edx, dword [rsp + 0x20]
or ecx, edx
mov r10d, dword [rsp + 0xcc]
sub r10d, ecx
mov ecx, dword [rsp + 0x39c]
and ecx, edx
not ecx
add ecx, r9d
mov edx, dword [rsp + 0x14]
imul ecx, edx
add ecx, r10d
mov r10, r11
shr r10, cl
mov ecx, dword [rsp + 0x178]
xor ecx, ebx
xor ecx, 0x2b6130db
imul ecx, eax
mov r9d, dword [rsp + 0x178]
or r9d, dword [rsp + 0xc4]
imul r9d, edx
add r9d, dword [rsp + 0xc0]
add r9d, ecx
mov ecx, dword [rsp + 0x178]
not ecx
mov r15d, dword [rsp + 0xc8]
or ecx, r15d
imul ecx, r14d
mov esi, dword [rsp + 0x178]
and esi, r15d
add esi, ecx
add esi, r9d
and r10d, esi
movzx esi, byte [r13 + r10 + 0x148]
mov ecx, dword [rsp + 0x398]
mov r15d, dword [rsp + 0x338]
and ecx, r15d
mov r9d, dword [rsp + 0x398]
xor r9d, ebx
xor r9d, 0x1f
imul r9d, edx
mov r10d, dword [rsp + 0x398]
not r10d
or r10d, r15d
add r10d, ecx
mov ecx, dword [rsp + 0x80]
sub ecx, r10d
add ecx, r9d
mov r9, r11
shr r9, cl
mov ecx, dword [rsp + 0x38]
sub ecx, dword [rsp + 0x394]
mov r10d, dword [rsp + 0x394]
xor r10d, ebx
xor r10d, 0x75db1436
imul r10d, edx
add r10d, ecx
mov ecx, dword [rsp + 0x394]
not ecx
or ecx, dword [rsp + 0x330]
imul ecx, eax
add ecx, r10d
and r9d, ecx
movzx r10d, byte [r13 + r9 + 0x148]
mov ecx, dword [rsp + 0x390]
mov r15d, dword [rsp + 0xbc]
and ecx, r15d
mov r9d, dword [rsp + 0x390]
xor r9d, r15d
add r9d, ecx
mov ebx, dword [rsp + 0x390]
not ebx
or ebx, r15d
add ebx, r9d
mov ecx, dword [rsp + 0x48]
sub ecx, ebx
shl r10d, cl
mov r9d, dword [rsp + 0x174]
not r9d
mov r15d, dword [rsp + 0x328]
and r9d, r15d
mov ebx, dword [rsp + 0x174]
mov r12, r13
mov r13d, dword [rsp + 0x98]
and ebx, r13d
mov ecx, dword [rsp + 0x174]
or ecx, r15d
mov r15d, dword [rsp + 0x34]
sub r15d, ecx
mov ecx, dword [rsp + 0x174]
or ecx, r13d
add ecx, ebx
add ecx, r9d
imul ecx, edx
add ecx, r15d
mov r9, r11
shr r9, cl
movzx ebx, byte [r12 + r9 + 0x148]
mov ecx, dword [rsp + 0x38c]
mov r13d, dword [rsp + 0x320]
and ecx, r13d
mov r9d, dword [rsp + 0x38c]
xor r9d, r13d
add r9d, ecx
mov r15d, dword [rsp + 0x38c]
not r15d
or r15d, r13d
add r15d, r9d
mov ecx, dword [rsp + 0x60]
sub ecx, r15d
shl ebx, cl
xor esi, edi
xor r10d, esi
mov ecx, dword [rsp + 0x388]
mov rsi, qword [rsp + 0x88]
xor ecx, esi
add ecx, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x388]
not r9d
imul r9d, edx
add r9d, ecx
mov ecx, dword [rsp + 0x388]
and ecx, esi
not ecx
imul ecx, eax
add ecx, r9d
and ecx, r11d
movzx edi, byte [r12 + rcx + 0x148]
mov r9d, dword [rsp + 0x170]
mov r15d, dword [rsp + 0xb8]
and r9d, r15d
imul r9d, edx
add r9d, dword [rsp + 0x318]
mov ecx, dword [rsp + 0x170]
not ecx
and ecx, r15d
imul ecx, r14d
add ecx, r9d
mov r9d, dword [rsp + 0x170]
xor r9d, r15d
mov esi, dword [rsp + 0x170]
not esi
or esi, r15d
add esi, r9d
sub ecx, esi
shl edi, cl
xor edi, ebx
xor edi, r10d
mov dword [rbp - 0x1c], edi
mov r10d, dword [rbp - 0x38]
xor r10d, edi
mov dword [rbp - 0x18], r10d
xor r10d, dword [rbp - 0x34]
mov dword [rbp - 0x14], r10d
xor r10d, dword [rbp - 0x30]
mov dword [rbp - 0x10], r10d
mov r9d, dword [rsp + 0x4d8]
mov esi, dword [rsp + 0x124]
and r9d, esi
mov ecx, dword [rsp + 0x4d8]
not ecx
and ecx, esi
add ecx, r9d
imul ecx, edx
add ecx, dword [rsp + 0x90]
mov r9d, r10d
shr r9d, cl
mov ecx, dword [rsp + 0x384]
and ecx, dword [rsp + 0x120]
imul ecx, eax
add ecx, dword [rsp + 0x11c]
mov esi, dword [rsp + 0x384]
mov ebx, dword [rsp + 0x384]
xor ebx, dword [rsp]
xor ebx, 0x2110f41f
add ebx, esi
imul ebx, edx
add ebx, ecx
and ebx, r9d
movzx esi, byte [r12 + rbx + 0x148]
xor esi, dword [rbp - 0x2c]
mov ecx, dword [rsp + 0x380]
and ecx, dword [rsp + 0x118]
imul ecx, r14d
mov r9d, dword [rsp + 0x380]
mov r15d, dword [rsp + 0x114]
or r9d, r15d
mov ebx, dword [rsp + 0x110]
sub ebx, r9d
add ebx, ecx
mov ecx, dword [rsp + 0x380]
not ecx
or ecx, r15d
imul ecx, edx
add ecx, ebx
mov ebx, r10d
shr ebx, cl
mov ecx, dword [rsp + 0x16c]
mov r13d, dword [rsp + 0x10c]
or ecx, r13d
mov r9d, dword [rsp + 0x4a0]
sub r9d, ecx
mov ecx, dword [rsp + 0x16c]
xor ecx, dword [rsp]
xor ecx, 0xd0399661
imul ecx, eax
mov r15d, dword [rsp + 0x16c]
or r15d, dword [rsp + 0x108]
imul r15d, r14d
add r15d, r9d
add r15d, ecx
mov ecx, dword [rsp + 0x16c]
not ecx
or ecx, r13d
imul ecx, edx
add ecx, r15d
and ecx, ebx
movzx ebx, byte [r12 + rcx + 0x148]
mov r9d, dword [rsp + 0x168]
mov r13d, dword [rsp + 0x104]
xor r9d, r13d
mov r15d, dword [rsp + 0x168]
or r15d, r13d
imul r15d, eax
add r15d, dword [rsp + 0x100]
mov ecx, dword [rsp + 0x168]
or ecx, dword [rsp + 0xfc]
add ecx, r9d
mov r9d, dword [rsp + 0x168]
not r9d
or r9d, r13d
sub r15d, r9d
imul ecx, edx
add ecx, r15d
shl ebx, cl
mov r9d, dword [rsp + 0x37c]
mov rcx, qword [rsp + 0x498]
or r9d, ecx
imul r9d, eax
mov r15d, dword [rsp + 0x37c]
xor r15d, ecx
mov ecx, dword [rsp + 0x37c]
add ecx, dword [rsp + 0xf8]
add ecx, r15d
add ecx, r9d
mov r9, r10
shr r9, cl
movzx r15d, byte [r12 + r9 + 0x148]
mov r9d, dword [rsp + 0x164]
not r9d
mov r12d, dword [rsp + 0xf4]
and r9d, r12d
imul r9d, r14d
mov r13d, dword [rsp + 0x164]
and r13d, dword [rsp + 0xec]
mov ecx, dword [rsp + 0x164]
xor ecx, dword [rsp]
xor ecx, 0x59
add ecx, r13d
mov r13d, dword [rsp + 0x164]
and r13d, r12d
add r13d, dword [rsp + 0xf0]
add r13d, r9d
imul ecx, edx
add ecx, r13d
mov r13, qword [rsp + 8]
shl r15d, cl
xor r15d, esi
xor r15d, ebx
mov rbx, qword [rsp]
mov ecx, dword [rsp + 0x378]
and ecx, dword [rsp + 0x490]
mov r9d, dword [rsp + 0xe4]
sub r9d, ecx
mov ecx, dword [rsp + 0x378]
mov r12d, dword [rsp + 0xe8]
xor ecx, r12d
imul ecx, edx
mov esi, dword [rsp + 0x378]
and esi, r12d
add esi, r9d
add esi, ecx
and esi, r10d
movzx r10d, byte [r13 + rsi + 0x148]
mov r9d, dword [rsp + 0x374]
mov esi, dword [rsp + 0x374]
mov ecx, dword [rsp + 0x374]
xor ecx, ebx
xor ecx, 0x6b
add ecx, esi
mov rsi, qword [rsp + 0x18]
not r9d
and r9d, dword [rsp + 0xe0]
imul r9d, r14d
add r9d, dword [rsp + 0x28]
imul ecx, edx
add ecx, r9d
shl r10d, cl
xor r10d, r15d
mov dword [rbp - 0xc], r10d
xor r10d, dword [rbp - 0x28]
mov dword [rbp - 8], r10d
xor r10d, dword [rbp - 0x24]
mov dword [rbp - 4], r10d
xor r10d, r11d
mov dword [rbp], r10d
mov rcx, qword [rsp + 0x508]
mov rdx, qword [rsp + 0xd8]
and rcx, rdx
mov r9, qword [rsp + 0x508]
xor r9, rdx
add r9, rcx
mov rcx, qword [rsp + 0x508]
not rcx
or rcx, rdx
add rcx, r9
imul rcx, rsi
add r8, qword [rsp + 0x40]
add r8, rcx
mov rcx, qword [rsp + 0x500]
and rcx, qword [rsp + 0xd0]
mov r9, qword [rsp + 0x340]
sub r9, rcx
mov rcx, qword [rsp + 0x500]
mov r10, qword [rsp + 0x500]
mov rdx, qword [rsp + 0xb0]
and r10, rdx
add r10, r9
xor rcx, rdx
imul rcx, rsi
add r10, rcx
add rbp, 0x20
cmp r8, r10
jne 0x180004fb0
jmp 0x180009584
mov r12, qword [rsp + 8]
mov r11d, dword [r12 + 0x1c]
mov edx, dword [r12 + 0x120]
xor edx, dword [r12 + 0x10]
mov eax, dword [rsp + 0x40c]
mov ecx, dword [rsp + 0x14]
imul eax, ecx
mov r8d, ecx
mov r13, qword [rsp]
mov dword [rsp + 0x34], r9d
mov r9d, r13d
xor r9d, 0xe43d9ae1
mov r10d, dword [rsp + 0x40c]
or r10d, r9d
mov ecx, dword [rsp + 0x2c]
imul r10d, ecx
mov edi, ecx
mov ecx, r13d
xor ecx, 0x511d3c94
mov qword [rsp + 0x80], rcx
add ecx, r9d
inc ecx
xor r9d, dword [rsp + 0x40c]
add ecx, eax
add ecx, r10d
add ecx, r9d
mov rax, r11
mov rbp, r11
shr rax, cl
mov ecx, r13d
xor ecx, 0x96be70ee
mov r9d, dword [rsp + 0x408]
xor r9d, ecx
mov r10d, dword [rsp + 0x408]
mov r11d, r13d
xor r11d, 0x69418f11
or r11d, dword [rsp + 0x408]
or r10d, ecx
add r11d, r9d
mov r9d, r13d
xor r9d, 0x511d3d93
imul r11d, r8d
add r9d, ecx
sub r9d, r10d
add r9d, r11d
and eax, r9d
movzx r15d, byte [r12 + rax + 0x148]
mov ecx, dword [rsp + 0x264]
mov r9d, r13d
xor r9d, 0xa3
mov r10d, dword [rsp + 0x264]
xor r10d, r13d
xor r10d, 0x5c
add r10d, ecx
imul r10d, r8d
mov r11d, dword [rsp + 0x264]
not r11d
mov ecx, dword [rsp + 0x30]
imul r11d, ecx
mov ebx, ecx
mov esi, dword [rsp + 0x264]
not esi
or esi, r9d
imul esi, edi
mov ecx, r13d
xor ecx, 0xa2
mov rax, qword [rsp + 0x70]
add ecx, eax
add ecx, r11d
add ecx, esi
add ecx, r10d
mov r9, rbp
shr r9, cl
mov ecx, dword [rsp + 0x404]
not ecx
mov r10d, r13d
xor r10d, 0xcd5d50a7
and ecx, r10d
mov eax, r13d
xor eax, 0x511d3c6d
mov dword [rsp + 0x68], eax
mov r11d, r10d
or r11d, 1
add r11d, eax
sub r11d, dword [rsp + 0x404]
imul ecx, edi
xor r10d, dword [rsp + 0x404]
add r10d, r11d
add r10d, ecx
and r9d, r10d
movzx r14d, byte [r12 + r9 + 0x148]
mov r10d, r13d
xor r10d, 0x4d49c2ef
mov rcx, qword [rsp + 0x98]
lea r11d, [rcx + r10]
and r10d, dword [rsp + 0x400]
imul r10d, edi
mov ecx, dword [rsp + 0x400]
imul ecx, r8d
mov eax, r13d
xor eax, 0x10
mov dword [rsp + 0x88], eax
mov esi, dword [rsp + 0x400]
xor esi, eax
add ecx, r11d
add ecx, r10d
add ecx, esi
shl r14d, cl
mov r10d, dword [rsp + 0x260]
imul r10d, edi
mov eax, edi
mov ecx, r13d
xor ecx, 0xe04a79d9
mov r11d, r13d
xor r11d, 0xf64961c8
mov esi, dword [rsp + 0x260]
or esi, r11d
imul esi, dword [rsp + 0x54]
mov edi, dword [rsp + 0x260]
xor edi, r13d
xor edi, 0x37
imul edi, r8d
and r11d, dword [rsp + 0x260]
add ecx, dword [rsp + 0xa0]
add ecx, r10d
add ecx, esi
add ecx, edi
add ecx, r11d
mov r10, rbp
shr r10, cl
xor r15d, edx
mov dword [rsp + 0x18], r15d
movzx edx, byte [r12 + r10 + 0x148]
mov r10d, dword [rsp + 0x3fc]
imul r10d, r8d
mov ecx, r13d
xor ecx, 0x1ac3cff9
mov r11d, r13d
xor r11d, 0x8b0dbad8
mov esi, dword [rsp + 0x3fc]
xor esi, r11d
mov edi, dword [rsp + 0x3fc]
not edi
or edi, r11d
imul edi, ebx
mov r11d, r13d
xor r11d, 0xdf
mov dword [rsp + 0x60], r11d
add ecx, dword [rsp + 0xa8]
add ecx, r11d
add ecx, esi
add ecx, r10d
add ecx, edi
mov r10d, r13d
xor r10d, 0xe2f75c1c
mov esi, dword [rsp + 0x25c]
xor esi, r10d
mov edi, r13d
xor edi, 0x1d08a3e2
mov r9d, r13d
xor r9d, 0x511d3c6c
mov qword [rsp + 0x40], r9
add edi, r9d
add edi, esi
mov esi, dword [rsp + 0x25c]
xor esi, r10d
imul esi, eax
mov r15d, eax
add esi, edi
mov edi, dword [rsp + 0x25c]
not edi
imul edi, r8d
add edi, esi
or r10d, dword [rsp + 0x25c]
imul r10d, ebx
mov r9d, ebx
add r10d, edi
inc r10d
mov rdi, rbp
mov qword [rsp + 0x48], rbp
and r10d, edi
movzx eax, byte [r12 + r10 + 0x148]
mov r10d, r13d
xor r10d, 0x60f62c8b
mov esi, dword [rsp + 0x258]
mov ebx, dword [rsp + 0x258]
or ebx, r10d
mov ebp, dword [rsp + 0x258]
not ebp
or ebp, r10d
add ebp, ebx
shl edx, cl
and esi, r10d
mov rcx, qword [rsp + 0x58]
add ecx, r10d
and r10d, dword [rsp + 0x258]
not r10d
add r10d, esi
sub ecx, ebp
imul r10d, r8d
add ecx, r10d
shl eax, cl
xor edx, dword [rsp + 0x18]
xor edx, r14d
xor eax, edx
mov dword [rsp + 0x38], eax
mov rbp, r12
mov dword [r12 + 0x20], eax
mov ecx, dword [r12 + 0x14]
mov dword [rsp + 0x20], ecx
mov edx, dword [r12 + 0x124]
mov dword [rsp + 0x90], edx
xor eax, ecx
mov dword [r12 + 0x24], eax
xor eax, dword [r12 + 0x18]
mov dword [rsp + 0x18], eax
mov dword [r12 + 0x28], eax
mov r11d, eax
xor r11d, edi
mov dword [r12 + 0x2c], r11d
mov eax, r13d
xor eax, 0x88459874
mov r10d, dword [rsp + 0x254]
and r10d, eax
mov esi, dword [rsp + 0x254]
or esi, eax
mov ebx, dword [rsp + 0x254]
mov r12d, dword [rsp + 0x254]
not r12d
or r12d, eax
mov r14d, r15d
imul r10d, r15d
mov ecx, r13d
xor ecx, 0x8845987b
mov r15, qword [rsp + 0x78]
add ecx, r15d
add ecx, r10d
mov edi, r8d
imul esi, r8d
add ecx, esi
xor ebx, r13d
xor ebx, 0x8b
imul ebx, r9d
add ecx, ebx
sub ecx, r12d
mov r10d, r13d
xor r10d, 0xb47be10e
mov eax, dword [rsp + 0x250]
xor eax, r10d
imul eax, r8d
mov r8, qword [rsp + 0x40]
add eax, r8d
add eax, r10d
or r10d, dword [rsp + 0x250]
not r10d
mov edx, dword [rsp + 0x54]
imul r10d, edx
add eax, r10d
mov r10d, dword [rsp + 0x250]
not r10d
imul r10d, r14d
mov esi, r13d
xor esi, 0x4b841ef1
or esi, dword [rsp + 0x250]
add eax, r10d
sub eax, esi
mov r10d, r11d
shr r10d, cl
and eax, r10d
movzx eax, byte [rbp + rax + 0x148]
mov dword [rsp + 0x28], eax
mov eax, r13d
xor eax, 0xadb50449
mov r10d, dword [rsp + 0x3f8]
xor r10d, eax
mov ecx, r13d
xor ecx, 0xb6
add ecx, dword [rsp + 0x70]
sub ecx, r10d
or eax, dword [rsp + 0x3f8]
mov r10d, dword [rsp + 0x3f8]
not r10d
imul r10d, edi
add ecx, r10d
not eax
imul eax, r14d
mov esi, r14d
add ecx, eax
mov eax, r13d
xor eax, 0x2bb0a8ae
mov r10d, dword [rsp + 0x24c]
mov ebx, dword [rsp + 0x24c]
xor ebx, eax
add ebx, r10d
mov r10d, dword [rsp + 0x24c]
or r10d, eax
mov r12d, dword [rsp + 0x24c]
not r12d
or r12d, eax
imul r10d, dword [rsp + 0x34]
mov eax, r13d
xor eax, 0x2bb0a8ad
add eax, r8d
add eax, r10d
imul ebx, r9d
add eax, ebx
imul r12d, edi
add eax, r12d
mov r10d, r11d
shr r10d, cl
and eax, r10d
movzx r10d, byte [rbp + rax + 0x148]
mov eax, r13d
xor eax, 0x52
mov ebx, dword [rsp + 0x248]
lea r8d, [r15 + rax]
xor eax, dword [rsp + 0x248]
mov r12d, dword [rsp + 0x248]
not r12d
add r12d, eax
mov ecx, r13d
xor ecx, 0x5b18e4ad
or ebx, ecx
mov eax, dword [rsp + 0x248]
not eax
or eax, ecx
sub r8d, ebx
imul r12d, r14d
add r8d, r12d
imul eax, edx
add r8d, eax
mov ebx, dword [rsp + 0x244]
not ebx
mov eax, r13d
xor eax, 0x2c68a243
and ebx, eax
mov edx, dword [rsp + 0x244]
or edx, eax
mov r12d, dword [rsp + 0x244]
mov ecx, dword [rsp + 0x244]
not ecx
or ecx, eax
imul edx, edi
mov eax, r13d
xor eax, 0x2c68a242
mov r14, qword [rsp + 0x58]
add eax, r14d
add eax, edx
imul ebx, esi
add eax, ebx
not r12d
imul r12d, r9d
add eax, r12d
sub eax, ecx
mov ecx, r8d
shl r10d, cl
mov rdx, r11
mov ecx, eax
shr rdx, cl
mov r15d, dword [rsp + 0x28]
xor r15d, dword [rsp + 0x90]
movzx ebx, byte [rbp + rdx + 0x148]
mov eax, r13d
xor eax, 0x4c0b0ce1
mov ecx, dword [rsp + 0x240]
and ecx, eax
mov edx, dword [rsp + 0x240]
not edx
and edx, eax
add edx, ecx
mov ecx, dword [rsp + 0x240]
or ecx, eax
mov r8d, dword [rsp + 0x240]
not r8d
or r8d, eax
add r8d, ecx
imul edx, esi
mov ecx, dword [rsp + 0x320]
mov r12, qword [rsp + 0x70]
add ecx, r12d
add ecx, edx
imul r8d, edi
mov eax, r13d
xor eax, 0x9c7a199
and eax, dword [rsp + 0x23c]
add ecx, r8d
add eax, dword [rsp + 0x23c]
mov r8d, dword [rsp + 0x23c]
not r8d
add r8d, eax
mov eax, r13d
xor eax, 0xf6385e65
mov edx, r13d
xor edx, 0xf6385e66
or edx, dword [rsp + 0x23c]
add eax, dword [rsp + 0x40]
sub eax, edx
imul r8d, edi
add eax, r8d
and eax, r11d
movzx r8d, byte [rbp + rax + 0x148]
mov r11, rbp
mov eax, r13d
xor eax, 0x64307394
mov r9d, dword [rsp + 0x238]
mov edx, dword [rsp + 0x238]
mov ebp, dword [rsp + 0x30]
imul edx, ebp
add eax, r14d
add eax, edx
mov edx, r13d
xor edx, 0x64307395
and r9d, edx
imul r9d, esi
add eax, r9d
or edx, dword [rsp + 0x238]
mov r9d, r13d
xor r9d, 0x6a
and r9d, dword [rsp + 0x238]
sub eax, edx
not r9d
imul r9d, edi
add eax, r9d
shl ebx, cl
mov ecx, eax
mov edx, r8d
shl edx, cl
xor ebx, r15d
xor ebx, r10d
xor edx, ebx
mov eax, dword [rsp + 0x38]
xor eax, edx
mov dword [rsp + 0x38], eax
mov dword [r11 + 0x30], eax
xor edx, dword [rsp + 0x20]
mov dword [r11 + 0x34], edx
mov eax, edx
mov dword [rsp + 0x20], edx
xor eax, dword [rsp + 0x18]
mov dword [r11 + 0x38], eax
mov eax, edx
xor eax, dword [rsp + 0x48]
mov dword [r11 + 0x3c], eax
mov rdx, rax
mov eax, r13d
xor eax, 0xbf11eae1
mov r8d, dword [rsp + 0x234]
mov ecx, dword [rsp + 0x234]
not ecx
imul ecx, esi
mov r15, qword [rsp + 0x78]
add ecx, r15d
add ecx, eax
or r8d, eax
not r8d
mov r9d, ebp
imul r8d, ebp
mov r10d, r13d
xor r10d, 0x1e
or r10d, dword [rsp + 0x234]
add ecx, r8d
and eax, dword [rsp + 0x234]
not eax
imul eax, edi
sub ecx, r10d
add ecx, eax
mov eax, r13d
xor eax, 0xe87a6b51
mov r8d, r13d
xor r8d, 0x511d3d92
mov r10d, eax
or r10d, 1
add r10d, r8d
mov r8d, edx
mov rbp, rdx
shr r8d, cl
mov ecx, dword [rsp + 0x3f4]
xor ecx, r13d
xor ecx, 0x178594ae
add r10d, dword [rsp + 0x3f4]
imul ecx, edi
add r10d, ecx
and eax, dword [rsp + 0x3f4]
not eax
imul eax, r9d
add eax, r10d
and eax, r8d
mov r10, r11
movzx eax, byte [r11 + rax + 0x148]
mov dword [rsp + 0x90], eax
mov eax, r13d
xor eax, 0xe5d57216
mov ecx, dword [rsp + 0x230]
and ecx, eax
mov r8d, dword [rsp + 0x230]
not r8d
and r8d, eax
mov r11d, dword [rsp + 0x230]
or r11d, eax
or eax, dword [rsp + 0x230]
add r8d, ecx
not eax
add eax, r11d
mov ecx, r13d
xor ecx, 0x15
mov r14, r12
add ecx, r14d
sub ecx, r8d
mov r12d, edi
imul eax, edi
add ecx, eax
mov eax, r13d
xor eax, 0xd03bd69d
mov r8d, dword [rsp + 0x68]
add r8d, eax
sub r8d, dword [rsp + 0x3f0]
mov r9d, r8d
mov r8d, dword [rsp + 0x3f0]
xor r8d, r13d
xor r8d, 0x2fc42962
imul r8d, edi
add r8d, r9d
mov r11d, dword [rsp + 0x3f0]
not r11d
or r11d, eax
mov eax, ebp
shr eax, cl
mov r9d, esi
imul r11d, esi
add r11d, r8d
and r11d, eax
movzx edi, byte [r10 + r11 + 0x148]
mov eax, r13d
xor eax, 0xc71eddf2
mov r8d, dword [rsp + 0x22c]
mov ecx, dword [rsp + 0x22c]
or ecx, eax
mov r11d, dword [rsp + 0x22c]
xor r11d, eax
add r11d, ecx
xor r8d, eax
mov esi, dword [rsp + 0x22c]
not esi
or esi, eax
mov ecx, r13d
xor ecx, 0x38e1220d
add ecx, r15d
sub ecx, r8d
add ecx, r11d
imul esi, r12d
add ecx, esi
mov eax, r13d
xor eax, 0x877b79ef
mov r8d, dword [rsp + 0x228]
mov r11d, dword [rsp + 0x228]
mov esi, dword [rsp + 0x88]
or esi, dword [rsp + 0x228]
xor r8d, eax
add esi, r8d
or r11d, eax
mov r8d, dword [rsp + 0x228]
not r8d
or r8d, eax
mov eax, r13d
xor eax, 0x6b
imul r11d, r9d
mov r15d, r9d
mov rbx, qword [rsp + 0x58]
add eax, ebx
add eax, r11d
add cl, 2
shl edi, cl
mov dword [rsp + 0x88], edi
imul esi, r12d
sub eax, r8d
add eax, esi
mov r8, rdx
mov ecx, eax
shr r8, cl
movzx edi, byte [r10 + r8 + 0x148]
mov eax, r13d
xor eax, 0x304db78f
mov r8d, dword [rsp + 0x224]
xor r8d, eax
lea ecx, [r14 + rax]
or eax, dword [rsp + 0x224]
not eax
mov esi, r13d
xor esi, 0x70
mov r11d, dword [rsp + 0x224]
mov r14d, dword [rsp + 0x224]
or r14d, esi
add r14d, eax
sub ecx, r8d
xor r11d, esi
imul r11d, r9d
add ecx, r11d
imul r14d, r12d
add ecx, r14d
mov eax, r13d
xor eax, 0xc979c8c7
or eax, dword [rsp + 0x3ec]
mov r8d, r13d
xor r8d, 0x36863738
mov r11d, dword [rsp + 0x3ec]
xor r11d, r8d
mov r14d, dword [rsp + 0x3ec]
not r14d
add r14d, r11d
mov r11d, r13d
xor r11d, 0x511d3d91
add r11d, r8d
mov r9d, dword [rsp + 0x30]
imul eax, r9d
add r11d, eax
imul r14d, r12d
add r11d, r14d
and r11d, ebp
movzx edx, byte [r10 + r11 + 0x148]
mov r8d, r13d
xor r8d, 0x5094c0aa
mov eax, r13d
xor eax, 0xadf13b1d
mov r11d, dword [rsp + 0x220]
mov r15d, dword [rsp + 0x220]
xor r15d, r8d
add eax, ebx
add eax, r15d
or r11d, r8d
imul r11d, r12d
add eax, r11d
mov r11d, dword [rsp + 0x220]
not r11d
or r11d, r8d
imul r11d, r9d
add eax, r11d
and r8d, dword [rsp + 0x220]
add eax, r8d
shl edi, cl
add al, 2
mov ecx, eax
shl edx, cl
mov eax, dword [rsp + 0x90]
xor eax, dword [r10 + 0x128]
xor eax, edi
xor eax, dword [rsp + 0x88]
xor edx, dword [rsp + 0x38]
xor edx, eax
mov dword [rsp + 0x38], edx
mov dword [r10 + 0x40], edx
mov eax, edx
xor eax, dword [rsp + 0x20]
mov dword [r10 + 0x44], eax
mov eax, dword [rsp + 0x18]
xor eax, edx
mov dword [rsp + 0x18], eax
mov dword [r10 + 0x48], eax
xor ebp, eax
mov dword [r10 + 0x4c], ebp
mov rbx, r10
mov rdx, rbp
mov eax, r13d
xor eax, 0xeb78170b
mov r8d, dword [rsp + 0x21c]
and r8d, eax
imul r8d, r9d
mov ebp, r9d
mov r10d, dword [rsp + 0x21c]
xor r10d, eax
mov r11d, dword [rsp + 0x21c]
not r11d
or r11d, eax
mov ecx, r13d
add r11d, r10d
mov eax, r13d
xor eax, 0xf4
or eax, dword [rsp + 0x21c]
xor ecx, 0x43
imul r11d, r12d
add ecx, dword [rsp + 0x78]
add ecx, r8d
sub ecx, eax
add ecx, r11d
mov eax, r13d
xor eax, 0x9a6dcd9
and eax, dword [rsp + 0x218]
mov r8d, r13d
xor r8d, 0x9a6dcd8
mov r10d, r13d
mov r14, r13
xor r10d, 0xf6592326
mov r15, qword [rsp + 0x40]
add r8d, r15d
inc r8d
sub r8d, eax
mov eax, dword [rsp + 0x218]
xor eax, r10d
add r8d, dword [rsp + 0x218]
mov r11d, dword [rsp + 0x218]
not r11d
or r11d, r10d
mov r10d, edx
shr r10d, cl
add r11d, eax
imul r11d, r12d
add r11d, r8d
and r11d, r10d
movzx eax, byte [rbx + r11 + 0x148]
xor eax, dword [rbx + 0x12c]
mov ecx, r14d
xor ecx, 0x44a7551a
mov r8d, r14d
xor r8d, 0x8596107f
mov r13, qword [rsp + 0x70]
add r8d, r13d
sub r8d, dword [rsp + 0x214]
mov r10d, dword [rsp + 0x214]
xor r10d, ecx
imul r10d, r9d
add r10d, r8d
mov r8d, dword [rsp + 0x214]
not r8d
or r8d, ecx
imul r8d, r12d
and ecx, dword [rsp + 0x214]
add r8d, r10d
not ecx
imul ecx, dword [rsp + 0x34]
add ecx, r8d
mov r8d, r14d
xor r8d, 0xab1d1989
mov r10d, r14d
xor r10d, 0x54e2e676
add r10d, r15d
sub r10d, dword [rsp + 0x210]
mov r11d, dword [rsp + 0x210]
or r11d, r8d
add r10d, dword [rsp + 0x210]
add r10d, r11d
mov r11d, dword [rsp + 0x210]
not r11d
or r11d, r8d
mov r8d, edx
shr r8d, cl
imul r11d, r12d
lea ecx, [r11 + r10]
add ecx, 2
and ecx, r8d
movzx edi, byte [rbx + rcx + 0x148]
mov ecx, r14d
xor ecx, 0x9968cf8f
mov r8d, dword [rsp + 0x3e8]
and r8d, ecx
xor esi, dword [rsp + 0x3e8]
mov r10d, dword [rsp + 0x3e8]
not r10d
or r10d, ecx
imul esi, r12d
add r10d, r8d
mov ecx, r14d
xor ecx, 0x8e
add ecx, dword [rsp + 0x80]
sub ecx, r10d
add ecx, esi
shl edi, cl
mov ecx, dword [rsp + 0x3e4]
mov r8d, dword [rsp + 0x3e4]
xor r8d, r14d
xor r8d, 0x60
add r8d, ecx
imul r8d, r12d
mov ecx, r14d
xor ecx, 0x31c9c360
mov r9, qword [rsp + 0x58]
lea r10d, [r9 + rcx]
or ecx, dword [rsp + 0x3e4]
mov r9d, dword [rsp + 0x2c]
imul ecx, r9d
add ecx, r10d
add ecx, r8d
mov r8, rdx
shr r8, cl
movzx r10d, byte [rbx + r8 + 0x148]
mov r8d, dword [rsp + 0x20c]
mov ecx, dword [rsp + 0x60]
xor ecx, dword [rsp + 0x20c]
mov r11d, dword [rsp + 0x20c]
not r11d
add r11d, ecx
mov esi, r14d
xor esi, 0x89c98d20
xor r8d, esi
imul r8d, ebp
mov ecx, r14d
xor ecx, 0xde
add ecx, r13d
add ecx, r8d
and esi, dword [rsp + 0x20c]
not esi
imul esi, r9d
imul r11d, r12d
add ecx, r11d
add ecx, esi
shl r10d, cl
xor r10d, eax
xor r10d, edi
mov eax, dword [rsp + 0x3e0]
not eax
mov ecx, r14d
xor ecx, 0x3a1b1cb2
and eax, ecx
mov r8d, r14d
xor r8d, 0xc5e4e34c
add r8d, r15d
inc r8d
add r8d, dword [rsp + 0x3e0]
mov r11d, dword [rsp + 0x3e0]
not r11d
or r11d, ecx
add r11d, eax
imul r11d, r12d
add r11d, r8d
and r11d, edx
movzx esi, byte [rbx + r11 + 0x148]
mov ecx, dword [rsp + 0x208]
imul ecx, ebp
mov eax, r14d
xor eax, 0x754472b3
mov edx, dword [rsp + 0x208]
or edx, eax
imul edx, r9d
mov r8, qword [rsp + 0xa0]
add r8d, eax
xor eax, dword [rsp + 0x208]
mov r11d, dword [rsp + 0x208]
not r11d
imul r11d, r12d
add r11d, eax
add ecx, r8d
add ecx, edx
add ecx, r11d
shl esi, cl
xor esi, r10d
mov eax, dword [rsp + 0x38]
xor eax, esi
mov dword [rsp + 0x38], eax
mov dword [rbx + 0x50], eax
mov eax, dword [rsp + 0x20]
xor eax, esi
mov dword [rsp + 0x20], eax
mov dword [rbx + 0x54], eax
xor eax, dword [rsp + 0x18]
mov dword [rbx + 0x58], eax
xor esi, dword [rsp + 0x48]
mov dword [rbx + 0x5c], esi
mov ecx, r14d
xor ecx, 0xd1
mov eax, dword [rsp + 0x204]
and eax, ecx
mov dword [rsp + 0x68], ecx
mov r9d, ebp
imul eax, ebp
mov r8d, r14d
xor r8d, 0x650ed32e
mov r10d, dword [rsp + 0x204]
or r10d, r8d
mov r11d, dword [rsp + 0x204]
xor r11d, ecx
mov ecx, r14d
xor ecx, 0xef
and r8d, dword [rsp + 0x204]
not r8d
add r8d, r11d
imul r8d, r12d
mov rdx, qword [rsp + 0x78]
add ecx, edx
sub ecx, r10d
add ecx, eax
add ecx, r8d
mov eax, esi
shr eax, cl
mov ecx, r14d
xor ecx, 0x3bf3a027
and ecx, dword [rsp + 0x3dc]
mov r8d, r14d
xor r8d, 0xc40c5fd8
mov r10d, dword [rsp + 0x3dc]
and r10d, r8d
xor r8d, dword [rsp + 0x3dc]
add r8d, r10d
mov r10d, r14d
xor r10d, 0x3bf3a026
imul r8d, r12d
mov rbp, r15
add r10d, ebp
sub r10d, ecx
add r10d, r8d
and r10d, eax
movzx r15d, byte [rbx + r10 + 0x148]
mov eax, dword [rsp + 0x3d8]
not eax
mov r8d, r14d
xor r8d, 0x6c
and r8d, eax
imul r8d, r9d
mov ecx, r14d
xor ecx, 0x92
mov eax, dword [rsp + 0x3d8]
mov r11d, dword [rsp + 0x3d8]
xor r11d, r14d
xor r11d, 0x93
add r11d, eax
mov eax, r14d
xor eax, 0x511d3c82
mov dword [rsp + 0x48], eax
imul r11d, r12d
add ecx, eax
add ecx, r8d
add ecx, r11d
mov eax, esi
mov r10, rsi
shr eax, cl
mov ecx, dword [rsp + 0x200]
not ecx
mov r8d, r14d
xor r8d, 0x47ac3cd0
and ecx, r8d
mov r11d, dword [rsp + 0x200]
xor r11d, r8d
imul r11d, r9d
or r8d, dword [rsp + 0x200]
add r8d, ecx
mov ecx, r14d
xor ecx, 0x47ac3cd7
add ecx, ebp
sub ecx, r8d
mov r8d, dword [rsp + 0x200]
xor r8d, r14d
xor r8d, 0xb853c32f
imul r8d, r12d
add ecx, r11d
add ecx, r8d
and ecx, eax
movzx r11d, byte [rbx + rcx + 0x148]
mov ecx, r14d
xor ecx, 0xcbb8cbaa
mov eax, dword [rsp + 0x3d4]
and eax, ecx
mov r8d, r14d
xor r8d, 0x54
add r8d, edx
sub r8d, dword [rsp + 0x3d4]
or ecx, dword [rsp + 0x3d4]
add ecx, eax
imul ecx, r12d
mov r13d, r12d
add ecx, r8d
mov r8d, r14d
xor r8d, 0x2d8e5062
mov eax, dword [rsp + 0x3d0]
xor eax, r8d
mov esi, dword [rsp + 0x3d0]
not esi
add esi, eax
mov eax, r14d
xor eax, 0x9d
mov dword [rsp + 0xd0], eax
mov edi, dword [rsp + 0x3d0]
or edi, eax
imul edi, r9d
mov eax, r14d
xor eax, 0x88
mov dword [rsp + 0x28], eax
add r8d, eax
add r8d, edi
imul esi, r12d
add r8d, esi
shl r11d, cl
mov r9, r10
mov rsi, r10
mov ecx, r8d
shr rsi, cl
mov r10, rbx
movzx esi, byte [rbx + rsi + 0x148]
mov r8d, r14d
xor r8d, 0xba
and r8d, dword [rsp + 0x4f0]
mov eax, r14d
xor eax, 0x511d3c9c
mov qword [rsp + 0x90], rax
mov ecx, r14d
xor ecx, 0xb8
mov qword [rsp + 0x88], rcx
add ecx, eax
sub ecx, r8d
mov r8d, r14d
xor r8d, 0x45
or r8d, dword [rsp + 0x4f0]
add ecx, r8d
mov r8d, r14d
xor r8d, 0x6b35aa66
mov edi, dword [rsp + 0x4ec]
or edi, r8d
mov ebx, dword [rsp + 0x4ec]
not ebx
or ebx, r8d
add ebx, edi
mov r8d, r14d
xor r8d, 0xdab3ee85
mov edi, r14d
xor edi, 0x6b35aa65
add edi, r8d
imul ebx, r12d
add edi, ebp
add edi, ebx
and edi, r9d
mov qword [rsp + 0x60], r9
movzx edi, byte [r10 + rdi + 0x148]
mov ebx, r14d
xor ebx, 0x7ee0f0b7
mov ebp, dword [rsp + 0x1fc]
and ebp, ebx
mov r12d, dword [rsp + 0x1fc]
xor r12d, ebx
mov edx, r14d
xor edx, 0x48
mov rax, qword [rsp + 0x58]
lea r8d, [rax + rdx]
xor edx, dword [rsp + 0x1fc]
mov eax, dword [rsp + 0x1fc]
not eax
or eax, ebx
add eax, ebp
sub r8d, r12d
shl esi, cl
mov ebx, dword [rsp + 0x2c]
imul edx, ebx
add r8d, edx
imul eax, r13d
xor r15d, dword [r10 + 0x130]
add r8d, eax
xor r15d, esi
xor r15d, r11d
mov ecx, r8d
mov edx, edi
shl edx, cl
xor edx, dword [rsp + 0x38]
xor edx, r15d
mov dword [rsp + 0x38], edx
mov dword [r10 + 0x60], edx
mov eax, edx
xor eax, dword [rsp + 0x20]
mov dword [r10 + 0x64], eax
mov eax, dword [rsp + 0x18]
xor eax, edx
mov dword [rsp + 0x18], eax
mov dword [r10 + 0x68], eax
mov esi, eax
xor esi, r9d
mov dword [r10 + 0x6c], esi
mov rdi, r10
mov eax, r14d
xor eax, 0x4f68d0ec
mov edx, dword [rsp + 0x3cc]
or edx, eax
xor eax, dword [rsp + 0x3cc]
mov r8d, r14d
xor r8d, 0x13
mov rcx, qword [rsp + 0x80]
add ecx, r8d
inc ecx
sub ecx, edx
add ecx, eax
mov eax, dword [rsp + 0x3cc]
or eax, r8d
imul eax, r13d
mov edx, r14d
xor edx, 0x95f4e622
mov r10d, dword [rsp + 0x1f8]
and r10d, edx
mov r11d, dword [rsp + 0x1f8]
or edx, dword [rsp + 0x1f8]
add ecx, eax
add edx, r10d
mov r9d, ebx
imul r11d, ebx
mov eax, r14d
xor eax, 0x6a0b19dd
mov r10, qword [rsp + 0x40]
add eax, r10d
inc eax
add eax, r11d
imul edx, r13d
add eax, dword [rsp + 0x1f8]
add eax, edx
mov edx, esi
shr edx, cl
and eax, edx
movzx eax, byte [rdi + rax + 0x148]
xor eax, dword [rdi + 0x134]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x1f4]
mov edx, dword [rsp + 0x1f4]
not edx
mov r12d, dword [rsp + 0x30]
imul edx, r12d
mov ecx, r14d
xor ecx, 0x7979f55d
add ecx, dword [rsp + 0x70]
add ecx, edx
mov edx, r14d
xor edx, 0x86860aa2
or eax, edx
imul eax, r13d
add ecx, eax
mov eax, dword [rsp + 0x1f4]
not eax
or eax, edx
sub ecx, eax
and edx, dword [rsp + 0x1f4]
not edx
imul edx, ebx
mov ebp, ebx
add ecx, edx
mov eax, r14d
xor eax, 0xdcd3610e
mov edx, dword [rsp + 0x1f0]
and edx, eax
mov r11d, dword [rsp + 0x1f0]
not r11d
and r11d, eax
add r11d, edx
xor eax, dword [rsp + 0x1f0]
mov edx, dword [rsp + 0x1f0]
xor edx, r14d
xor edx, 0x232c9ef1
add edx, eax
mov eax, r14d
xor eax, 0xdcd3610d
add eax, r10d
sub eax, r11d
mov r15d, r13d
imul edx, r13d
add eax, edx
mov edx, esi
shr edx, cl
and eax, edx
movzx ebx, byte [rdi + rax + 0x148]
mov eax, r14d
xor eax, 0xd2
mov ecx, dword [rsp + 0x1ec]
and ecx, eax
mov edx, dword [rsp + 0x1ec]
xor eax, dword [rsp + 0x1ec]
add eax, ecx
not edx
mov ecx, r14d
xor ecx, 0x5d15502d
and edx, ecx
and ecx, dword [rsp + 0x1ec]
mov r11d, dword [rsp + 0x68]
add r11d, dword [rsp + 0x98]
add r11d, ecx
imul edx, r12d
add r11d, edx
imul eax, r13d
add r11d, eax
mov ecx, r11d
mov r11d, r14d
xor r11d, 0x96fb0465
mov eax, r14d
xor eax, 0x17
add r11d, dword [rsp + 0xa0]
add r11d, eax
mov eax, r14d
xor eax, 0xb2ee20e8
mov edx, dword [rsp + 0x3c8]
and edx, eax
xor eax, dword [rsp + 0x3c8]
add r11d, dword [rsp + 0x3c8]
imul edx, ebp
add r11d, edx
sub r11d, eax
shl ebx, cl
mov rax, rsi
mov ecx, r11d
shr rax, cl
movzx edx, byte [rdi + rax + 0x148]
mov eax, dword [rsp + 0x3c4]
xor eax, r14d
xor eax, 0xf2
mov ecx, r14d
xor ecx, 0xf0
add ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, dword [rsp + 0x3c4]
not eax
imul eax, r13d
add ecx, eax
mov r9d, r14d
xor r9d, 0xd
mov qword [rsp + 0xd8], r9
mov eax, dword [rsp + 0x3c4]
or eax, r9d
mov ebp, r12d
imul eax, r12d
add ecx, eax
shl edx, cl
xor edx, dword [rsp + 0xb0]
xor edx, ebx
mov ecx, r14d
xor ecx, 0xba5117df
mov eax, r14d
xor eax, 0x787a95f5
add eax, r10d
sub eax, dword [rsp + 0x1e8]
mov r9d, dword [rsp + 0x1e8]
xor r9d, ecx
imul r9d, r12d
add r9d, eax
mov eax, dword [rsp + 0x1e8]
not eax
or eax, ecx
imul eax, r13d
add eax, r9d
and ecx, dword [rsp + 0x1e8]
not ecx
imul ecx, dword [rsp + 0x34]
add ecx, eax
and ecx, esi
movzx r11d, byte [rdi + rcx + 0x148]
mov r10d, r14d
xor r10d, 0xb6201c6
mov eax, dword [rsp + 0x1e4]
xor eax, r10d
mov r9d, dword [rsp + 0x1e4]
not r9d
or r9d, r10d
add r9d, eax
mov ecx, r14d
xor ecx, 0x3f
add ecx, dword [rsp + 0x58]
sub ecx, r9d
mov eax, r14d
xor eax, 0x39
or eax, dword [rsp + 0x1e4]
imul eax, r13d
add ecx, eax
and r10d, dword [rsp + 0x1e4]
not r10d
imul r10d, r12d
add ecx, r10d
shl r11d, cl
xor r11d, edx
mov eax, dword [rsp + 0x38]
xor eax, r11d
mov dword [rsp + 0x38], eax
mov dword [rdi + 0x70], eax
xor r11d, dword [rsp + 0x20]
mov dword [rsp + 0x20], r11d
mov r13, rdi
mov dword [rdi + 0x74], r11d
mov eax, r11d
xor eax, dword [rsp + 0x18]
mov dword [rdi + 0x78], eax
mov r12d, r11d
xor r12d, dword [rsp + 0x60]
mov dword [rdi + 0x7c], r12d
mov eax, dword [rsp + 0x3c0]
imul eax, r15d
mov ecx, r14d
xor ecx, 0x7b73a13b
add ecx, dword [rsp + 0x98]
add ecx, dword [rsp + 0x88]
add ecx, eax
mov eax, r14d
xor eax, 0x442a7247
mov edx, dword [rsp + 0x3c0]
or edx, eax
mov ebx, dword [rsp + 0x2c]
imul edx, ebx
xor eax, dword [rsp + 0x3c0]
add ecx, edx
add ecx, eax
mov eax, r14d
xor eax, 0x354efc4b
mov edx, dword [rsp + 0x1e0]
or edx, eax
mov r9d, dword [rsp + 0x1e0]
mov r10d, dword [rsp + 0x1e0]
not r10d
or r10d, eax
imul edx, r15d
mov eax, r14d
xor eax, 0xcab103b4
mov rsi, qword [rsp + 0x40]
add edx, esi
add edx, eax
xor r9d, eax
mov edi, ebp
imul r9d, ebp
add edx, r9d
or eax, dword [rsp + 0x1e0]
sub edx, r10d
imul eax, ebx
mov ebp, ebx
add edx, eax
mov eax, r12d
shr eax, cl
and edx, eax
movzx r10d, byte [r13 + rdx + 0x148]
mov eax, r14d
xor eax, 0x8e67680d
mov r9d, dword [rsp + 0x1dc]
mov ecx, dword [rsp + 0x1dc]
not ecx
mov r11d, r14d
xor r11d, 0x719897f2
and ecx, r11d
or r11d, dword [rsp + 0x1dc]
and r9d, eax
or eax, dword [rsp + 0x1dc]
add eax, ecx
mov edx, r14d
xor edx, 0xc
mov qword [rsp + 0xb0], rdx
mov rcx, qword [rsp + 0xa8]
add ecx, edx
sub ecx, r9d
add ecx, r11d
imul eax, r15d
add ecx, eax
mov eax, r14d
xor eax, 0x30739fe0
mov r9d, r14d
xor r9d, 0xcf8c601f
add r9d, esi
mov rdx, rsi
sub r9d, dword [rsp + 0x1d8]
mov r11d, dword [rsp + 0x1d8]
or r11d, eax
add r9d, dword [rsp + 0x1d8]
add r9d, r11d
mov r11d, dword [rsp + 0x1d8]
not r11d
or r11d, eax
mov eax, r12d
shr eax, cl
imul r11d, r15d
lea ecx, [r11 + r9]
add ecx, 2
and ecx, eax
movzx esi, byte [r13 + rcx + 0x148]
mov eax, dword [rsp + 0x3bc]
not eax
mov ecx, r14d
xor ecx, 0x39c05eec
and eax, ecx
or ecx, dword [rsp + 0x3bc]
xor r8d, dword [rsp + 0x3bc]
add r8d, eax
mov eax, r14d
xor eax, 0x12
mov r9d, r14d
xor r9d, 0x9a
add r9d, eax
add r9d, ecx
imul r8d, r15d
add r8d, r9d
mov eax, r14d
xor eax, 0x62
mov ecx, dword [rsp + 0x1d4]
and ecx, eax
mov r9d, r14d
xor r9d, 0x2c8ae49d
xor eax, dword [rsp + 0x1d4]
mov ebx, dword [rsp + 0x1d4]
not ebx
or ebx, r9d
mov r11, qword [rsp + 0x58]
add r11d, r9d
and r9d, dword [rsp + 0x1d4]
not r9d
add r9d, eax
sub r11d, ecx
imul ebx, ebp
add r11d, ebx
imul r9d, r15d
add r11d, r9d
mov ecx, r8d
shl esi, cl
mov rax, r12
mov ecx, r11d
shr rax, cl
movzx r8d, byte [r13 + rax + 0x148]
mov eax, r14d
xor eax, 0x5e96c437
mov ecx, dword [rsp + 0x1d0]
and ecx, eax
mov r9d, dword [rsp + 0x1d0]
not r9d
and r9d, eax
add r9d, ecx
xor eax, dword [rsp + 0x1d0]
mov r11d, dword [rsp + 0x1d0]
xor r11d, r14d
xor r11d, 0xc8
add r11d, eax
mov ecx, r14d
xor ecx, 0x36
add ecx, dword [rsp + 0x70]
sub ecx, r9d
imul r11d, r15d
add ecx, r11d
mov eax, r14d
xor eax, 0x2bf356d5
mov r9d, dword [rsp + 0x1cc]
mov r11d, dword [rsp + 0x1cc]
or r11d, eax
mov ebx, dword [rsp + 0x1cc]
xor ebx, r14d
xor ebx, 0xd40ca92a
add ebx, r11d
not r9d
and r9d, eax
mov r11d, r14d
xor r11d, 0x5b3e17e7
and eax, dword [rsp + 0x1cc]
add r11d, edx
inc r11d
add r11d, eax
imul r9d, edi
add r11d, r9d
imul ebx, r15d
add r11d, ebx
and r11d, r12d
movzx edx, byte [r13 + r11 + 0x148]
mov eax, r14d
xor eax, 0x10d2a29e
mov r11d, dword [rsp + 0x3b8]
and r11d, eax
mov ebx, dword [rsp + 0x3b8]
mov ebp, dword [rsp + 0x3b8]
not ebp
or ebp, eax
shl r8d, cl
add ebp, r11d
mov eax, r14d
xor eax, 0x511d3c84
mov qword [rsp + 0x68], rax
mov ecx, dword [rsp + 0xd0]
add ecx, eax
sub ecx, ebp
xor ebx, r14d
xor ebx, 0x61
imul ebx, r15d
add ecx, ebx
xor r10d, dword [r13 + 0x138]
xor r10d, r8d
shl edx, cl
xor r10d, esi
xor edx, dword [rsp + 0x38]
xor edx, r10d
mov dword [r13 + 0x80], edx
mov eax, edx
xor eax, dword [rsp + 0x20]
mov dword [r13 + 0x84], eax
mov eax, dword [rsp + 0x18]
xor eax, edx
mov dword [rsp + 0x18], eax
mov dword [r13 + 0x88], eax
xor r12d, eax
mov dword [r13 + 0x8c], r12d
mov eax, r14d
xor eax, 0x2b
mov r8d, r14d
xor r8d, 0xdb
add eax, dword [rsp + 0x98]
sub eax, dword [rsp + 0x1c8]
or r8d, dword [rsp + 0x1c8]
add eax, dword [rsp + 0x1c8]
mov ecx, r14d
xor ecx, 0x70b52724
and ecx, dword [rsp + 0x1c8]
not ecx
add ecx, r8d
imul ecx, r15d
add ecx, eax
mov eax, r14d
xor eax, 0x9fed0413
mov r8d, r14d
xor r8d, 0x3302b393
mov r10d, dword [rsp + 0x1c4]
mov esi, dword [rsp + 0x1c4]
xor esi, eax
mov r9, qword [rsp + 0x40]
add r8d, r9d
add r8d, esi
or r10d, eax
imul r10d, r15d
add r8d, r10d
mov r10d, dword [rsp + 0x1c4]
not r10d
or r10d, eax
mov r11d, edi
imul r10d, edi
add r8d, r10d
and eax, dword [rsp + 0x1c4]
add eax, r8d
add eax, 2
mov r8d, r12d
shr r8d, cl
and eax, r8d
movzx r10d, byte [r13 + rax + 0x148]
xor r10d, dword [r13 + 0x13c]
mov eax, r14d
xor eax, 0xe02cc834
mov rcx, qword [rsp + 0xa8]
add ecx, eax
and eax, dword [rsp + 0x3b4]
mov ebp, dword [rsp + 0x2c]
imul eax, ebp
mov r8d, dword [rsp + 0x3b4]
add ecx, dword [rsp + 0x3b4]
add ecx, eax
xor r8d, r14d
xor r8d, 0xcb
imul r8d, r15d
add ecx, r8d
mov eax, r14d
xor eax, 0xe1fdb9b
mov r8d, dword [rsp + 0x1c0]
mov esi, dword [rsp + 0x1c0]
or esi, eax
mov edi, r14d
xor edi, 0xf1e02464
add edi, r9d
sub edi, esi
xor r8d, eax
imul r8d, r11d
add edi, r8d
mov r8d, r12d
shr r8d, cl
mov ecx, dword [rsp + 0x1c0]
not ecx
or ecx, eax
imul ecx, r15d
add edi, ecx
and eax, dword [rsp + 0x1c0]
not eax
imul eax, ebp
add edi, eax
and edi, r8d
movzx esi, byte [r13 + rdi + 0x148]
mov eax, r14d
xor eax, 0x6dfffd47
mov ecx, dword [rsp + 0x1bc]
xor ecx, eax
mov r8d, dword [rsp + 0x1bc]
not r8d
add r8d, ecx
mov edi, dword [rsp + 0x1bc]
mov rbx, qword [rsp + 0x88]
or edi, ebx
mov rcx, qword [rsp + 0x78]
add ecx, eax
sub ecx, edi
imul r8d, ebp
add ecx, r8d
and eax, dword [rsp + 0x1bc]
not eax
imul eax, dword [rsp + 0x54]
add ecx, eax
mov r8d, r14d
xor r8d, 0x87500b47
mov rax, qword [rsp + 0xa0]
add eax, r8d
and r8d, dword [rsp + 0x4e8]
sub eax, r8d
mov r8, rbx
or r8d, dword [rsp + 0x4e8]
add eax, r8d
shl esi, cl
mov r8, r12
mov ecx, eax
shr r8, cl
movzx eax, byte [r13 + r8 + 0x148]
mov r8d, r14d
xor r8d, 0x66474cc0
mov edi, dword [rsp + 0x1b8]
mov ebx, dword [rsp + 0x1b8]
or ebx, r8d
mov ecx, r14d
xor ecx, 0x99b8b33f
add ecx, dword [rsp + 0x70]
sub ecx, ebx
xor edi, r8d
imul edi, r11d
add ecx, edi
mov edi, dword [rsp + 0x1b8]
not edi
or edi, r8d
imul edi, r15d
add ecx, edi
and r8d, dword [rsp + 0x1b8]
not r8d
imul r8d, ebp
add ecx, r8d
mov r8d, dword [rsp + 0x1b4]
mov edi, dword [rsp + 0x1b4]
not edi
mov ebx, r14d
xor ebx, 0xbb47adc0
or edi, ebx
add edi, r8d
mov r8d, r14d
xor r8d, 0x85a81e3b
add r8d, r9d
sub r8d, edi
mov edi, r14d
xor edi, 0x44b8523f
or edi, dword [rsp + 0x1b4]
imul edi, r11d
add r8d, edi
shl eax, cl
and ebx, dword [rsp + 0x1b4]
not ebx
imul ebx, r15d
add r8d, ebx
and r8d, r12d
movzx r8d, byte [r13 + r8 + 0x148]
mov edi, r14d
xor edi, 0x2ff27ac4
mov rcx, qword [rsp + 0x68]
add ecx, edi
or edi, dword [rsp + 0x4e4]
xor eax, r10d
sub ecx, edi
mov r10d, r14d
xor r10d, 0x3a
and r10d, dword [rsp + 0x4e4]
or r10d, 1
add ecx, r10d
shl r8d, cl
xor eax, esi
xor r8d, eax
xor edx, r8d
mov dword [rsp + 0x38], edx
mov dword [r13 + 0x90], edx
mov eax, dword [rsp + 0x20]
xor eax, r8d
mov dword [rsp + 0x20], eax
mov dword [r13 + 0x94], eax
xor eax, dword [rsp + 0x18]
mov dword [r13 + 0x98], eax
xor r8d, dword [rsp + 0x60]
mov dword [r13 + 0x9c], r8d
mov eax, r14d
xor eax, 0xf3
mov ecx, r14d
xor ecx, 0x99
mov rdx, qword [rsp + 0xb0]
add ecx, edx
sub ecx, dword [rsp + 0x3b0]
or eax, dword [rsp + 0x3b0]
imul eax, r11d
xor edx, dword [rsp + 0x3b0]
add eax, ecx
imul edx, r15d
add edx, eax
mov eax, dword [rsp + 0x1b0]
not eax
mov ecx, r14d
xor ecx, 0xb8b29d4a
and eax, ecx
mov r10d, dword [rsp + 0x1b0]
xor r10d, ecx
mov esi, dword [rsp + 0x1b0]
or esi, ecx
mov edi, dword [rsp + 0x1b0]
not edi
or edi, ecx
mov r12d, ebp
imul r10d, ebp
mov ebx, r14d
xor ebx, 0x474d62b5
add ebx, r9d
mov rbp, r9
add ebx, r10d
imul eax, r11d
add ebx, eax
mov eax, r8d
mov ecx, edx
shr eax, cl
imul esi, r15d
add ebx, esi
sub ebx, edi
and ebx, eax
movzx r10d, byte [r13 + rbx + 0x148]
mov eax, r14d
xor eax, 0xb1c952f8
mov edx, dword [rsp + 0x1ac]
and edx, eax
mov rcx, qword [rsp + 0xa8]
add ecx, eax
or eax, dword [rsp + 0x1ac]
mov esi, dword [rsp + 0x1ac]
not esi
mov edi, r14d
xor edi, 0x4e36ad07
or esi, edi
add esi, edx
sub ecx, eax
and edi, dword [rsp + 0x1ac]
add ecx, edi
imul esi, r15d
add ecx, esi
mov eax, r8d
mov r9, r8
shr eax, cl
mov ecx, r14d
xor ecx, 0xb9ab7fa1
mov edx, dword [rsp + 0x1a8]
xor edx, ecx
imul edx, r12d
mov esi, r14d
xor esi, 0xb9ab7fa0
add esi, ebp
mov r8, rbp
add esi, edx
mov edx, dword [rsp + 0x1a8]
or edx, ecx
imul edx, r15d
add esi, edx
mov edx, dword [rsp + 0x1a8]
not edx
or edx, ecx
sub esi, edx
and ecx, dword [rsp + 0x1a8]
not ecx
imul ecx, r11d
add esi, ecx
and esi, eax
movzx esi, byte [r13 + rsi + 0x148]
mov eax, r14d
xor eax, 0x86633f88
and eax, dword [rsp + 0x1a4]
mov edx, r14d
xor edx, 0x799cc077
mov edi, dword [rsp + 0x1a4]
xor edi, edx
mov ecx, dword [rsp + 0x28]
xor ecx, dword [rsp + 0x1a4]
and edx, dword [rsp + 0x1a4]
imul ecx, r15d
add edx, ecx
mov ecx, r14d
xor ecx, 0x86633f8f
add ecx, dword [rsp + 0x98]
sub ecx, eax
imul edi, r11d
add ecx, edi
add ecx, edx
mov edx, dword [rsp + 0x1a0]
not edx
mov eax, r14d
xor eax, 0x3dd00779
and edx, eax
mov edi, dword [rsp + 0x1a0]
or edi, eax
mov ebx, dword [rsp + 0x1a0]
mov ebp, dword [rsp + 0x1a0]
not ebp
or ebp, eax
imul edi, r15d
mov eax, r14d
xor eax, 0x3dd00778
add eax, dword [rsp + 0x58]
add eax, edi
imul edx, r12d
add eax, edx
shl esi, cl
not ebx
imul ebx, r11d
add eax, ebx
sub eax, ebp
mov rdx, r9
mov ecx, eax
shr rdx, cl
movzx edi, byte [r13 + rdx + 0x148]
mov eax, r14d
xor eax, 0xfd40b915
mov edx, dword [rsp + 0x3ac]
mov ebx, dword [rsp + 0x3ac]
xor ebx, eax
mov ebp, dword [rsp + 0x3ac]
and ebp, eax
mov ecx, r14d
xor ecx, 0x81
add ecx, eax
imul edx, r15d
add ecx, edx
sub ecx, ebx
not ebp
imul ebp, r11d
add ecx, ebp
mov eax, r14d
xor eax, 0xf2dc5621
add eax, r8d
inc eax
sub eax, dword [rsp + 0x19c]
mov edx, r14d
xor edx, 0xff027634
mov ebx, dword [rsp + 0x19c]
or ebx, edx
imul ebx, r11d
add ebx, eax
mov eax, dword [rsp + 0x19c]
not eax
or eax, edx
imul eax, r15d
add eax, ebx
and edx, dword [rsp + 0x19c]
add edx, eax
mov r8, r9
mov qword [rsp + 0x60], r9
and edx, r8d
movzx edx, byte [r13 + rdx + 0x148]
mov ebx, dword [rsp + 0x4e0]
not ebx
mov ebp, r14d
xor ebp, 0xcab1e837
and ebx, ebp
mov eax, r14d
xor eax, 0xce
and ebp, dword [rsp + 0x4e0]
add eax, dword [rsp + 0x68]
add eax, ebp
imul ebx, r15d
add eax, ebx
mov rbx, r14
shl edi, cl
mov ecx, eax
shl edx, cl
xor r10d, dword [r13 + 0x140]
xor r10d, edi
xor r10d, esi
xor edx, dword [rsp + 0x38]
xor edx, r10d
mov dword [r13 + 0xa0], edx
mov eax, edx
xor eax, dword [rsp + 0x20]
mov dword [r13 + 0xa4], eax
mov eax, dword [rsp + 0x18]
xor eax, edx
mov dword [rsp + 0x18], eax
mov dword [r13 + 0xa8], eax
mov r12d, eax
xor r12d, r8d
mov dword [r13 + 0xac], r12d
mov r9d, dword [rsp + 0x3a8]
not r9d
mov r10d, ebx
xor r10d, 0x29d7430e
and r9d, r10d
mov r11d, dword [rsp + 0x3a8]
or r11d, r10d
not r11d
imul r11d, r15d
xor r10d, dword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xd8]
add ecx, esi
inc ecx
sub ecx, r9d
add ecx, r10d
add ecx, r11d
mov r9d, r12d
shr r9d, cl
mov ecx, ebx
xor ecx, 0xa54c0363
mov r10d, dword [rsp + 0x198]
and r10d, ecx
mov r11d, dword [rsp + 0x198]
not r11d
mov esi, ebx
xor esi, 0x5ab3fc9c
and r11d, esi
or esi, dword [rsp + 0x198]
or ecx, dword [rsp + 0x198]
add ecx, r11d
mov r11d, ebx
xor r11d, 0xa54c0362
imul ecx, r15d
mov r14, qword [rsp + 0x40]
add r11d, r14d
inc r11d
sub r11d, r10d
add r11d, esi
add r11d, ecx
and r11d, r9d
movzx r9d, byte [r13 + r11 + 0x148]
xor r9d, dword [r13 + 0x144]
mov ecx, ebx
xor ecx, 0x90069c54
mov r10d, dword [rsp + 0x4dc]
and r10d, ecx
mov r11d, dword [rsp + 0x4dc]
not r11d
and r11d, ecx
add r11d, r10d
imul r11d, r15d
mov ecx, ebx
xor ecx, 0xab
add ecx, dword [rsp + 0x48]
add ecx, r11d
mov r10d, ebx
xor r10d, 0x64b12ee0
mov r11d, dword [rsp + 0x194]
or r11d, r10d
mov esi, dword [rsp + 0x194]
or esi, r10d
not esi
add esi, r11d
mov r11d, ebx
xor r11d, 0x9b4ed11f
mov edi, r11d
or edi, dword [rsp + 0x194]
add r11d, r14d
inc r11d
sub r11d, edi
mov edi, r12d
shr edi, cl
imul esi, r15d
and r10d, dword [rsp + 0x194]
add r11d, r10d
add r11d, esi
and r11d, edi
movzx r11d, byte [r13 + r11 + 0x148]
mov ecx, ebx
xor ecx, 0xe3ba3ef0
mov rsi, qword [rsp + 0x98]
add esi, ecx
and ecx, dword [rsp + 0x3a4]
mov ebp, dword [rsp + 0x2c]
imul ecx, ebp
mov r10d, dword [rsp + 0x3a4]
xor r10d, ebx
xor r10d, 0xf
imul r10d, r15d
add esi, dword [rsp + 0x3a4]
add esi, ecx
add esi, r10d
mov rcx, rsi
shl r11d, cl
mov ecx, ebx
xor ecx, 0xed
mov r10d, dword [rsp + 0x190]
and r10d, ecx
mov eax, dword [rsp + 0x30]
imul r10d, eax
mov esi, ebx
xor esi, 0xb799c812
mov edi, dword [rsp + 0x190]
or edi, esi
xor ecx, dword [rsp + 0x190]
and esi, dword [rsp + 0x190]
not esi
add esi, ecx
mov ecx, ebx
xor ecx, 0x97
imul esi, r15d
mov r8, qword [rsp + 0x58]
add ecx, r8d
sub ecx, edi
add ecx, r10d
add ecx, esi
mov r10, r12
shr r10, cl
movzx r10d, byte [r13 + r10 + 0x148]
mov ecx, dword [rsp + 0x3a0]
not ecx
mov esi, ebx
xor esi, 0x7ed51f4e
and ecx, esi
mov edi, dword [rsp + 0x3a0]
xor edi, esi
or esi, dword [rsp + 0x3a0]
add esi, ecx
mov ecx, ebx
xor ecx, 0x4d
add ecx, dword [rsp + 0x90]
sub ecx, esi
imul edi, r15d
add ecx, edi
shl r10d, cl
xor r10d, r9d
xor r10d, r11d
mov ecx, ebx
xor ecx, 0x78892ba7
mov r9d, dword [rsp + 0x18c]
and r9d, ecx
mov edi, eax
imul r9d, eax
mov r11d, dword [rsp + 0x18c]
xor r11d, ecx
or ecx, dword [rsp + 0x18c]
not ecx
add ecx, r11d
mov r11d, ebx
xor r11d, 0x8776d45f
add r11d, r14d
mov esi, ebx
xor esi, 0x8776d458
or esi, dword [rsp + 0x18c]
imul ecx, r15d
add r11d, r9d
sub r11d, esi
add r11d, ecx
and r11d, r12d
movzx eax, byte [r13 + r11 + 0x148]
mov ecx, ebx
xor ecx, 0x64a69999
mov r9d, dword [rsp + 0x188]
xor r9d, ecx
mov r11d, dword [rsp + 0x188]
mov esi, dword [rsp + 0x188]
not esi
add esi, r9d
mov r9d, dword [rsp + 0x188]
not r9d
or r9d, ecx
xor r11d, ebx
xor r11d, 0x66
imul r11d, edi
imul r9d, ebp
imul esi, r15d
add esi, r9d
mov ecx, ebx
xor ecx, 0x98
add ecx, r8d
add ecx, r11d
add ecx, esi
shl eax, cl
xor eax, r10d
xor edx, eax
mov dword [r13 + 0xb0], edx
xor eax, dword [rsp + 0x20]
mov dword [r13 + 0xb4], eax
mov ecx, dword [rsp + 0x18]
xor ecx, eax
mov dword [r13 + 0xb8], ecx
xor eax, dword [rsp + 0x60]
mov dword [r13 + 0xbc], eax
jmp 0x180009584
mov edi, dword [r13 + 0x24]
mov eax, dword [r13 + 0x120]
xor eax, dword [r13 + 0x10]
mov edx, ebx
xor edx, 0x8ef00471
mov r8d, dword [rsp + 0x308]
or r8d, edx
mov ecx, dword [rsp + 0x308]
or ecx, edx
mov dword [rsp + 0x34], r9d
mov r9d, ebx
xor r9d, 0x8e
or r9d, dword [rsp + 0x308]
not ecx
mov rsi, qword [rsp + 0x78]
lea r10d, [rsi + rdx]
mov r12, rsi
and edx, dword [rsp + 0x308]
add ecx, r8d
not edx
add edx, r9d
imul edx, r14d
imul ecx, r15d
add ecx, r10d
add ecx, edx
mov rdx, rdi
shr rdx, cl
mov ecx, dword [rsp + 0x304]
imul ecx, r14d
mov r8d, ebx
xor r8d, 0x37c70aba
mov r9d, ebx
xor r9d, 0xc838f544
mov r10d, dword [rsp + 0x304]
or r10d, r9d
mov r11d, dword [rsp + 0x304]
not r11d
mov ebp, dword [rsp + 0x30]
imul r11d, ebp
and r9d, dword [rsp + 0x304]
mov esi, ebx
xor esi, 0x511d3c6c
add r8d, esi
mov qword [rsp + 0x38], rsi
add r8d, r10d
add r8d, ecx
add r8d, r11d
lea ecx, [r9 + r8]
add ecx, 2
and edx, ecx
movzx edx, byte [r13 + rdx + 0x148]
mov r8d, dword [rsp + 0x47c]
mov ecx, ebx
xor ecx, 0xfc7061c9
mov r9d, dword [rsp + 0x47c]
or r9d, ecx
mov r10d, dword [rsp + 0x47c]
and r10d, ecx
not r10d
add r10d, r8d
mov r8d, ebx
xor r8d, 0x511d3c82
mov dword [rsp + 0x88], r8d
imul r10d, r14d
add ecx, r8d
sub ecx, r9d
add ecx, r10d
mov r8, rdi
shr r8, cl
xor edx, eax
mov eax, ebx
xor eax, 0x4e163be2
lea ecx, [rsi + rax]
inc ecx
and eax, dword [rsp + 0x478]
mov r9d, ebx
xor r9d, 0xb1e9c41d
mov r10d, dword [rsp + 0x478]
xor r10d, r9d
imul r10d, r14d
and r9d, dword [rsp + 0x478]
sub ecx, eax
add ecx, r9d
add ecx, r10d
and r8d, ecx
movzx eax, byte [r13 + r8 + 0x148]
mov r8d, ebx
xor r8d, 0x29e01
and r8d, dword [rsp + 0x300]
imul r8d, ebp
mov ecx, dword [rsp + 0x300]
not ecx
mov r9d, ebx
xor r9d, 0xfffd61fe
and ecx, r9d
or r9d, dword [rsp + 0x300]
mov r11d, ebx
xor r11d, 1
mov r10d, dword [rsp + 0x300]
xor r10d, r11d
mov dword [rsp + 0x28], r11d
add r10d, ecx
mov ecx, ebx
xor ecx, 0xfd
imul r10d, r14d
add ecx, r12d
add ecx, r8d
sub ecx, r9d
add ecx, r10d
shl eax, cl
mov ecx, dword [rsp + 0x2fc]
and ecx, r11d
mov r8d, ebx
xor r8d, 0xdeb532fe
mov r9d, dword [rsp + 0x2fc]
mov r11, qword [rsp + 0xa0]
lea r10d, [r11 + rbx]
mov rsi, r11
sub r10d, ecx
add r10d, dword [rsp + 0x2fc]
xor r9d, r8d
mov ecx, dword [rsp + 0x2fc]
not ecx
or ecx, r8d
add ecx, r9d
imul ecx, r14d
add ecx, r10d
mov r8, rdi
shr r8, cl
xor eax, edx
movzx edx, byte [r13 + r8 + 0x148]
mov r8d, dword [rsp + 0x2f8]
not r8d
mov ecx, ebx
xor ecx, 0x6edb3755
and r8d, ecx
imul r8d, r15d
mov r9d, dword [rsp + 0x2f8]
xor r9d, ecx
imul r9d, ebp
mov r10d, dword [rsp + 0x2f8]
or r10d, ecx
mov r11d, dword [rsp + 0x2f8]
not r11d
or r11d, ecx
imul r11d, r14d
mov ecx, ebx
xor ecx, 0x6edb3754
add ecx, dword [rsp + 0x70]
add ecx, r9d
add ecx, r8d
sub ecx, r10d
add ecx, r11d
shl edx, cl
mov ecx, ebx
xor ecx, 0x860296d0
mov r8d, dword [rsp + 0x2f4]
and r8d, ecx
imul r8d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x2f4]
imul r9d, ebp
mov r10d, dword [rsp + 0x2f4]
xor r10d, ecx
mov r11d, dword [rsp + 0x2f4]
not r11d
or r11d, ecx
imul r11d, r14d
mov ecx, ebx
xor ecx, 0x860296d7
mov r12, qword [rsp + 0x38]
add ecx, r12d
add ecx, r9d
add ecx, r8d
sub ecx, r10d
add ecx, r11d
mov qword [rsp + 0x80], rdi
and ecx, edi
movzx r9d, byte [r13 + rcx + 0x148]
mov r8d, ebx
xor r8d, 0x510d100a
lea ecx, [rsi + r8]
and r8d, dword [rsp + 0x474]
imul r8d, r15d
mov r11d, r15d
mov r10d, dword [rsp + 0x474]
xor r10d, ebx
xor r10d, 0xf5
imul r10d, r14d
add ecx, dword [rsp + 0x474]
add ecx, r8d
add ecx, r10d
shl r9d, cl
xor r9d, edx
xor r9d, eax
mov dword [rsp + 0x48], r9d
mov dword [r13 + 0x28], r9d
mov eax, dword [r13 + 0x14]
mov dword [rsp + 0x20], eax
mov edx, dword [r13 + 0x1c]
mov dword [rsp + 0x68], edx
mov ecx, r9d
xor ecx, eax
mov rax, qword [rsp + 8]
mov dword [rax + 0x2c], ecx
mov rax, qword [rsp + 8]
xor ecx, dword [rax + 0x18]
mov dword [rsp + 0x18], ecx
mov rax, qword [rsp + 8]
mov dword [rax + 0x30], ecx
xor ecx, edx
mov rax, qword [rsp + 8]
mov dword [rax + 0x34], ecx
mov rax, qword [rsp + 8]
xor ecx, dword [rax + 0x20]
mov dword [rsp + 0x40], ecx
mov rax, qword [rsp + 8]
mov dword [rax + 0x38], ecx
mov r8d, ecx
xor r8d, edi
mov rax, qword [rsp + 8]
mov dword [rax + 0x3c], r8d
mov eax, dword [rsp + 0x470]
not eax
mov ecx, ebx
xor ecx, 0x2b
mov r10d, ebx
xor r10d, 0x24
or r10d, dword [rsp + 0x470]
imul r10d, r14d
add ecx, dword [rsp + 0x98]
add ecx, r10d
mov r10d, ebx
xor r10d, 0xb27750db
and eax, r10d
and r10d, dword [rsp + 0x470]
mov edi, ebp
imul eax, ebp
add ecx, eax
mov eax, ebx
xor eax, 0x694ba136
mov esi, dword [rsp + 0x2f0]
mov r15, r12
lea ebx, [r12 + rax]
xor eax, dword [rsp + 0x2f0]
add ecx, r10d
mov r9d, r11d
imul eax, r11d
mov r10d, dword [rsp + 0x2f0]
not r10d
imul r10d, r14d
add r10d, eax
mov rax, qword [rsp]
xor eax, 0x96b45ec9
and esi, eax
imul esi, dword [rsp + 0x54]
add esi, ebx
mov ebx, r8d
shr ebx, cl
add esi, r10d
or eax, dword [rsp + 0x2f0]
sub esi, eax
and esi, ebx
mov rax, qword [rsp + 8]
movzx r10d, byte [rax + rsi + 0x148]
mov rax, qword [rsp + 8]
xor r10d, dword [rax + 0x124]
mov rax, qword [rsp]
mov ecx, eax
xor ecx, 0xb8c5e7ed
mov eax, dword [rsp + 0x46c]
xor eax, ecx
mov rdx, qword [rsp]
xor edx, 0x12
mov dword [rsp + 0x90], edx
mov esi, dword [rsp + 0x46c]
mov ebx, dword [rsp + 0x46c]
or ebx, edx
add ebx, eax
or esi, ecx
not esi
add ebx, esi
mov rax, qword [rsp]
mov esi, eax
xor esi, 0x511d3c81
imul ebx, r14d
add ecx, esi
add ecx, ebx
mov rax, qword [rsp]
xor eax, 0x8330d33a
add eax, r12d
inc eax
sub eax, dword [rsp + 0x2ec]
mov rbx, qword [rsp]
xor ebx, 0x7ccf2cc5
mov ebp, r14d
mov r14d, dword [rsp + 0x2ec]
xor r14d, ebx
imul r14d, r11d
add r14d, eax
mov eax, dword [rsp + 0x2ec]
or eax, ebx
imul eax, edi
xor ebx, dword [rsp + 0x2ec]
add ebx, eax
mov eax, r8d
shr eax, cl
add ebx, r14d
and ebx, eax
mov rax, qword [rsp + 8]
movzx ebx, byte [rax + rbx + 0x148]
mov eax, dword [rsp + 0x2e8]
not eax
mov rcx, qword [rsp]
mov r14d, ecx
xor r14d, 0x33fed333
and eax, r14d
mov ecx, dword [rsp + 0x2e8]
or ecx, r14d
add ecx, eax
mov eax, dword [rsp + 0x2e8]
not eax
or eax, r14d
add eax, ecx
mov rcx, qword [rsp]
xor ecx, 0xd3
and r14d, dword [rsp + 0x2e8]
add ecx, dword [rsp + 0x78]
sub ecx, eax
not r14d
imul r14d, ebp
add ecx, r14d
mov r14, qword [rsp]
xor r14d, 0x52371f8a
mov rax, qword [rsp]
mov r15d, eax
xor r15d, 0x75
mov r12d, dword [rsp + 0x2e4]
mov eax, dword [rsp + 0x2e4]
or r15d, dword [rsp + 0x2e4]
not eax
mov r11, qword [rsp + 0x58]
lea edx, [r11 + r14]
mov r13, r11
and r14d, dword [rsp + 0x2e4]
add eax, r12d
not r14d
add r14d, r15d
imul eax, r9d
add eax, edx
imul r14d, ebp
add eax, r14d
shl ebx, cl
mov rdx, r8
mov ecx, eax
shr rdx, cl
mov rax, qword [rsp + 8]
movzx eax, byte [rax + rdx + 0x148]
mov ecx, dword [rsp + 0x468]
mov edx, dword [rsp + 0x468]
xor edx, dword [rsp]
xor edx, 0x82
add edx, ecx
mov rcx, qword [rsp]
xor ecx, 0x7c
add ecx, esi
mov r11, qword [rsp]
mov esi, r11d
xor esi, 0x7d
and esi, dword [rsp + 0x468]
not esi
imul esi, edi
add ecx, esi
imul edx, ebp
add ecx, edx
shl eax, cl
xor eax, r10d
xor eax, ebx
mov rcx, qword [rsp]
xor ecx, 0x1249ef26
mov rdx, qword [rsp]
xor edx, 0x511d3c6e
add edx, ecx
sub edx, dword [rsp + 0x464]
mov rcx, qword [rsp]
xor ecx, 0xedb610d9
mov r10d, dword [rsp + 0x464]
xor r10d, ecx
add r10d, edx
and ecx, dword [rsp + 0x464]
not ecx
imul ecx, r9d
add ecx, r10d
inc ecx
and ecx, r8d
mov rdx, qword [rsp + 8]
movzx r11d, byte [rdx + rcx + 0x148]
mov rcx, qword [rsp]
mov r8d, ecx
xor r8d, 0x5b90238c
mov r10d, dword [rsp + 0x2e0]
or r8d, dword [rsp + 0x2e0]
imul r10d, dword [rsp + 0x34]
mov rcx, qword [rsp]
xor ecx, 0xa46fdc73
add ecx, r13d
add ecx, r10d
imul r8d, edi
mov r13d, edi
add ecx, r8d
mov r8d, dword [rsp + 0x2e0]
xor r8d, dword [rsp]
xor r8d, 0x73
imul r8d, ebp
add ecx, r8d
mov r8d, dword [rsp + 0x2e0]
not r8d
imul r8d, r9d
mov r14d, r9d
add ecx, r8d
shl r11d, cl
xor r11d, eax
mov ecx, dword [rsp + 0x48]
xor ecx, r11d
mov dword [rsp + 0x48], ecx
mov rax, qword [rsp + 8]
mov dword [rax + 0x40], ecx
xor r11d, dword [rsp + 0x20]
mov dword [rsp + 0x20], r11d
mov rax, qword [rsp + 8]
mov dword [rax + 0x44], r11d
mov eax, r11d
xor eax, dword [rsp + 0x18]
mov rcx, qword [rsp + 8]
mov dword [rcx + 0x48], eax
xor r11d, dword [rsp + 0x68]
mov rax, qword [rsp + 8]
mov dword [rax + 0x4c], r11d
mov eax, r11d
xor eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 8]
mov dword [rcx + 0x50], eax
mov r15d, r11d
xor r15d, dword [rsp + 0x80]
mov rax, qword [rsp + 8]
mov dword [rax + 0x54], r15d
mov rax, qword [rsp]
xor eax, 0x43dfe492
mov ecx, dword [rsp + 0x460]
and ecx, eax
mov r8d, dword [rsp + 0x460]
xor r8d, eax
add r8d, ecx
mov r10d, dword [rsp + 0x460]
not r10d
or r10d, eax
add r10d, r8d
imul r10d, ebp
mov rax, qword [rsp]
mov ecx, eax
xor ecx, 0x6d
mov rax, qword [rsp]
xor eax, 0x511d3c99
mov dword [rsp + 0xb0], eax
add ecx, eax
add ecx, r10d
mov rax, qword [rsp]
xor eax, 0xb6c6e486
mov r8d, dword [rsp + 0x2dc]
or r8d, eax
mov rdx, qword [rsp]
mov r10d, edx
xor r10d, 0x49391b79
mov esi, dword [rsp + 0x2dc]
xor esi, r10d
add esi, r8d
mov r8, qword [rsp]
xor r8d, 0x61557347
or r10d, dword [rsp + 0x2dc]
and eax, dword [rsp + 0x2dc]
mov r9, qword [rsp + 0x38]
add r8d, r9d
inc r8d
add r8d, eax
imul r10d, r14d
add r8d, r10d
mov eax, r15d
shr eax, cl
imul esi, ebp
add r8d, esi
and r8d, eax
mov rax, qword [rsp + 8]
movzx esi, byte [rax + r8 + 0x148]
mov rax, qword [rsp]
xor eax, 0x962b5599
mov rcx, qword [rsp]
mov r8d, ecx
xor r8d, 0x66
mov ecx, dword [rsp + 0x2d8]
or r8d, dword [rsp + 0x2d8]
mov r10d, dword [rsp + 0x2d8]
not r10d
or r10d, eax
mov r12, qword [rsp + 0x70]
lea ebx, [r12 + rax]
and eax, dword [rsp + 0x2d8]
imul r10d, r14d
not eax
imul eax, ebp
add eax, r10d
xor ecx, dword [rsp]
xor ecx, 0x69d4aa66
mov edx, edi
imul ecx, edi
add ecx, ebx
sub ecx, r8d
add ecx, eax
mov rax, qword [rsp]
xor eax, 0x875919c9
mov r8d, dword [rsp + 0x2d4]
or r8d, eax
imul r8d, ebp
mov r10, qword [rsp]
xor r10d, 0x875919c8
add r10d, r9d
mov r13, r9
add r10d, r8d
mov rdi, r15
mov r8d, edi
shr r8d, cl
mov ecx, dword [rsp + 0x2d4]
or ecx, eax
not ecx
imul ecx, dword [rsp + 0x54]
xor eax, dword [rsp + 0x2d4]
add r10d, dword [rsp + 0x2d4]
add r10d, ecx
add eax, r10d
add eax, 2
and eax, r8d
mov rcx, qword [rsp + 8]
movzx r10d, byte [rcx + rax + 0x148]
mov eax, dword [rsp + 0x2d0]
mov r8d, dword [rsp + 0x2d0]
imul r8d, edx
mov r15d, edx
mov rcx, qword [rsp]
xor ecx, 0x5b6fb770
add ecx, dword [rsp + 0x78]
add ecx, r8d
mov rdx, qword [rsp]
mov r8d, edx
xor r8d, 0x5b6fb771
and eax, r8d
mov r9d, r14d
imul eax, r14d
add ecx, eax
xor r8d, dword [rsp + 0x2d0]
sub ecx, r8d
mov eax, dword [rsp + 0x2d0]
not eax
imul eax, ebp
add ecx, eax
mov eax, dword [rsp + 0x45c]
not eax
mov rdx, qword [rsp]
mov r8d, edx
xor r8d, 0xb2
and r8d, eax
mov rax, qword [rsp]
mov ebx, eax
xor ebx, 0x4d
and ebx, dword [rsp + 0x45c]
mov rax, qword [rsp]
mov r14d, eax
xor r14d, 0xb1
mov rax, qword [rsp]
xor eax, 0x84
add eax, r14d
add r8d, dword [rsp + 0x45c]
sub eax, r8d
shl r10d, cl
imul ebx, ebp
add eax, ebx
mov r8, rdi
mov ecx, eax
shr r8, cl
mov rax, qword [rsp + 8]
movzx ebx, byte [rax + r8 + 0x148]
mov eax, dword [rsp + 0x2cc]
not eax
mov rcx, qword [rsp]
xor ecx, 0x211001b4
mov rdx, qword [rsp]
mov r8d, edx
xor r8d, 0x4b
and r8d, dword [rsp + 0x2cc]
and eax, ecx
add eax, dword [rsp + 0x2cc]
mov r14d, dword [rsp + 0x2cc]
not r14d
or r14d, ecx
imul r8d, r15d
imul r14d, ebp
add r14d, r8d
mov rcx, qword [rsp]
mov edx, ecx
xor edx, 0xbb
add edx, r12d
sub edx, eax
add edx, r14d
mov rax, qword [rsp]
mov ecx, eax
xor ecx, 0x55c54f63
mov r8d, dword [rsp + 0x458]
xor r8d, ecx
mov rax, qword [rsp]
mov r14d, eax
xor r14d, 0xaa3ab083
or ecx, dword [rsp + 0x458]
mov r12, qword [rsp]
xor r12d, 0x58addb71
mov rax, qword [rsp]
xor eax, 0xaa3ab09c
or eax, dword [rsp + 0x458]
add r12d, r14d
add eax, r8d
not ecx
add eax, ecx
imul eax, ebp
add r12d, r13d
add r12d, eax
and r12d, edi
mov qword [rsp + 0x80], rdi
mov rax, qword [rsp + 8]
movzx r14d, byte [rax + r12 + 0x148]
mov rax, qword [rsp]
mov r12d, eax
xor r12d, 0xd05e7326
mov eax, dword [rsp + 0x2c8]
xor eax, r12d
mov ecx, dword [rsp + 0x2c8]
not ecx
or ecx, r12d
add ecx, eax
mov rax, qword [rsp]
xor eax, 7
mov r8, qword [rsp]
xor r8d, 0xd9
or r8d, dword [rsp + 0x2c8]
mov r15, qword [rsp + 0x58]
add eax, r15d
sub eax, r8d
and r12d, dword [rsp + 0x2c8]
not r12d
imul r12d, r9d
add eax, r12d
imul ecx, ebp
add eax, ecx
mov ecx, edx
shl ebx, cl
mov ecx, eax
shl r14d, cl
mov rax, qword [rsp + 8]
xor esi, dword [rax + 0x128]
xor esi, ebx
xor esi, r10d
mov ecx, r14d
xor ecx, dword [rsp + 0x48]
xor ecx, esi
mov rax, qword [rsp + 8]
mov dword [rax + 0x58], ecx
mov eax, ecx
mov edx, ecx
mov dword [rsp + 0x60], ecx
xor eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 8]
mov dword [rcx + 0x5c], eax
mov ecx, dword [rsp + 0x18]
xor ecx, edx
mov dword [rsp + 0x18], ecx
mov rax, qword [rsp + 8]
mov dword [rax + 0x60], ecx
xor r11d, ecx
mov rax, qword [rsp + 8]
mov dword [rax + 0x64], r11d
mov r11d, ecx
xor r11d, dword [rsp + 0x40]
mov rax, qword [rsp + 8]
mov dword [rax + 0x68], r11d
mov r9d, r11d
xor r9d, edi
mov rax, qword [rsp + 8]
mov dword [rax + 0x6c], r9d
mov eax, dword [rsp + 0x454]
not eax
mov rcx, qword [rsp]
mov edx, ecx
xor edx, 0xb2572e5
and eax, edx
mov ecx, dword [rsp + 0x454]
xor ecx, edx
or edx, dword [rsp + 0x454]
not edx
add edx, ecx
mov rcx, qword [rsp]
xor ecx, 0xe4
mov rbx, qword [rsp + 0x78]
add ecx, ebx
sub ecx, eax
imul edx, ebp
add ecx, edx
mov rax, qword [rsp]
xor eax, 0x1ea23bfd
mov edx, dword [rsp + 0x450]
and edx, eax
mov r8, qword [rsp]
xor r8d, 0xe15dc400
mov r10, qword [rsp]
xor r10d, 0x511d3c6d
mov dword [rsp + 0xd8], r10d
add r8d, r10d
sub r8d, dword [rsp + 0x450]
or eax, dword [rsp + 0x450]
add eax, r8d
imul edx, ebp
add eax, edx
mov edx, r9d
shr edx, cl
and eax, edx
mov rcx, qword [rsp + 8]
movzx r10d, byte [rcx + rax + 0x148]
mov rax, qword [rsp + 8]
xor r10d, dword [rax + 0x12c]
mov rax, qword [rsp]
xor eax, 0x91e896c3
mov edx, dword [rsp + 0x2c4]
xor edx, eax
mov rcx, qword [rsp]
xor ecx, 0x6e176923
or eax, dword [rsp + 0x2c4]
mov r8, qword [rsp + 0xa8]
add ecx, r8d
mov r13, r8
add ecx, eax
imul edx, ebp
add ecx, edx
mov rax, qword [rsp]
xor eax, 0x3c
mov edx, dword [rsp + 0x2c4]
xor edx, eax
mov edi, dword [rsp + 0x30]
imul edx, edi
add ecx, edx
or eax, dword [rsp + 0x2c4]
sub ecx, eax
mov rax, qword [rsp]
xor eax, 0xffafee58
mov edx, dword [rsp + 0x44c]
and edx, eax
mov r8d, dword [rsp + 0x44c]
xor eax, dword [rsp + 0x44c]
add eax, edx
mov rdx, qword [rsp]
xor edx, 0x5011a7
and r8d, edx
mov rsi, qword [rsp]
xor esi, 0x511d3d93
mov dword [rsp + 0xd0], esi
add edx, esi
sub edx, r8d
imul eax, ebp
add edx, eax
mov eax, r9d
shr eax, cl
and edx, eax
mov rax, qword [rsp + 8]
movzx esi, byte [rax + rdx + 0x148]
mov eax, dword [rsp + 0x2c0]
not eax
mov rcx, qword [rsp]
xor ecx, 0xa1a75d3f
and eax, ecx
mov rdx, qword [rsp]
xor edx, 0xc0
mov r8d, dword [rsp + 0x2c0]
or edx, dword [rsp + 0x2c0]
add edx, eax
or r8d, ecx
mov eax, dword [rsp + 0x2c0]
not eax
or eax, ecx
add eax, r8d
add ecx, ebx
sub ecx, eax
imul edx, ebp
add ecx, edx
mov ebx, dword [rsp + 0x2bc]
not ebx
mov rax, qword [rsp]
xor eax, 0xe6245a84
and ebx, eax
mov edx, dword [rsp + 0x2bc]
xor edx, eax
mov r8d, dword [rsp + 0x2bc]
or r8d, eax
mov r12d, dword [rsp + 0x2bc]
not r12d
or r12d, eax
imul edx, edi
mov rax, qword [rsp]
xor eax, 0xe6245a8b
add eax, r15d
add eax, edx
mov r14d, dword [rsp + 0x2c]
imul ebx, r14d
add eax, ebx
sub eax, r8d
imul r12d, ebp
add eax, r12d
shl esi, cl
mov rdx, r9
mov ecx, eax
shr rdx, cl
mov rax, qword [rsp + 8]
movzx eax, byte [rax + rdx + 0x148]
mov ecx, dword [rsp + 0x2b8]
not ecx
mov rdx, qword [rsp]
xor edx, 0x9aaacb9a
and ecx, edx
mov r8, qword [rsp]
xor r8d, 0x65553465
and r8d, dword [rsp + 0x2b8]
add r8d, ecx
mov ebx, dword [rsp + 0x2b8]
not ebx
or ebx, edx
add ebx, r8d
mov rcx, qword [rsp]
xor ecx, 0x64
and edx, dword [rsp + 0x2b8]
add ecx, r13d
add ecx, edx
imul ebx, ebp
add ecx, ebx
shl eax, cl
xor eax, r10d
xor eax, esi
mov rcx, qword [rsp]
xor ecx, 0xbb48688d
and ecx, dword [rsp + 0x448]
mov rdx, qword [rsp]
xor edx, 0x44b79772
mov r8d, dword [rsp + 0x448]
xor r8d, edx
mov r10, qword [rsp]
xor r10d, 0x85b794af
mov esi, dword [rsp + 0x448]
and esi, edx
add r10d, edx
mov rdi, qword [rsp + 0x38]
add r10d, edi
sub r10d, ecx
add r10d, r8d
lea ecx, [rsi + r10]
add ecx, 2
and ecx, r9d
mov rdx, qword [rsp + 8]
movzx esi, byte [rdx + rcx + 0x148]
mov edx, dword [rsp + 0x2b4]
xor edx, dword [rsp]
xor edx, 0xaa
imul edx, ebp
mov rcx, qword [rsp]
xor ecx, 0xe2235555
mov r8d, dword [rsp + 0x2b4]
mov r9, qword [rsp + 0xa0]
lea r10d, [r9 + rcx]
add r10d, dword [rsp + 0x2b4]
add r10d, edx
xor r8d, dword [rsp]
xor r8d, 0x55
or ecx, dword [rsp + 0x2b4]
mov r15d, dword [rsp + 0x30]
imul r8d, r15d
mov ebx, r14d
imul ecx, r14d
add ecx, r8d
add ecx, r10d
shl esi, cl
xor esi, eax
mov ecx, dword [rsp + 0x60]
xor ecx, esi
mov dword [rsp + 0x60], ecx
mov rax, qword [rsp + 8]
mov dword [rax + 0x70], ecx
mov ecx, dword [rsp + 0x20]
xor ecx, esi
mov dword [rsp + 0x20], ecx
mov rax, qword [rsp + 8]
mov dword [rax + 0x74], ecx
mov eax, ecx
xor eax, dword [rsp + 0x18]
mov rcx, qword [rsp + 8]
mov dword [rcx + 0x78], eax
xor esi, dword [rsp + 0x68]
mov dword [rsp + 0x48], esi
mov rax, qword [rsp + 8]
mov dword [rax + 0x7c], esi
xor r11d, esi
mov rax, qword [rsp + 8]
mov dword [rax + 0x80], r11d
mov r11d, esi
xor r11d, dword [rsp + 0x80]
mov rax, qword [rsp + 8]
mov dword [rax + 0x84], r11d
mov rax, qword [rsp]
mov ecx, eax
xor ecx, 0xc55136ff
mov eax, dword [rsp + 0x444]
xor eax, ecx
or ecx, 1
add ecx, dword [rsp + 0xb0]
add ecx, eax
mov eax, dword [rsp + 0x444]
not eax
imul eax, ebp
add ecx, eax
mov eax, dword [rsp + 0x444]
or eax, dword [rsp]
imul eax, r15d
mov r14d, r15d
add ecx, eax
mov rax, qword [rsp]
xor eax, 0xdc911f0c
mov edx, dword [rsp + 0x2b0]
and edx, eax
mov r8d, dword [rsp + 0x2b0]
not r8d
and r8d, eax
add r8d, edx
mov edx, dword [rsp + 0x2b0]
xor edx, eax
mov r10, qword [rsp]
xor r10d, 0x236ee0f3
add r10d, edi
inc r10d
sub r10d, edx
xor eax, dword [rsp + 0x2b0]
add r10d, eax
mov eax, r11d
shr eax, cl
imul r8d, ebp
add r10d, r8d
and r10d, eax
mov rax, qword [rsp + 8]
movzx r9d, byte [rax + r10 + 0x148]
mov rax, qword [rsp]
xor eax, 0xde08a338
mov edx, dword [rsp + 0x4fc]
or edx, eax
mov r10d, dword [rsp + 0x4fc]
not r10d
or r10d, eax
mov rax, qword [rsp]
mov ecx, eax
xor ecx, 0xc6
add ecx, r13d
add ecx, edx
imul r10d, ebp
add ecx, r10d
mov rax, qword [rsp]
xor eax, 0x78b8d1ef
mov edx, dword [rsp + 0x2ac]
mov r10d, dword [rsp + 0x2ac]
or r10d, eax
mov rsi, qword [rsp]
xor esi, 0x78b8d1ee
add esi, edi
inc esi
sub esi, r10d
mov r10d, r11d
shr r10d, cl
and edx, eax
imul edx, ebp
add esi, edx
add esi, dword [rsp + 0x2ac]
and eax, dword [rsp + 0x2ac]
not eax
imul eax, r15d
add eax, esi
and eax, r10d
mov rcx, qword [rsp + 8]
movzx r10d, byte [rcx + rax + 0x148]
mov rax, qword [rsp]
xor eax, 0xc23b8e9d
mov edx, dword [rsp + 0x440]
and edx, eax
mov rcx, qword [rsp]
xor ecx, 0x9c
mov r8, qword [rsp]
xor r8d, 0x511d3c94
mov dword [rsp + 0x68], r8d
add ecx, r8d
sub ecx, edx
or eax, dword [rsp + 0x440]
not eax
imul eax, ebp
add ecx, dword [rsp + 0x440]
add ecx, eax
mov rax, qword [rsp]
xor eax, 0x195216f2
mov edx, dword [rsp + 0x2a8]
mov esi, dword [rsp + 0x2a8]
xor esi, eax
mov edi, dword [rsp + 0x2a8]
not edi
or edi, eax
imul edx, r15d
mov rax, qword [rsp]
xor eax, 0x3e7c97af
mov r13, qword [rsp + 0x58]
add eax, r13d
add eax, edx
sub eax, esi
imul edi, ebp
add eax, edi
mov rdx, qword [rsp]
xor edx, 0xd
or edx, dword [rsp + 0x2a8]
imul edx, dword [rsp + 0x34]
add eax, edx
inc cl
shl r10d, cl
mov rdx, r11
mov ecx, eax
shr rdx, cl
mov rax, qword [rsp + 8]
movzx esi, byte [rax + rdx + 0x148]
mov edx, dword [rsp + 0x2a4]
not edx
mov rax, qword [rsp]
mov ecx, eax
xor ecx, 0x497e9aba
and edx, ecx
or ecx, dword [rsp + 0x2a4]
mov r8d, dword [rsp + 0x2a4]
xor r8d, dword [rsp]
xor r8d, 0x45
add r8d, ecx
mov rdi, qword [rsp]
xor edi, 0xb6816545
mov rax, qword [rsp + 0x70]
lea ecx, [rax + rdi]
sub ecx, edx
or edi, dword [rsp + 0x2a4]
imul edi, ebx
add ecx, edi
mov edx, dword [rsp + 0x43c]
mov edi, dword [rsp + 0x43c]
xor edi, dword [rsp]
xor edi, 0xe871e6a3
add edi, edx
mov rax, qword [rsp]
mov edx, eax
xor edx, 0x178e1943
mov rbx, qword [rsp]
xor ebx, 0x511d3d92
add ebx, edx
mov rax, qword [rsp]
mov edx, eax
xor edx, 0x178e195c
and edx, dword [rsp + 0x43c]
not edx
imul edx, r15d
add ebx, edx
mov r15d, ebp
imul edi, ebp
add ebx, edi
imul r8d, ebp
and ebx, r11d
mov rax, qword [rsp + 8]
movzx edi, byte [rax + rbx + 0x148]
mov edx, dword [rsp + 0x2a0]
not edx
mov rax, qword [rsp]
mov ebx, eax
xor ebx, 0x11178b0f
and edx, ebx
mov rax, qword [rsp]
mov r12d, eax
xor r12d, 0xeee874f0
mov eax, dword [rsp + 0x2a0]
and eax, r12d
or ebx, dword [rsp + 0x2a0]
or r12d, dword [rsp + 0x2a0]
add ecx, r8d
add r12d, eax
add r12d, edx
mov rax, qword [rsp]
xor eax, 0xe
add eax, r13d
sub eax, ebx
shl esi, cl
imul r12d, ebp
add eax, r12d
mov rcx, qword [rsp + 8]
xor r9d, dword [rcx + 0x130]
xor r9d, esi
mov ecx, eax
mov edx, edi
shl edx, cl
xor r9d, r10d
xor edx, dword [rsp + 0x60]
xor edx, r9d
mov rax, qword [rsp + 8]
mov dword [rax + 0x88], edx
mov eax, edx
xor eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 8]
mov dword [rcx + 0x8c], eax
mov ecx, dword [rsp + 0x18]
xor ecx, edx
mov edi, edx
mov dword [rsp + 0x18], ecx
mov rax, qword [rsp + 8]
mov dword [rax + 0x90], ecx
mov eax, ecx
xor eax, dword [rsp + 0x48]
mov rcx, qword [rsp + 8]
mov dword [rcx + 0x94], eax
mov ecx, dword [rsp + 0x40]
xor ecx, edx
mov dword [rsp + 0x40], ecx
mov rax, qword [rsp + 8]
mov dword [rax + 0x98], ecx
xor r11d, ecx
mov rax, qword [rsp + 8]
mov dword [rax + 0x9c], r11d
mov eax, dword [rsp + 0x29c]
not eax
mov rcx, qword [rsp]
xor ecx, 0x9cf2e0af
and eax, ecx
mov edx, dword [rsp + 0x29c]
or edx, ecx
mov r8d, dword [rsp + 0x29c]
mov r9d, dword [rsp + 0x29c]
not r9d
or r9d, ecx
imul edx, ebp
mov rcx, qword [rsp]
xor ecx, 0x9cf2e0ae
add ecx, dword [rsp + 0x78]
add ecx, edx
mov r10d, dword [rsp + 0x2c]
imul eax, r10d
add ecx, eax
not r8d
imul r8d, r14d
add ecx, r8d
sub ecx, r9d
mov eax, dword [rsp + 0x298]
mov edx, dword [rsp + 0x298]
xor edx, dword [rsp]
xor edx, 0xea3bb969
add edx, eax
mov rax, qword [rsp]
xor eax, 0x15c44696
mov r8d, dword [rsp + 0x298]
mov r9d, dword [rsp + 0x298]
not r9d
or r9d, eax
not r8d
imul r8d, r14d
mov r13d, r14d
mov rax, qword [rsp]
xor eax, 0x15c44695
mov rsi, qword [rsp + 0x38]
add eax, esi
add eax, r8d
imul r9d, r10d
add eax, r9d
imul edx, ebp
add eax, edx
mov edx, r11d
shr edx, cl
and eax, edx
mov rcx, qword [rsp + 8]
movzx r10d, byte [rcx + rax + 0x148]
mov rax, qword [rsp + 8]
xor r10d, dword [rax + 0x134]
mov rax, qword [rsp]
xor eax, 0x3c724c75
mov edx, dword [rsp + 0x294]
and edx, eax
mov rcx, qword [rsp + 0xa8]
add ecx, eax
or eax, dword [rsp + 0x294]
mov r8d, dword [rsp + 0x294]
not r8d
mov r9, qword [rsp]
xor r9d, 0xc38db38a
or r8d, r9d
add r8d, edx
and r9d, dword [rsp + 0x294]
sub ecx, eax
add ecx, r9d
imul r8d, ebp
add ecx, r8d
mov rax, qword [rsp]
xor eax, 0xa6564a4
mov edx, dword [rsp + 0x290]
and edx, eax
xor eax, dword [rsp + 0x290]
mov r8d, dword [rsp + 0x290]
not r8d
add r8d, eax
imul edx, dword [rsp + 0x54]
mov rax, qword [rsp]
xor eax, 0x18127301
add eax, esi
mov r12, rsi
add eax, edx
mov rdx, qword [rsp]
xor edx, 0xf59a9b5b
or edx, dword [rsp + 0x290]
sub eax, edx
mov edx, r11d
shr edx, cl
imul r8d, ebp
add eax, r8d
and eax, edx
mov rcx, qword [rsp + 8]
movzx esi, byte [rcx + rax + 0x148]
mov rax, qword [rsp]
mov ecx, eax
xor ecx, 0xbd
mov edx, dword [rsp + 0x28c]
and edx, ecx
mov rax, qword [rsp]
mov r8d, eax
xor r8d, 0x4bf5542
mov eax, dword [rsp + 0x28c]
xor eax, r8d
or r8d, dword [rsp + 0x28c]
xor ecx, dword [rsp + 0x28c]
add ecx, eax
mov rax, qword [rsp]
xor eax, 0xbc
mov dword [rsp + 0x60], eax
mov rbx, qword [rsp + 0x98]
add ebx, eax
sub ebx, edx
add ebx, r8d
imul ecx, ebp
add ebx, ecx
mov rcx, qword [rsp]
xor ecx, 0x881037fe
mov edx, dword [rsp + 0x438]
mov r9d, dword [rsp + 0x438]
xor r9d, ecx
add r9d, edx
mov rdx, qword [rsp]
mov r8d, edx
xor r8d, 0x8a
add r8d, dword [rsp + 0x28]
or ecx, dword [rsp + 0x438]
sub r8d, r9d
imul ecx, r14d
add r8d, ecx
mov ecx, ebx
shl esi, cl
mov rdx, r11
mov ecx, r8d
shr rdx, cl
mov rcx, qword [rsp + 8]
movzx ebx, byte [rcx + rdx + 0x148]
mov edx, dword [rsp + 0x434]
not edx
mov rcx, qword [rsp]
mov r8d, ecx
xor r8d, 0xbb2d18b1
and edx, r8d
or r8d, dword [rsp + 0x434]
mov rcx, qword [rsp]
xor ecx, 0x4e
mov r9d, dword [rsp + 0x434]
xor r9d, ecx
add r9d, edx
add ecx, dword [rsp + 0x88]
add ecx, r8d
imul r9d, ebp
add ecx, r9d
mov edx, dword [rsp + 0x430]
not edx
mov r8, qword [rsp]
xor r8d, 0xff2b0c77
mov r9d, dword [rsp + 0x430]
or r8d, dword [rsp + 0x430]
add r8d, edx
mov rdx, qword [rsp]
xor edx, 0xd4f388
not r9d
or r9d, edx
add edx, dword [rsp + 0xd0]
sub edx, r9d
imul r8d, ebp
add edx, r8d
and edx, r11d
mov r8, qword [rsp + 8]
movzx r14d, byte [r8 + rdx + 0x148]
mov rdx, qword [rsp]
xor edx, 0x66499e34
mov r9d, dword [rsp + 0x288]
and r9d, edx
imul r9d, r13d
mov r8, qword [rsp]
xor r8d, 0x99b661cb
mov rax, qword [rsp + 0xa0]
add r8d, eax
add r8d, r9d
mov r9d, dword [rsp + 0x288]
not r9d
and r9d, edx
imul r9d, ebp
add r8d, r9d
mov r9d, dword [rsp + 0x288]
or r9d, edx
sub r8d, r9d
xor edx, dword [rsp + 0x288]
add r8d, edx
inc cl
shl ebx, cl
mov ecx, r8d
shl r14d, cl
xor ebx, r10d
xor ebx, esi
xor r14d, ebx
xor edi, r14d
mov dword [rsp + 0x28], edi
mov rcx, qword [rsp + 8]
mov dword [rcx + 0xa0], edi
xor r14d, dword [rsp + 0x20]
mov rcx, qword [rsp + 8]
mov dword [rcx + 0xa4], r14d
mov ecx, r14d
xor ecx, dword [rsp + 0x18]
mov rdx, qword [rsp + 8]
mov dword [rdx + 0xa8], ecx
mov edx, r14d
xor edx, dword [rsp + 0x48]
mov dword [rsp + 0x20], edx
mov rcx, qword [rsp + 8]
mov dword [rcx + 0xac], edx
mov ecx, edx
xor ecx, dword [rsp + 0x40]
mov rdx, qword [rsp + 8]
mov dword [rdx + 0xb0], ecx
mov rdi, qword [rsp + 0x80]
xor edi, r14d
mov rcx, qword [rsp + 8]
mov dword [rcx + 0xb4], edi
mov rcx, qword [rsp]
xor ecx, 0xc84cb55d
mov edx, dword [rsp + 0x42c]
and edx, ecx
mov r8d, dword [rsp + 0x42c]
xor r8d, ecx
add r8d, edx
mov r9d, dword [rsp + 0x42c]
not r9d
or r9d, ecx
add r9d, r8d
mov rcx, qword [rsp]
xor ecx, 0xa2
mov rdx, qword [rsp]
xor edx, 0xf
add ecx, edx
add ecx, dword [rsp + 0x78]
sub ecx, r9d
mov r8, qword [rsp]
xor r8d, 0x2cd4f93d
mov r9d, dword [rsp + 0x284]
mov r10d, dword [rsp + 0x284]
or r10d, r8d
mov r11, qword [rsp]
xor r11d, 0x2cd4f93c
mov rbx, r12
add r11d, r12d
inc r11d
sub r11d, r10d
and r9d, r8d
imul r9d, ebp
add r11d, r9d
add r11d, dword [rsp + 0x284]
and r8d, dword [rsp + 0x284]
not r8d
mov r10d, r13d
imul r8d, r13d
add r8d, r11d
mov r9d, edi
shr r9d, cl
and r8d, r9d
mov rcx, qword [rsp]
xor ecx, 0xe1181585
mov r9, qword [rsp]
xor r9d, 0xf6e057e5
add r9d, ecx
mov rcx, qword [rsp + 8]
movzx ebp, byte [rcx + r8 + 0x148]
mov rcx, qword [rsp]
mov r8d, ecx
xor r8d, 0xe6
add r9d, dword [rsp + 0x70]
sub r9d, dword [rsp + 0x428]
or r8d, dword [rsp + 0x428]
imul r8d, r13d
add r8d, r9d
mov ecx, dword [rsp + 0x428]
xor ecx, dword [rsp]
xor ecx, 0x19
imul ecx, r15d
add ecx, r8d
mov r8d, dword [rsp + 0x280]
not r8d
mov r9, qword [rsp]
xor r9d, 0x3015a296
and r8d, r9d
mov r11, qword [rsp]
xor r11d, 0xcfea5d69
mov esi, dword [rsp + 0x280]
or r11d, dword [rsp + 0x280]
add r11d, r8d
or esi, r9d
mov r8d, dword [rsp + 0x280]
not r8d
or r8d, r9d
add r8d, esi
mov r9, qword [rsp]
xor r9d, 0xcfea5d68
add r9d, ebx
mov r13, r12
sub r9d, r11d
imul r8d, r15d
add r9d, r8d
mov r10, rdi
mov r8d, r10d
shr r8d, cl
and r9d, r8d
mov rcx, qword [rsp + 8]
movzx esi, byte [rcx + r9 + 0x148]
mov rcx, qword [rsp]
mov r8d, ecx
xor r8d, 0xdc78fcc8
mov ecx, dword [rsp + 0x424]
and ecx, r8d
or r8d, dword [rsp + 0x424]
add r8d, ecx
mov ecx, dword [rsp + 0x424]
not ecx
add ecx, r8d
mov r8, qword [rsp]
xor r8d, 0x36
mov r9, qword [rsp]
xor r9d, 0x9a
add r9d, r8d
imul ecx, r15d
add ecx, r9d
mov r8d, dword [rsp + 0x27c]
not r8d
mov r9, qword [rsp]
xor r9d, 0x30080256
and r8d, r9d
mov r11d, dword [rsp + 0x27c]
or r11d, r9d
add r11d, r8d
mov ebx, dword [rsp + 0x27c]
or ebx, r9d
not ebx
add ebx, r11d
mov r8, qword [rsp]
xor r8d, 0xa8
and r9d, dword [rsp + 0x27c]
add r8d, eax
add r8d, r9d
imul ebx, r15d
add r8d, ebx
shl esi, cl
mov r9, rdi
mov ecx, r8d
shr r9, cl
mov rcx, qword [rsp + 8]
movzx ebx, byte [rcx + r9 + 0x148]
mov r8, qword [rsp]
xor r8d, 0x67e04df0
mov ecx, dword [rsp + 0x420]
xor ecx, r8d
mov r9, qword [rsp + 0xa8]
add r9d, r8d
or r8d, dword [rsp + 0x420]
or edx, dword [rsp + 0x420]
add edx, ecx
mov rcx, qword [rsp]
xor ecx, 0xab
add ecx, r9d
add ecx, r8d
sub ecx, edx
mov rdx, qword [rsp]
xor edx, 0x36d29d7e
mov r8d, dword [rsp + 0x278]
and r8d, edx
mov r9d, dword [rsp + 0x278]
or edx, dword [rsp + 0x278]
add edx, r8d
mov r8, qword [rsp]
xor r8d, 0xc92d6281
or r9d, r8d
imul r9d, r15d
mov r11, qword [rsp]
xor r11d, 0x9e827f49
add r11d, r12d
inc r11d
add r11d, r9d
sub r11d, edx
and r8d, dword [rsp + 0x278]
add r11d, r8d
and r11d, r10d
mov qword [rsp + 0x80], rdi
mov rdx, qword [rsp + 8]
movzx edx, byte [rdx + r11 + 0x148]
mov r8, qword [rsp]
mov r12d, r8d
xor r12d, 0xa847080c
mov r9d, dword [rsp + 0x274]
xor r9d, r12d
or r12d, dword [rsp + 0x274]
not r12d
imul r12d, dword [rsp + 0x34]
mov r8, qword [rsp]
xor r8d, 0x57b8f7f2
add r8d, dword [rsp + 0x58]
sub r8d, r9d
mov r9d, dword [rsp + 0x274]
not r9d
mov eax, dword [rsp + 0x30]
imul r9d, eax
add r8d, r9d
add r8d, r12d
mov r9, qword [rsp]
xor r9d, 0xf3
or r9d, dword [rsp + 0x274]
imul r9d, r15d
add r8d, r9d
shl ebx, cl
mov ecx, r8d
shl edx, cl
mov rcx, qword [rsp + 8]
xor ebp, dword [rcx + 0x138]
xor ebp, ebx
mov rbx, qword [rsp]
xor ebp, esi
xor edx, dword [rsp + 0x28]
xor edx, ebp
mov rcx, qword [rsp + 8]
mov dword [rcx + 0xb8], edx
mov ecx, edx
xor ecx, r14d
mov r8, qword [rsp + 8]
mov dword [r8 + 0xbc], ecx
mov r8d, dword [rsp + 0x18]
xor r8d, edx
mov rcx, qword [rsp + 8]
mov dword [rcx + 0xc0], r8d
mov r9d, dword [rsp + 0x20]
xor r9d, r8d
mov rcx, qword [rsp + 8]
mov dword [rcx + 0xc4], r9d
mov edi, dword [rsp + 0x40]
xor edi, r8d
mov ebp, r8d
mov rcx, qword [rsp + 8]
mov dword [rcx + 0xc8], edi
mov r8d, edi
xor r8d, r10d
mov rcx, qword [rsp + 8]
mov dword [rcx + 0xcc], r8d
mov ecx, ebx
xor ecx, 0xd11c16af
mov r9d, dword [rsp + 0x41c]
or r9d, ecx
mov r10d, dword [rsp + 0x41c]
or r10d, ecx
mov r11d, dword [rsp + 0x41c]
not r11d
or r11d, ecx
imul r9d, r15d
mov ecx, ebx
xor ecx, 0xae
add ecx, dword [rsp + 0x78]
add ecx, r9d
not r10d
imul r10d, eax
add ecx, r10d
sub ecx, r11d
mov r9d, ebx
xor r9d, 0x2b26d75
mov r10d, dword [rsp + 0x418]
mov r11d, dword [rsp + 0x418]
imul r11d, r15d
mov r12, r13
add r9d, r12d
add r9d, r11d
not r10d
mov r11d, ebx
xor r11d, 0xfd4d9289
and r10d, r11d
imul r10d, eax
mov r13d, eax
add r9d, r10d
xor r11d, dword [rsp + 0x418]
sub r9d, r11d
mov r10d, r8d
shr r10d, cl
and r9d, r10d
mov rcx, qword [rsp + 8]
movzx r10d, byte [rcx + r9 + 0x148]
mov rcx, qword [rsp + 8]
xor r10d, dword [rcx + 0x13c]
mov ecx, ebx
xor ecx, 0x42
add ecx, dword [rsp + 0x88]
sub ecx, dword [rsp + 0x414]
mov r9d, dword [rsp + 0x414]
xor r9d, ebx
xor r9d, 0x43
imul r9d, r15d
mov eax, dword [rsp + 0x60]
or eax, dword [rsp + 0x414]
imul eax, r13d
add eax, ecx
add eax, r9d
mov ecx, eax
mov r9d, r8d
shr r9d, cl
mov eax, ebx
xor eax, 0xbdb2bfdb
and eax, dword [rsp + 0x4f8]
imul eax, r15d
mov ecx, ebx
xor ecx, 0x424d402b
add ecx, dword [rsp + 0xd8]
mov r11d, ebx
xor r11d, 0x424d4024
or r11d, dword [rsp + 0x4f8]
add ecx, eax
sub ecx, r11d
and ecx, r9d
mov rax, qword [rsp + 8]
movzx esi, byte [rax + rcx + 0x148]
mov eax, ebx
xor eax, 0x27
and eax, dword [rsp + 0x4f4]
imul eax, r15d
mov ecx, ebx
mov r9d, ebx
xor r9d, 0xd8
or r9d, dword [rsp + 0x4f4]
xor ecx, 0xdf
add ecx, dword [rsp + 0x68]
add ecx, eax
sub ecx, r9d
shl esi, cl
mov eax, dword [rsp + 0x270]
not eax
mov r9d, ebx
xor r9d, 0xe3d8311c
and eax, r9d
mov ecx, ebx
xor ecx, 0xe2
add eax, dword [rsp + 0x270]
mov r11d, dword [rsp + 0x270]
not r11d
add r11d, eax
and r9d, dword [rsp + 0x270]
imul r11d, r15d
add ecx, dword [rsp + 0xa0]
add ecx, r9d
add ecx, r11d
mov rax, r8
shr rax, cl
mov rcx, qword [rsp + 8]
movzx eax, byte [rcx + rax + 0x148]
mov ecx, dword [rsp + 0x26c]
not ecx
mov r9d, ebx
xor r9d, 0x94e44313
and ecx, r9d
mov r11d, dword [rsp + 0x26c]
xor r11d, r9d
or r9d, dword [rsp + 0x26c]
add r9d, ecx
mov ecx, dword [rsp + 0x90]
add ecx, dword [rsp + 0x70]
sub ecx, r9d
imul r11d, r13d
add ecx, r11d
mov r9d, dword [rsp + 0x26c]
xor r9d, ebx
xor r9d, 0xec
imul r9d, r15d
add ecx, r9d
shl eax, cl
xor eax, r10d
xor eax, esi
mov ecx, dword [rsp + 0x268]
not ecx
mov r9d, ebx
xor r9d, 0xc70b2b12
and ecx, r9d
mov r10d, dword [rsp + 0x268]
or r10d, r9d
mov r11d, dword [rsp + 0x268]
not r11d
or r11d, r9d
mov r9d, ebx
xor r9d, 0x38f4d4ed
mov rsi, r12
add esi, r9d
or r9d, dword [rsp + 0x268]
add r11d, r10d
add r9d, ecx
imul r11d, r15d
imul r9d, dword [rsp + 0x2c]
add r11d, esi
add r11d, r9d
and r11d, r8d
mov rcx, qword [rsp + 8]
movzx r8d, byte [rcx + r11 + 0x148]
mov r9d, ebx
xor r9d, 0x6b
and r9d, dword [rsp + 0x410]
mov ecx, ebx
xor ecx, 0xe273b694
mov r10d, dword [rsp + 0x410]
or r10d, ecx
mov r11d, dword [rsp + 0x410]
not r11d
or r11d, ecx
mov ecx, ebx
xor ecx, 0x9b
add ecx, dword [rsp + 0x58]
sub ecx, r10d
imul r9d, r13d
add ecx, r9d
imul r11d, r15d
add ecx, r11d
shl r8d, cl
xor r8d, eax
xor edx, r8d
mov rax, qword [rsp + 8]
mov dword [rax + 0xd0], edx
xor r14d, r8d
mov rax, qword [rsp + 8]
mov dword [rax + 0xd4], r14d
xor r14d, ebp
mov r13, qword [rsp + 8]
mov dword [r13 + 0xd8], r14d
xor r8d, dword [rsp + 0x48]
mov dword [r13 + 0xdc], r8d
xor edi, r8d
mov dword [r13 + 0xe0], edi
xor r8d, dword [rsp + 0x80]
mov dword [r13 + 0xe4], r8d
mov eax, dword [rsp + 0x160]
not eax
mov ecx, ebx
xor ecx, 0xb5d569b4
and eax, ecx
mov edx, ebx
xor edx, 0x4a2a964a
mov r8d, dword [rsp + 0x160]
or r8d, ecx
add r8d, eax
mov eax, dword [rsp + 0x160]
or eax, ecx
not eax
add eax, r8d
and ecx, dword [rsp + 0x160]
add ecx, edx
mov r14d, dword [rsp + 0x14]
imul eax, r14d
add ecx, eax
inc ecx
xor eax, eax
add ecx, r14d
jne 0x18000a2f4
mov edi, dword [r13]
mov esi, ebx
xor esi, 0x2e9d8e67
mov r8d, dword [rsp + 0x15c]
and r8d, esi
mov r9d, dword [rsp + 0x15c]
not r9d
and r9d, esi
imul r9d, dword [rsp + 0x2c]
mov r10d, dword [rsp + 0x15c]
xor r10d, esi
mov ecx, ebx
xor ecx, 0x66
mov r11d, dword [rsp + 0x15c]
not r11d
or r11d, esi
add r11d, r10d
imul r11d, r14d
add ecx, dword [rsp + 0x30]
sub ecx, r8d
add ecx, r9d
add ecx, r11d
mov r10d, edi
shl r10d, cl
mov ecx, dword [r13 + r10*4 + 0x10]
mov dword [r13 + 0x10], ecx
mov ecx, dword [r13 + r10*4 + 0x14]
mov dword [r13 + 0x14], ecx
mov ecx, dword [r13 + r10*4 + 0x18]
mov dword [r13 + 0x18], ecx
mov ecx, dword [r13 + r10*4 + 0x1c]
lea r8, [r13 + 0x20]
mov dword [r13 + 0x1c], ecx
dec edi
mov rcx, qword [rsp + 0x488]
lea r9, [rcx + r10*4]
add r9, 0xfffffffffffffff0
test edi, edi
jle 0x18000a2d1
mov edx, edi
mov eax, ebx
xor eax, 0x3459350a
mov ecx, ebx
xor ecx, 0xcba6caf4
mov dword [rsp + 0x488], ecx
mov ecx, ebx
xor ecx, 0x646ad043
add ecx, eax
mov eax, ebx
xor eax, 0x511d3c6c
add ecx, eax
mov dword [rsp + 0x20], ecx
mov ecx, ebx
xor ecx, 0x37dcaa6d
mov dword [rsp + 0x80], ecx
mov ecx, ebx
xor ecx, 0x37dcaa6c
mov r10d, ebx
xor r10d, 0x511d3c95
add r10d, ecx
mov dword [rsp + 0x38], r10d
mov ecx, ebx
xor ecx, 0xa1ea0745
mov dword [rsp + 0x48], ecx
mov ecx, ebx
xor ecx, 0x5e15f8ba
mov qword [rsp + 0x40], rcx
mov ecx, ebx
xor ecx, 0x700def97
mov r11d, ebx
xor r11d, 0xecc36569
add r11d, ecx
add r11d, dword [rsp + 0x70]
mov dword [rsp + 0x60], r11d
mov ecx, ebx
xor ecx, 0xef6e5ed9
mov r11d, ebx
xor r11d, 0xf1db724f
add r11d, ecx
mov ecx, ebx
xor ecx, 0xcd082976
mov esi, ebx
xor esi, 0x511d3c94
add esi, ecx
mov dword [rsp + 0x68], esi
mov ecx, ebx
xor ecx, 0x6107c613
mov esi, ebx
xor esi, 0x511d3d93
add esi, ecx
mov dword [rsp + 0x90], esi
mov ecx, ebx
xor ecx, 0xa8a5948d
mov esi, ebx
xor esi, 0x511d3c6d
add esi, ecx
mov dword [rsp + 0x28], esi
mov ecx, ebx
xor ecx, 0x2a6a1c3a
mov esi, ebx
xor esi, 0x580c8223
add esi, ecx
mov ecx, ebx
xor ecx, 0x700def90
mov dword [rsp + 0xd0], ecx
mov ecx, ebx
xor ecx, 0xfe853999
mov dword [rsp + 0xb0], ecx
mov edi, ebx
xor edi, 0x17ac666
mov ecx, ebx
xor ecx, 0xe0dd52f2
mov dword [rsp + 0xcc], ecx
mov ecx, ebx
xor ecx, 0x1f22ad0d
mov r12, qword [rsp + 0x58]
add ecx, r12d
mov dword [rsp + 0xc8], ecx
mov ecx, ebx
xor ecx, 0x953332a1
mov dword [rsp + 0xc4], ecx
mov ecx, ebx
xor ecx, 0x953332a0
mov ebp, ebx
xor ebp, 0x6acccd5e
mov dword [rsp + 0x338], ebp
mov r10, rax
add ecx, r10d
mov dword [rsp + 0xc0], ecx
mov ecx, ebx
xor ecx, 0xf1db7248
mov dword [rsp + 0x330], ecx
mov rbp, qword [rsp + 0x78]
add r11d, ebp
mov dword [rsp + 0x88], r11d
mov ecx, ebx
xor ecx, 0x89b51351
mov dword [rsp + 0xbc], ecx
mov r11d, ebx
xor r11d, 0x764aecae
mov ecx, ebx
xor ecx, 0x4ef6ee5c
mov dword [rsp + 8], ecx
mov ecx, ebx
xor ecx, 0xb10911a2
mov r15d, ebx
xor r15d, 0xb10911a3
mov dword [rsp + 0x34], r15d
mov r15, qword [rsp + 0xa8]
add ecx, r15d
mov dword [rsp + 0x98], ecx
mov ecx, ebx
xor ecx, 0x5cf0ae7c
mov dword [rsp + 0xb8], ecx
mov eax, ebx
xor eax, 0xa30f5183
mov ecx, ebx
xor ecx, 0x330f9dc5
add ecx, r10d
inc ecx
mov dword [rsp + 0x318], ecx
mov ecx, ebx
xor ecx, 0xae9a8610
add ecx, r10d
mov dword [rsp + 0x124], ecx
add esi, r10d
mov dword [rsp + 0xd8], esi
mov ecx, ebx
xor ecx, 0xfe1fa899
add ecx, r10d
mov dword [rsp + 0x120], ecx
mov rcx, qword [rsp + 0x40]
add ecx, r10d
mov dword [rsp + 0x11c], ecx
mov qword [rsp + 0x340], rdi
lea ecx, [r10 + rdi]
mov dword [rsp + 0x118], ecx
mov qword [rsp + 0x328], r11
lea ecx, [r10 + r11 + 1]
mov dword [rsp + 0x114], ecx
mov qword [rsp + 0x320], rax
add eax, r10d
inc eax
mov dword [rsp + 0x110], eax
mov eax, ebx
xor eax, 0x974d3383
mov dword [rsp + 0x10c], eax
mov ecx, ebx
xor ecx, 0x68b2cc7c
mov r10d, ebx
xor r10d, 0xa682fd26
mov rax, qword [rsp + 0xa0]
add r10d, eax
mov dword [rsp + 0x108], r10d
mov qword [rsp + 0x4a0], rcx
add eax, ecx
mov dword [rsp + 0x104], eax
mov eax, ebx
xor eax, 0x9feb93c6
mov dword [rsp + 0x100], eax
mov eax, ebx
xor eax, 0xcd082977
mov dword [rsp + 0xfc], eax
mov eax, ebx
xor eax, 0x32f7d688
mov dword [rsp + 0x498], eax
mov eax, ebx
xor eax, 0xae9a8611
mov dword [rsp + 0xf8], eax
mov eax, ebx
xor eax, 0x8e3ff4a3
mov dword [rsp + 0xf4], eax
mov eax, ebx
xor eax, 0x71c00b5c
add eax, r15d
mov dword [rsp + 0xf0], eax
mov eax, ebx
xor eax, 0x9ef83913
mov dword [rsp + 0xec], eax
mov eax, ebx
xor eax, 0x6107c6ec
mov dword [rsp + 0x490], eax
mov eax, ebx
xor eax, 0x597e085d
mov dword [rsp + 0xe8], eax
add r12d, eax
mov qword [rsp + 0x58], r12
mov eax, ebx
xor eax, 0x575a6b71
mov dword [rsp + 0xe4], eax
mov eax, ebx
xor eax, 0xa8a5948e
mov dword [rsp + 0xe0], eax
mov eax, ebx
xor eax, 0x91f5928d
mov dword [rsp + 0x70], eax
add ebp, eax
mov qword [rsp + 0x78], rbp
mov eax, ebx
xor eax, 0xd595e3c4
mov dword [rsp + 0xa0], eax
mov eax, ebx
xor eax, 0x2a6a1c3b
mov dword [rsp + 0x4d0], eax
mov eax, ebx
xor eax, 0x5dd15cf2
mov dword [rsp + 0x4cc], eax
mov eax, ebx
xor eax, 0xa22ea30d
mov dword [rsp + 0x4c8], eax
add r15d, eax
mov eax, ebx
xor eax, 0x79638969
mov dword [rsp + 0x4c4], eax
mov eax, ebx
xor eax, 0x869c7696
mov dword [rsp + 0x4c0], eax
mov eax, ebx
xor eax, 0x597d02d8
mov dword [rsp + 0x4bc], eax
mov rax, rbx
mov ebp, dword [rsp + 0x2c]
mov qword [rsp + 0xa8], r15
nop word [rax + rax]
mov dword [rsp + 0x18], edx
mov qword [rsp], r9
mov r10d, dword [r9]
mov ecx, dword [rsp + 0x370]
mov esi, dword [rsp + 0x370]
mov r11d, dword [rsp + 0x488]
or esi, r11d
not esi
mov edi, dword [rsp + 0x370]
add esi, ecx
and edi, r11d
not edi
add edi, esi
imul edi, r14d
add edi, dword [rsp + 0x20]
and edi, r10d
movzx ecx, byte [r13 + rdi + 0x148]
movzx ebx, byte [r13 + rcx + 0x748]
mov ecx, dword [rsp + 0x36c]
mov edx, dword [rsp + 0x80]
xor ecx, edx
mov edi, dword [rsp + 0x38]
sub edi, ecx
mov r11d, dword [rsp + 0x36c]
not r11d
mov ecx, dword [rsp + 0x36c]
imul r11d, r14d
not ecx
mov rsi, r10
mov r15d, dword [rsp + 0x158]
or ecx, edx
and r15d, dword [rsp + 0x48]
mov r14d, dword [rsp + 0x11c]
sub r14d, r15d
imul ecx, ebp
mov r15d, dword [rsp + 0x158]
xor r15d, eax
xor r15d, 0xa1ea0745
add r11d, edi
mov edi, dword [rsp + 0x158]
not edi
mov r12, qword [rsp + 0x40]
or edi, r12d
add ecx, r11d
imul edi, ebp
mov r11d, dword [rsp + 0x158]
and r11d, r12d
add edi, r14d
shr rsi, cl
not r11d
add r11d, r15d
imul r11d, dword [rsp + 0x14]
add r11d, edi
and esi, r11d
movzx ecx, byte [r13 + rsi + 0x148]
xor bl, byte [r13 + rcx + 0x74c]
mov r11d, dword [rsp + 0x368]
and r11d, dword [rsp + 0xd0]
mov esi, dword [rsp + 0x368]
mov r9d, dword [rsp + 0x30]
imul r11d, r9d
xor esi, eax
mov ecx, dword [rsp + 0x368]
not ecx
xor esi, 0x90
add ecx, esi
imul ecx, dword [rsp + 0x14]
mov rsi, r10
add r11d, dword [rsp + 0x60]
mov edi, dword [rsp + 0x154]
not edi
mov r14d, dword [rsp + 0xb0]
and edi, r14d
add ecx, r11d
add edi, dword [rsp + 0x154]
mov r11d, dword [rsp + 0x154]
imul edi, dword [rsp + 0x14]
shr rsi, cl
xor r11d, r14d
mov ecx, dword [rsp + 0x154]
or ecx, dword [rsp + 0x340]
add edi, dword [rsp + 0x118]
add ecx, r11d
sub edi, ecx
and esi, edi
movzx ecx, byte [r13 + rsi + 0x148]
xor bl, byte [r13 + rcx + 0x750]
mov r11d, dword [rsp + 0x150]
not r11d
mov ecx, dword [rsp + 0x150]
mov edi, dword [rsp + 0xcc]
or ecx, edi
mov esi, dword [rsp + 0xc8]
and r11d, edi
sub esi, ecx
mov edi, dword [rsp + 0x150]
xor edi, eax
imul r11d, dword [rsp + 0x54]
xor edi, 0xd
imul edi, dword [rsp + 0x14]
mov ecx, dword [rsp + 0x150]
add esi, r11d
not ecx
imul ecx, ebp
add ecx, edi
add ecx, esi
shr r10, cl
movzx ecx, byte [r13 + r10 + 0x148]
xor bl, byte [r13 + rcx + 0x754]
movzx ecx, bl
mov dword [r8], ecx
mov rcx, qword [rsp]
mov r10d, dword [rcx + 4]
mov ecx, dword [rsp + 0x4d4]
and ecx, dword [rsp + 0xc4]
mov r11d, dword [rsp + 0xc0]
sub r11d, ecx
mov ecx, dword [rsp + 0x4d4]
or ecx, dword [rsp + 0x338]
imul ecx, dword [rsp + 0x14]
add ecx, r11d
and ecx, r10d
movzx ecx, byte [r13 + rcx + 0x148]
movzx ebx, byte [r13 + rcx + 0x748]
mov ecx, dword [rsp + 0x364]
mov esi, dword [rsp + 0x330]
and ecx, esi
mov r11d, dword [rsp + 0x364]
or r11d, esi
add r11d, ecx
mov ecx, dword [rsp + 0x364]
not ecx
mov rsi, r10
add ecx, r11d
mov r11d, dword [rsp + 0x14c]
mov r14d, dword [rsp + 0xbc]
and r11d, r14d
imul r11d, r9d
imul ecx, dword [rsp + 0x14]
mov edi, dword [rsp + 0x14c]
imul edi, ebp
add edi, dword [rsp + 0x114]
add edi, r11d
mov r11d, dword [rsp + 0x14c]
or r11d, r14d
imul r11d, dword [rsp + 0x14]
add ecx, dword [rsp + 0x88]
shr rsi, cl
mov ecx, dword [rsp + 0x14c]
and ecx, dword [rsp + 0x328]
add ecx, r11d
add ecx, edi
and esi, ecx
movzx ecx, byte [r13 + rsi + 0x148]
xor bl, byte [r13 + rcx + 0x74c]
mov esi, dword [rsp + 0x148]
xor esi, eax
mov r11d, dword [rsp + 0x148]
xor esi, 0xb10911a3
not r11d
mov r14d, dword [rsp + 8]
or r11d, r14d
mov edi, dword [rsp + 0x148]
imul esi, ebp
or edi, dword [rsp + 0x34]
imul edi, dword [rsp + 0x14]
mov ecx, dword [rsp + 0x148]
imul r11d, r9d
and ecx, r14d
mov r14, r10
mov r15d, dword [rsp + 0x144]
add edi, r11d
mov r12d, dword [rsp + 0xb8]
and r15d, r12d
mov r11d, dword [rsp + 0x144]
and r11d, dword [rsp + 0x320]
add esi, dword [rsp + 0x98]
add r11d, r15d
mov r15d, dword [rsp + 0x110]
sub r15d, r11d
add edi, esi
mov r11d, dword [rsp + 0x144]
or r11d, r12d
imul r11d, dword [rsp + 0x14]
add ecx, edi
shr r14, cl
mov ecx, dword [rsp + 0x144]
and ecx, r12d
add ecx, r15d
add ecx, r11d
and r14d, ecx
movzx ecx, byte [r13 + r14 + 0x148]
xor bl, byte [r13 + rcx + 0x750]
mov ecx, dword [rsp + 0x140]
mov r11d, dword [rsp + 0x140]
mov r14d, dword [rsp + 0x10c]
xor ecx, r14d
xor r11d, eax
xor r11d, 0x7c
mov esi, dword [rsp + 0x140]
add r11d, ecx
or esi, dword [rsp + 0x4a0]
mov edi, dword [rsp + 0x104]
sub edi, esi
imul r11d, dword [rsp + 0x14]
mov ecx, dword [rsp + 0x140]
and ecx, r14d
add ecx, edi
add ecx, r11d
shr r10, cl
movzx ecx, byte [r13 + r10 + 0x148]
xor bl, byte [r13 + rcx + 0x754]
movzx ecx, bl
mov dword [r8 + 4], ecx
mov rcx, qword [rsp]
mov r10d, dword [rcx + 8]
mov ecx, dword [rsp + 0x13c]
not ecx
mov r11d, dword [rsp + 0x13c]
mov edi, dword [rsp + 0x100]
and ecx, edi
mov esi, dword [rsp + 0x13c]
not esi
or esi, edi
imul ecx, r9d
add esi, r11d
mov r11d, dword [rsp + 0x13c]
and r11d, edi
add r11d, dword [rsp + 0x318]
add r11d, ecx
imul esi, dword [rsp + 0x14]
add esi, r11d
and esi, r10d
movzx ecx, byte [r13 + rsi + 0x148]
movzx ebx, byte [r13 + rcx + 0x748]
mov r11d, dword [rsp + 0x360]
not r11d
and r11d, dword [rsp + 0xfc]
mov esi, dword [rsp + 0x360]
and esi, dword [rsp + 0x498]
imul esi, dword [rsp + 0x14]
mov ecx, dword [rsp + 0x68]
mov rdi, r10
add r11d, dword [rsp + 0x360]
mov r14d, dword [rsp + 0x138]
mov r12d, dword [rsp + 0xf8]
and r14d, r12d
mov r15d, dword [rsp + 0x138]
sub ecx, r11d
mov r11d, dword [rsp + 0x138]
xor r11d, r12d
add r11d, r14d
add ecx, esi
mov esi, dword [rsp + 0x124]
mov r14d, dword [rsp + 0x138]
and r14d, r12d
sub esi, r11d
shr rdi, cl
not r14d
add r14d, r15d
imul r14d, dword [rsp + 0x14]
add r14d, esi
and edi, r14d
movzx ecx, byte [r13 + rdi + 0x148]
xor bl, byte [r13 + rcx + 0x74c]
mov ecx, dword [rsp + 0xf0]
sub ecx, dword [rsp + 0x134]
mov r11d, dword [rsp + 0x134]
mov edi, dword [rsp + 0xf4]
xor r11d, edi
add r11d, ecx
mov esi, dword [rsp + 0x134]
not esi
mov ecx, dword [rsp + 0x134]
imul esi, ebp
not ecx
or ecx, edi
mov edi, dword [rsp + 0x35c]
imul ecx, r9d
and edi, dword [rsp + 0xec]
mov r14d, dword [rsp + 0x35c]
xor r14d, eax
add esi, r11d
xor r14d, 0x9ef83913
add r14d, edi
mov r11d, dword [rsp + 0x35c]
add ecx, esi
and r11d, dword [rsp + 0x490]
not r11d
add r11d, r14d
mov rsi, r10
shr rsi, cl
imul r11d, dword [rsp + 0x14]
add r11d, dword [rsp + 0x90]
and esi, r11d
movzx ecx, byte [r13 + rsi + 0x148]
xor bl, byte [r13 + rcx + 0x750]
mov r11d, dword [rsp + 0x130]
mov esi, dword [rsp + 0x130]
mov edi, dword [rsp + 0xe8]
or esi, edi
mov ecx, dword [rsp + 0x130]
not ecx
add ecx, r11d
mov r11d, dword [rsp + 0x130]
not r11d
or r11d, edi
add r11d, esi
mov rsi, qword [rsp + 0x58]
sub esi, r11d
imul ecx, dword [rsp + 0x14]
add ecx, esi
shr r10, cl
movzx ecx, byte [r13 + r10 + 0x148]
xor bl, byte [r13 + rcx + 0x754]
movzx ecx, bl
mov dword [r8 + 8], ecx
mov rcx, qword [rsp]
mov r10d, dword [rcx + 0xc]
mov ecx, dword [rsp + 0x358]
mov esi, dword [rsp + 0xe4]
xor ecx, esi
mov r11d, dword [rsp + 0x358]
or r11d, esi
imul r11d, dword [rsp + 0x14]
add r11d, dword [rsp + 0x28]
mov esi, dword [rsp + 0x358]
or esi, dword [rsp + 0xe0]
add esi, ecx
sub r11d, esi
and r11d, r10d
movzx ecx, byte [r13 + r11 + 0x148]
movzx ebx, byte [r13 + rcx + 0x748]
mov esi, dword [rsp + 0x12c]
imul esi, dword [rsp + 0x14]
mov r11d, dword [rsp + 0x12c]
mov r12d, dword [rsp + 0x70]
xor r11d, r12d
add esi, dword [rsp + 0x78]
mov edi, dword [rsp + 0x12c]
mov ecx, dword [rsp + 0x12c]
mov r14d, dword [rsp + 0x354]
sub esi, r11d
mov rdx, r8
mov r8d, dword [rsp + 0xa0]
xor r14d, r8d
mov r11d, dword [rsp + 0x354]
mov r15d, dword [rsp + 0x354]
or r15d, dword [rsp + 0x4d0]
add r15d, r14d
or edi, r12d
not edi
imul edi, r9d
xor ecx, eax
xor ecx, 0x72
imul ecx, ebp
add edi, esi
mov rsi, r10
or r11d, r8d
mov r8, rdx
not r11d
add ecx, edi
shr rsi, cl
add r15d, r11d
imul r15d, dword [rsp + 0x14]
add r15d, dword [rsp + 0xd8]
and esi, r15d
mov r15, qword [rsp + 0xa8]
movzx ecx, byte [r13 + rsi + 0x148]
xor bl, byte [r13 + rcx + 0x74c]
mov esi, dword [rsp + 0x350]
or esi, dword [rsp + 0x4cc]
mov ecx, dword [rsp + 0x350]
xor ecx, eax
add esi, r15d
mov r11d, dword [rsp + 0x350]
mov edi, dword [rsp + 0x128]
mov edx, dword [rsp + 0x4c4]
xor edi, edx
xor ecx, 0xd
mov r14d, dword [rsp + 0x128]
not r14d
or r14d, edx
imul ecx, dword [rsp + 0x14]
add r14d, edi
mov edi, dword [rsp + 0x128]
or edi, dword [rsp + 0x4c0]
add ecx, esi
mov esi, dword [rsp + 0x120]
sub esi, edi
or r11d, dword [rsp + 0x4c8]
sub ecx, r11d
mov r11d, dword [rsp + 0x128]
and r11d, edx
not r11d
imul r11d, ebp
add r11d, esi
imul r14d, dword [rsp + 0x14]
add r11d, r14d
mov r14d, dword [rsp + 0x14]
mov rsi, r10
shr rsi, cl
and esi, r11d
movzx ecx, byte [r13 + rsi + 0x148]
xor bl, byte [r13 + rcx + 0x750]
mov ecx, dword [rsp + 0x34c]
mov edx, dword [rsp + 0x4bc]
and ecx, edx
imul ecx, r9d
mov r9, qword [rsp]
mov r11d, dword [rsp + 0x34c]
xor r11d, edx
add r11d, dword [rsp + 0x108]
add r11d, ecx
mov ecx, dword [rsp + 0x34c]
not ecx
imul ecx, r14d
add ecx, r11d
shr r10, cl
movzx ecx, byte [r13 + r10 + 0x148]
xor bl, byte [r13 + rcx + 0x754]
movzx ecx, bl
mov dword [r8 + 0xc], ecx
add r8, 0x10
add r9, 0xfffffffffffffff0
mov edx, dword [rsp + 0x18]
dec edx
jne 0x180009a80
mov rdx, r9
add rdx, 0x20
xor eax, eax
jmp 0x18000a2d9
lea rdx, [rcx + r10*4]
add rdx, 0x10
mov ecx, dword [r9]
mov dword [r8], ecx
mov ecx, dword [rdx - 0x1c]
mov dword [r8 + 4], ecx
mov ecx, dword [rdx - 0x18]
mov dword [r8 + 8], ecx
mov ecx, dword [rdx - 0x14]
mov dword [r8 + 0xc], ecx
add rsp, 0x528
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret