Function at 0x140001040
Capabilities:
Encode data using xor
Hash data using fnv
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, 0xaf8
mov qword [rsp + 0x48], r9
mov dword [rsp + 0x2c], r8d
mov qword [rsp + 0x20], rcx
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0xa0], rax
xor eax, eax
nop word cs:[rax + rax]
mov ecx, eax
mov byte [rsp + rax + 0xb0], al
mov rcx, rax
inc rcx
mov rax, rcx
cmp rcx, 0x100
jne 0x140001080
mov qword [rsp + 0x40], rdx
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax]
movzx r10d, byte [rsp + rdx + 0xa8]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0xa0]
movzx r11d, r8b
movzx ebx, byte [rsp + r11 + 0xb0]
mov byte [rsp + rdx + 0xa8], bl
mov byte [rsp + r11 + 0xb0], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x108
jne 0x1400010b0
movzx eax, byte [rsp + 0xb1]
mov r8d, eax
movzx edx, byte [rsp + rax + 0xb0]
mov byte [rsp + 0xb1], dl
mov byte [rsp + rax + 0xb0], al
add dl, al
movzx eax, dl
movzx eax, byte [rsp + rax + 0xb0]
mov edx, eax
xor rdx, 0xd9
movzx eax, byte [rsp + 0xb2]
mov r9b, al
mov r10b, r8b
lea r8d, [r9 + r10]
movzx r9d, r8b
mov r8d, r9d
movzx r10d, byte [rsp + r8 + 0xb0]
mov byte [rsp + 0xb2], r10b
mov byte [rsp + r8 + 0xb0], al
add r10b, al
movzx eax, r10b
movzx r8d, byte [rsp + rax + 0xb0]
xor r8d, 0x78
movzx eax, byte [rsp + 0xb3]
add r9b, al
movzx r10d, r9b
mov r9d, r10d
movzx r11d, byte [rsp + r9 + 0xb0]
mov byte [rsp + 0xb3], r11b
mov byte [rsp + r9 + 0xb0], al
add r11b, al
movzx eax, r11b
movzx r9d, byte [rsp + rax + 0xb0]
xor r9d, 0xe3
movzx eax, byte [rsp + 0xb4]
add r10b, al
movzx r11d, r10b
mov r10d, r11d
movzx ebx, byte [rsp + r10 + 0xb0]
mov byte [rsp + 0xb4], bl
mov byte [rsp + r10 + 0xb0], al
add bl, al
movzx eax, bl
movzx r10d, byte [rsp + rax + 0xb0]
xor r10d, 0xb
movzx eax, byte [rsp + 0xb5]
add r11b, al
movzx r11d, r11b
mov esi, r11d
movzx ebx, byte [rsp + rsi + 0xb0]
mov byte [rsp + 0xb5], bl
mov byte [rsp + rsi + 0xb0], al
add bl, al
movzx eax, bl
movzx eax, byte [rsp + rax + 0xb0]
xor eax, 0x87
movzx ebx, byte [rsp + 0xb6]
add r11b, bl
movzx esi, r11b
mov r11d, esi
movzx edi, byte [rsp + r11 + 0xb0]
mov byte [rsp + 0xb6], dil
mov byte [rsp + r11 + 0xb0], bl
add dil, bl
movzx r11d, dil
movzx r11d, byte [rsp + r11 + 0xb0]
xor r11d, 0x68
movzx ebx, byte [rsp + 0xb7]
add sil, bl
movzx esi, sil
mov edi, esi
movzx ebp, byte [rsp + rdi + 0xb0]
mov byte [rsp + 0xb7], bpl
mov byte [rsp + rdi + 0xb0], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0xb0]
xor edi, 0x9e
movzx ebx, byte [rsp + 0xb8]
add sil, bl
movzx esi, sil
mov r14d, esi
movzx ebp, byte [rsp + r14 + 0xb0]
mov byte [rsp + 0xb8], bpl
mov byte [rsp + r14 + 0xb0], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0xb0]
xor ebx, 0xca
mov dword [rsp + 0xa8], 8
mov dword [rsp + 0xac], esi
shl rbx, 0x38
shl rdi, 0x30
or rdi, rbx
shl r11, 0x28
or r11, rdi
shl rax, 0x20
or rax, r11
shl r10d, 0x18
or r10, rax
shl r9d, 0x10
mov eax, r9d
or rax, r10
shl r8d, 8
or r8, rax
or r8, rdx
xor r8, qword [rsp + 0x20]
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0x98], rax
xor eax, eax
nop word cs:[rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x1b8], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140001360
xor eax, eax
mov edx, 8
xor r9d, r9d
xor r10d, r10d
nop dword [rax + rax]
movzx r11d, byte [rsp + rdx + 0x1b0]
add r9b, r11b
movsxd r10, r10d
add r9b, byte [rsp + r10 + 0x98]
movzx esi, r9b
movzx ebx, byte [rsp + rsi + 0x1b8]
mov byte [rsp + rdx + 0x1b0], bl
mov byte [rsp + rsi + 0x1b8], r11b
cmp r10d, 7
lea r10d, [r10 + 1]
cmovge r10d, eax
mov r11, rdx
inc r11
mov rdx, r11
cmp r11, 0x108
jne 0x140001390
movzx eax, byte [rsp + 0x1b9]
mov r9d, eax
movzx edx, byte [rsp + rax + 0x1b8]
mov byte [rsp + 0x1b9], dl
mov byte [rsp + rax + 0x1b8], al
add dl, al
movzx eax, dl
movzx eax, byte [rsp + rax + 0x1b8]
mov edx, eax
xor rdx, 0xd9
movzx eax, byte [rsp + 0x1ba]
mov r10b, al
mov r11b, r9b
lea r9d, [r10 + r11]
movzx r10d, r9b
mov r9d, r10d
movzx r11d, byte [rsp + r9 + 0x1b8]
mov byte [rsp + 0x1ba], r11b
mov byte [rsp + r9 + 0x1b8], al
add r11b, al
movzx eax, r11b
movzx r9d, byte [rsp + rax + 0x1b8]
xor r9d, 0x78
movzx eax, byte [rsp + 0x1bb]
add r10b, al
movzx r11d, r10b
mov r10d, r11d
movzx ebx, byte [rsp + r10 + 0x1b8]
mov byte [rsp + 0x1bb], bl
mov byte [rsp + r10 + 0x1b8], al
add bl, al
movzx eax, bl
movzx r10d, byte [rsp + rax + 0x1b8]
xor r10d, 0xe3
movzx eax, byte [rsp + 0x1bc]
add r11b, al
movzx esi, r11b
mov r11d, esi
movzx ebx, byte [rsp + r11 + 0x1b8]
mov byte [rsp + 0x1bc], bl
mov byte [rsp + r11 + 0x1b8], al
add bl, al
movzx eax, bl
movzx r11d, byte [rsp + rax + 0x1b8]
xor r11d, 0xb
movzx eax, byte [rsp + 0x1bd]
mov ebx, esi
add bl, al
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0x1b8]
mov byte [rsp + 0x1bd], bl
mov byte [rsp + rdi + 0x1b8], al
add bl, al
movzx eax, bl
movzx eax, byte [rsp + rax + 0x1b8]
xor eax, 0x87
movzx ebx, byte [rsp + 0x1be]
add sil, bl
movzx edi, sil
mov esi, edi
movzx ebp, byte [rsp + rsi + 0x1b8]
mov byte [rsp + 0x1be], bpl
mov byte [rsp + rsi + 0x1b8], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0x1b8]
xor esi, 0x68
movzx ebx, byte [rsp + 0x1bf]
add dil, bl
movzx edi, dil
mov r14d, edi
movzx ebp, byte [rsp + r14 + 0x1b8]
mov byte [rsp + 0x1bf], bpl
mov byte [rsp + r14 + 0x1b8], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x1b8]
xor ebx, 0x9e
movzx ebp, byte [rsp + 0x1c0]
add dil, bpl
movzx edi, dil
mov r14d, edi
movzx r15d, byte [rsp + r14 + 0x1b8]
mov byte [rsp + 0x1c0], r15b
mov byte [rsp + r14 + 0x1b8], bpl
add r15b, bpl
movzx ebp, r15b
mov r14d, ebp
movzx ebp, byte [rsp + r14 + 0x1b8]
xor ebp, 0xca
mov r14d, ebp
mov dword [rsp + 0x1b0], 8
mov dword [rsp + 0x1b4], edi
shl r14, 0x38
shl rbx, 0x30
or rbx, r14
shl rsi, 0x28
or rsi, rbx
shl rax, 0x20
or rax, rsi
shl r11d, 0x18
or r11, rax
shl r10d, 0x10
mov eax, r10d
or rax, r11
shl r9d, 8
or r9, rax
or r9, rdx
mov rdx, r9
xor rdx, qword [rsp + 0x20]
movsxd r8, dword [r8 + 0x3c]
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0x90], rax
xor eax, eax
nop dword [rax + rax]
mov r9d, eax
mov byte [rsp + rax + 0x2c0], al
mov r9, rax
inc r9
mov rax, r9
cmp r9, 0x100
jne 0x140001640
xor eax, eax
mov r9d, 8
xor r10d, r10d
xor r11d, r11d
nop word [rax + rax]
movzx ebx, byte [rsp + r9 + 0x2b8]
add r10b, bl
movsxd r11, r11d
add r10b, byte [rsp + r11 + 0x90]
movzx esi, r10b
movzx edi, byte [rsp + rsi + 0x2c0]
mov byte [rsp + r9 + 0x2b8], dil
mov byte [rsp + rsi + 0x2c0], bl
cmp r11d, 7
lea r11d, [r11 + 1]
cmovge r11d, eax
mov rsi, r9
inc rsi
mov r9, rsi
cmp rsi, 0x108
jne 0x140001670
movzx eax, byte [rsp + 0x2c1]
mov r10d, eax
movzx r9d, byte [rsp + rax + 0x2c0]
mov byte [rsp + 0x2c1], r9b
mov byte [rsp + rax + 0x2c0], al
add r9b, al
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x2c0]
mov r9d, eax
xor r9, 0xd9
movzx eax, byte [rsp + 0x2c2]
mov r11b, al
mov sil, r10b
lea r10d, [r11 + rsi]
movzx r11d, r10b
mov r10d, r11d
movzx ebx, byte [rsp + r10 + 0x2c0]
mov byte [rsp + 0x2c2], bl
mov byte [rsp + r10 + 0x2c0], al
add bl, al
movzx eax, bl
movzx r10d, byte [rsp + rax + 0x2c0]
xor r10d, 0x78
movzx eax, byte [rsp + 0x2c3]
add r11b, al
movzx esi, r11b
mov r11d, esi
movzx ebx, byte [rsp + r11 + 0x2c0]
mov byte [rsp + 0x2c3], bl
mov byte [rsp + r11 + 0x2c0], al
add bl, al
movzx eax, bl
movzx r11d, byte [rsp + rax + 0x2c0]
xor r11d, 0xe3
movzx eax, byte [rsp + 0x2c4]
mov ebx, esi
add bl, al
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0x2c0]
mov byte [rsp + 0x2c4], bl
mov byte [rsp + rdi + 0x2c0], al
add bl, al
movzx eax, bl
movzx edi, byte [rsp + rax + 0x2c0]
xor edi, 0xb
movzx eax, byte [rsp + 0x2c5]
mov ebx, esi
add bl, al
movzx esi, bl
mov ebx, esi
movzx ebp, byte [rsp + rbx + 0x2c0]
mov byte [rsp + 0x2c5], bpl
mov byte [rsp + rbx + 0x2c0], al
add bpl, al
movzx eax, bpl
movzx eax, byte [rsp + rax + 0x2c0]
xor eax, 0x87
movzx ebx, byte [rsp + 0x2c6]
add sil, bl
movzx ebp, sil
mov esi, ebp
movzx r14d, byte [rsp + rsi + 0x2c0]
mov byte [rsp + 0x2c6], r14b
mov byte [rsp + rsi + 0x2c0], bl
add r14b, bl
movzx esi, r14b
movzx esi, byte [rsp + rsi + 0x2c0]
xor esi, 0x68
movzx ebx, byte [rsp + 0x2c7]
add bpl, bl
movzx ebp, bpl
mov r14d, ebp
movzx r15d, byte [rsp + r14 + 0x2c0]
mov byte [rsp + 0x2c7], r15b
mov byte [rsp + r14 + 0x2c0], bl
add r15b, bl
movzx ebx, r15b
movzx ebx, byte [rsp + rbx + 0x2c0]
xor ebx, 0x9e
movzx r14d, byte [rsp + 0x2c8]
add bpl, r14b
movzx ebp, bpl
mov r15d, ebp
movzx r12d, byte [rsp + r15 + 0x2c0]
mov byte [rsp + 0x2c8], r12b
mov byte [rsp + r15 + 0x2c0], r14b
add r12b, r14b
movzx r14d, r12b
movzx r14d, byte [rsp + r14 + 0x2c0]
xor r14d, 0xca
mov dword [rsp + 0x2b8], 8
mov dword [rsp + 0x2bc], ebp
shl r14, 0x38
shl rbx, 0x30
or rbx, r14
shl rsi, 0x28
or rsi, rbx
shl rax, 0x20
or rax, rsi
shl edi, 0x18
mov esi, edi
or rsi, rax
shl r11d, 0x10
mov eax, r11d
or rax, rsi
shl r10d, 8
or r10, rax
or r10, r9
mov r9, r10
xor r9, qword [rsp + 0x20]
mov eax, dword [rdx + r8 + 0x88]
mov r10d, eax
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0x88], rax
xor eax, eax
nop dword [rax]
mov edx, eax
mov byte [rsp + rax + 0x3c8], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140001920
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r11d, r11d
nop dword [rax + rax]
movzx ebx, byte [rsp + rdx + 0x3c0]
add r8b, bl
movsxd r11, r11d
add r8b, byte [rsp + r11 + 0x88]
movzx esi, r8b
movzx edi, byte [rsp + rsi + 0x3c8]
mov byte [rsp + rdx + 0x3c0], dil
mov byte [rsp + rsi + 0x3c8], bl
cmp r11d, 7
lea r11d, [r11 + 1]
cmovge r11d, eax
mov rsi, rdx
inc rsi
mov rdx, rsi
cmp rsi, 0x108
jne 0x140001950
movzx eax, byte [rsp + 0x3c9]
mov r8d, eax
movzx edx, byte [rsp + rax + 0x3c8]
mov byte [rsp + 0x3c9], dl
mov byte [rsp + rax + 0x3c8], al
add dl, al
movzx eax, dl
movzx eax, byte [rsp + rax + 0x3c8]
mov edx, eax
xor rdx, 0xd9
movzx eax, byte [rsp + 0x3ca]
mov r11b, al
mov sil, r8b
lea r8d, [r11 + rsi]
movzx r11d, r8b
mov r8d, r11d
movzx ebx, byte [rsp + r8 + 0x3c8]
mov byte [rsp + 0x3ca], bl
mov byte [rsp + r8 + 0x3c8], al
add bl, al
movzx eax, bl
movzx r8d, byte [rsp + rax + 0x3c8]
xor r8d, 0x78
movzx eax, byte [rsp + 0x3cb]
add r11b, al
movzx esi, r11b
mov r11d, esi
movzx ebx, byte [rsp + r11 + 0x3c8]
mov byte [rsp + 0x3cb], bl
mov byte [rsp + r11 + 0x3c8], al
add bl, al
movzx eax, bl
movzx r11d, byte [rsp + rax + 0x3c8]
xor r11d, 0xe3
movzx eax, byte [rsp + 0x3cc]
mov ebx, esi
add bl, al
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0x3c8]
mov byte [rsp + 0x3cc], bl
mov byte [rsp + rdi + 0x3c8], al
add bl, al
movzx eax, bl
movzx edi, byte [rsp + rax + 0x3c8]
xor edi, 0xb
movzx eax, byte [rsp + 0x3cd]
mov ebx, esi
add bl, al
movzx esi, bl
mov ebx, esi
movzx ebp, byte [rsp + rbx + 0x3c8]
mov byte [rsp + 0x3cd], bpl
mov byte [rsp + rbx + 0x3c8], al
add bpl, al
movzx eax, bpl
movzx eax, byte [rsp + rax + 0x3c8]
xor eax, 0x87
movzx ebx, byte [rsp + 0x3ce]
add sil, bl
movzx ebp, sil
mov esi, ebp
movzx r14d, byte [rsp + rsi + 0x3c8]
mov byte [rsp + 0x3ce], r14b
mov byte [rsp + rsi + 0x3c8], bl
add r14b, bl
movzx esi, r14b
movzx esi, byte [rsp + rsi + 0x3c8]
xor esi, 0x68
movzx ebx, byte [rsp + 0x3cf]
add bpl, bl
movzx ebp, bpl
mov r14d, ebp
movzx r15d, byte [rsp + r14 + 0x3c8]
mov byte [rsp + 0x3cf], r15b
mov byte [rsp + r14 + 0x3c8], bl
add r15b, bl
movzx ebx, r15b
movzx ebx, byte [rsp + rbx + 0x3c8]
xor ebx, 0x9e
movzx r14d, byte [rsp + 0x3d0]
add bpl, r14b
movzx ebp, bpl
mov r15d, ebp
movzx r12d, byte [rsp + r15 + 0x3c8]
mov byte [rsp + 0x3d0], r12b
mov byte [rsp + r15 + 0x3c8], r14b
add r12b, r14b
movzx r14d, r12b
movzx r14d, byte [rsp + r14 + 0x3c8]
xor r14d, 0xca
mov dword [rsp + 0x3c0], 8
mov dword [rsp + 0x3c4], ebp
shl r14, 0x38
shl rbx, 0x30
or rbx, r14
shl rsi, 0x28
or rsi, rbx
shl rax, 0x20
or rax, rsi
shl edi, 0x18
mov esi, edi
or rsi, rax
shl r11d, 0x10
mov eax, r11d
or rax, rsi
shl r8d, 8
or r8, rax
or r8, rdx
xor r8, qword [rsp + 0x20]
mov eax, dword [r9 + r10 + 0x1c]
add rax, r8
mov qword [rsp + 0x38], rax
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0x80], rax
xor eax, eax
nop word cs:[rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x4d0], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140001c00
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r11d, r11d
nop dword [rax + rax]
movzx ebx, byte [rsp + rdx + 0x4c8]
add r8b, bl
movsxd r11, r11d
add r8b, byte [rsp + r11 + 0x80]
movzx esi, r8b
movzx edi, byte [rsp + rsi + 0x4d0]
mov byte [rsp + rdx + 0x4c8], dil
mov byte [rsp + rsi + 0x4d0], bl
cmp r11d, 7
lea r11d, [r11 + 1]
cmovge r11d, eax
mov rsi, rdx
inc rsi
mov rdx, rsi
cmp rsi, 0x108
jne 0x140001c30
movzx eax, byte [rsp + 0x4d1]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x4d0]
mov byte [rsp + 0x4d1], r8b
mov byte [rsp + rax + 0x4d0], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x4d0]
mov r8d, eax
xor r8, 0xd9
movzx eax, byte [rsp + 0x4d2]
mov r11b, al
mov sil, dl
lea edx, [r11 + rsi]
movzx edx, dl
mov r11d, edx
movzx ebx, byte [rsp + r11 + 0x4d0]
mov byte [rsp + 0x4d2], bl
mov byte [rsp + r11 + 0x4d0], al
add bl, al
movzx eax, bl
movzx r11d, byte [rsp + rax + 0x4d0]
xor r11d, 0x78
movzx eax, byte [rsp + 0x4d3]
add dl, al
movzx edx, dl
mov esi, edx
movzx ebx, byte [rsp + rsi + 0x4d0]
mov byte [rsp + 0x4d3], bl
mov byte [rsp + rsi + 0x4d0], al
add bl, al
movzx eax, bl
movzx edi, byte [rsp + rax + 0x4d0]
xor edi, 0xe3
movzx eax, byte [rsp + 0x4d4]
add dl, al
movzx esi, dl
mov edx, esi
movzx ebx, byte [rsp + rdx + 0x4d0]
mov byte [rsp + 0x4d4], bl
mov byte [rsp + rdx + 0x4d0], al
add bl, al
movzx eax, bl
movzx edx, byte [rsp + rax + 0x4d0]
xor edx, 0xb
movzx eax, byte [rsp + 0x4d5]
mov ebx, esi
add bl, al
movzx esi, bl
mov ebx, esi
movzx ebp, byte [rsp + rbx + 0x4d0]
mov byte [rsp + 0x4d5], bpl
mov byte [rsp + rbx + 0x4d0], al
add bpl, al
movzx eax, bpl
movzx eax, byte [rsp + rax + 0x4d0]
xor eax, 0x87
movzx ebx, byte [rsp + 0x4d6]
add sil, bl
movzx ebp, sil
mov esi, ebp
movzx r14d, byte [rsp + rsi + 0x4d0]
mov byte [rsp + 0x4d6], r14b
mov byte [rsp + rsi + 0x4d0], bl
add r14b, bl
movzx esi, r14b
movzx esi, byte [rsp + rsi + 0x4d0]
xor esi, 0x68
movzx ebx, byte [rsp + 0x4d7]
add bpl, bl
movzx ebp, bpl
mov r14d, ebp
movzx r15d, byte [rsp + r14 + 0x4d0]
mov byte [rsp + 0x4d7], r15b
mov byte [rsp + r14 + 0x4d0], bl
add r15b, bl
movzx ebx, r15b
movzx ebx, byte [rsp + rbx + 0x4d0]
xor ebx, 0x9e
movzx r14d, byte [rsp + 0x4d8]
add bpl, r14b
movzx ebp, bpl
mov r15d, ebp
movzx r12d, byte [rsp + r15 + 0x4d0]
mov byte [rsp + 0x4d8], r12b
mov byte [rsp + r15 + 0x4d0], r14b
add r12b, r14b
movzx r14d, r12b
movzx r14d, byte [rsp + r14 + 0x4d0]
xor r14d, 0xca
mov dword [rsp + 0x4c8], 8
mov dword [rsp + 0x4cc], ebp
shl r14, 0x38
shl rbx, 0x30
or rbx, r14
shl rsi, 0x28
or rsi, rbx
shl rax, 0x20
or rax, rsi
shl edx, 0x18
or rdx, rax
shl edi, 0x10
mov eax, edi
or rax, rdx
shl r11d, 8
mov edx, r11d
or rdx, rax
or rdx, r8
xor rdx, qword [rsp + 0x20]
mov eax, dword [r9 + r10 + 0x20]
mov r11d, eax
add r11, rdx
mov qword [rsp + 0x50], r11
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0x78], rax
xor eax, eax
nop
mov edx, eax
mov byte [rsp + rax + 0x5d8], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140001ed0
xor eax, eax
mov edx, 8
xor r8d, r8d
xor esi, esi
nop word [rax + rax]
movzx ebx, byte [rsp + rdx + 0x5d0]
add r8b, bl
movsxd rsi, esi
add r8b, byte [rsp + rsi + 0x78]
movzx edi, r8b
movzx ebp, byte [rsp + rdi + 0x5d8]
mov byte [rsp + rdx + 0x5d0], bpl
mov byte [rsp + rdi + 0x5d8], bl
cmp esi, 7
lea esi, [rsi + 1]
cmovge esi, eax
mov rdi, rdx
inc rdi
mov rdx, rdi
cmp rdi, 0x108
jne 0x140001f00
movzx eax, byte [rsp + 0x5d9]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x5d8]
mov byte [rsp + 0x5d9], r8b
mov byte [rsp + rax + 0x5d8], al
add r8b, al
movzx eax, r8b
movzx r8d, byte [rsp + rax + 0x5d8]
movzx eax, byte [rsp + 0x5da]
mov sil, al
mov dil, dl
lea edx, [rsi + rdi]
movzx esi, dl
mov edx, esi
movzx ebx, byte [rsp + rdx + 0x5d8]
mov byte [rsp + 0x5da], bl
mov byte [rsp + rdx + 0x5d8], al
add bl, al
movzx eax, bl
movzx edx, byte [rsp + rax + 0x5d8]
movzx eax, byte [rsp + 0x5db]
mov ebx, esi
add bl, al
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0x5d8]
mov byte [rsp + 0x5db], bl
mov byte [rsp + rdi + 0x5d8], al
add bl, al
movzx eax, bl
movzx edi, byte [rsp + rax + 0x5d8]
movzx eax, byte [rsp + 0x5dc]
mov ebx, esi
add bl, al
movzx esi, bl
mov ebx, esi
movzx ebp, byte [rsp + rbx + 0x5d8]
mov byte [rsp + 0x5dc], bpl
mov byte [rsp + rbx + 0x5d8], al
add bpl, al
movzx eax, bpl
movzx eax, byte [rsp + rax + 0x5d8]
movzx ebx, byte [rsp + 0x5dd]
add sil, bl
movzx ebp, sil
mov esi, ebp
movzx r14d, byte [rsp + rsi + 0x5d8]
mov byte [rsp + 0x5dd], r14b
mov byte [rsp + rsi + 0x5d8], bl
add r14b, bl
movzx esi, r14b
movzx esi, byte [rsp + rsi + 0x5d8]
movzx ebx, byte [rsp + 0x5de]
add bpl, bl
movzx r14d, bpl
mov r15d, r14d
movzx ebp, byte [rsp + r15 + 0x5d8]
mov byte [rsp + 0x5de], bpl
mov byte [rsp + r15 + 0x5d8], bl
add bpl, bl
movzx ebx, bpl
movzx ebp, byte [rsp + rbx + 0x5d8]
movzx ebx, byte [rsp + 0x5df]
add r14b, bl
movzx r14d, r14b
mov r15d, r14d
movzx r12d, byte [rsp + r15 + 0x5d8]
mov byte [rsp + 0x5df], r12b
mov byte [rsp + r15 + 0x5d8], bl
add r12b, bl
movzx ebx, r12b
movzx ebx, byte [rsp + rbx + 0x5d8]
movzx r15d, byte [rsp + 0x5e0]
add r14b, r15b
movzx r14d, r14b
mov r12d, r14d
movzx r13d, byte [rsp + r12 + 0x5d8]
mov byte [rsp + 0x5e0], r13b
mov byte [rsp + r12 + 0x5d8], r15b
add r13b, r15b
movzx r15d, r13b
movzx r12d, byte [rsp + r15 + 0x5d8]
mov dword [rsp + 0x5d0], 8
mov dword [rsp + 0x5d4], r14d
mov r14d, dword [r9 + r10 + 0x18]
mov r11d, r14d
xor r15d, r15d
test r11, r11
je 0x140002a7d
xor r8, 0xd9
xor edx, 0x78
xor edi, 0xe3
xor eax, 0xb
xor esi, 0x87
xor ebp, 0x68
mov r13d, ebp
xor ebx, 0x9e
xor r12d, 0xca
shl r12, 0x38
shl rbx, 0x30
or rbx, r12
shl r13, 0x28
or r13, rbx
shl rsi, 0x20
or rsi, r13
shl eax, 0x18
or rax, rsi
shl edi, 0x10
mov esi, edi
or rsi, rax
shl edx, 8
mov eax, edx
or rax, rsi
or rax, r8
xor rax, qword [rsp + 0x20]
mov edx, dword [r9 + r10 + 0x24]
add rdx, rax
mov qword [rsp + 0x30], rdx
movabs r13, 0x100000001b3
xor r10d, r10d
jmp 0x1400021c2
mov rax, r10
inc rax
mov r10, rax
cmp rax, r11
je 0x140002a7d
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0x70], rax
xor eax, eax
nop word cs:[rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x6e0], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x1400021e0
mov eax, 8
xor edx, edx
xor r8d, r8d
nop word cs:[rax + rax]
movzx r9d, byte [rsp + rax + 0x6d8]
add dl, r9b
movsxd r8, r8d
add dl, byte [rsp + r8 + 0x70]
movzx esi, dl
movzx ebx, byte [rsp + rsi + 0x6e0]
mov byte [rsp + rax + 0x6d8], bl
mov byte [rsp + rsi + 0x6e0], r9b
cmp r8d, 7
lea r8d, [r8 + 1]
cmovge r8d, r15d
mov r9, rax
inc r9
mov rax, r9
cmp r9, 0x108
jne 0x140002210
movzx eax, byte [rsp + 0x6e1]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x6e0]
mov byte [rsp + 0x6e1], r8b
mov byte [rsp + rax + 0x6e0], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x6e0]
mov r8d, eax
xor r8, 0xd9
movzx eax, byte [rsp + 0x6e2]
mov r9b, al
mov sil, dl
lea edx, [r9 + rsi]
movzx edx, dl
mov r9d, edx
movzx ebx, byte [rsp + r9 + 0x6e0]
mov byte [rsp + 0x6e2], bl
mov byte [rsp + r9 + 0x6e0], al
add bl, al
movzx eax, bl
movzx edi, byte [rsp + rax + 0x6e0]
xor edi, 0x78
movzx eax, byte [rsp + 0x6e3]
add dl, al
movzx r9d, dl
mov edx, r9d
movzx ebx, byte [rsp + rdx + 0x6e0]
mov byte [rsp + 0x6e3], bl
mov byte [rsp + rdx + 0x6e0], al
add bl, al
movzx eax, bl
movzx edx, byte [rsp + rax + 0x6e0]
xor edx, 0xe3
movzx eax, byte [rsp + 0x6e4]
add r9b, al
movzx esi, r9b
mov r9d, esi
movzx ebx, byte [rsp + r9 + 0x6e0]
mov byte [rsp + 0x6e4], bl
mov byte [rsp + r9 + 0x6e0], al
add bl, al
movzx eax, bl
movzx r9d, byte [rsp + rax + 0x6e0]
xor r9d, 0xb
movzx eax, byte [rsp + 0x6e5]
mov ebx, esi
add bl, al
movzx ebx, bl
mov esi, ebx
movzx ebp, byte [rsp + rsi + 0x6e0]
mov byte [rsp + 0x6e5], bpl
mov byte [rsp + rsi + 0x6e0], al
add bpl, al
movzx eax, bpl
movzx eax, byte [rsp + rax + 0x6e0]
xor eax, 0x87
mov esi, eax
movzx eax, byte [rsp + 0x6e6]
add bl, al
movzx ebp, bl
mov ebx, ebp
movzx ecx, byte [rsp + rbx + 0x6e0]
mov byte [rsp + 0x6e6], cl
mov byte [rsp + rbx + 0x6e0], al
add cl, al
movzx eax, cl
movzx eax, byte [rsp + rax + 0x6e0]
xor eax, 0x68
mov ebx, eax
movzx eax, byte [rsp + 0x6e7]
mov ecx, ebp
add cl, al
movzx ecx, cl
mov ebp, ecx
movzx r12d, byte [rsp + rbp + 0x6e0]
mov byte [rsp + 0x6e7], r12b
mov byte [rsp + rbp + 0x6e0], al
add r12b, al
movzx eax, r12b
movzx eax, byte [rsp + rax + 0x6e0]
xor eax, 0x9e
mov r12d, eax
movzx ebp, byte [rsp + 0x6e8]
mov eax, ecx
add al, bpl
movzx eax, al
mov ecx, eax
movzx r14d, byte [rsp + rcx + 0x6e0]
mov byte [rsp + 0x6e8], r14b
mov byte [rsp + rcx + 0x6e0], bpl
add r14b, bpl
movzx ecx, r14b
movzx ecx, byte [rsp + rcx + 0x6e0]
xor ecx, 0xca
shl rcx, 0x38
shl r12, 0x30
or r12, rcx
shl rbx, 0x28
or rbx, r12
shl rsi, 0x20
or rsi, rbx
shl r9d, 0x18
mov ecx, r9d
or rcx, rsi
shl edx, 0x10
or rdx, rcx
shl edi, 8
mov ecx, edi
or rcx, rdx
or rcx, r8
mov r8, rcx
xor r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + r10*4]
mov r9d, ecx
movzx edx, byte [r8 + r9]
test dl, dl
je 0x1400021b0
add r8, r9
inc r8
mov r9d, edx
movabs rsi, 0x172dbc136d98310a
nop word [rax + rax]
movsx rdx, r9b
xor rdx, rsi
imul rdx, r13
movzx ecx, byte [r8]
inc r8
mov r9d, ecx
mov rsi, rdx
test cl, cl
jne 0x1400024b0
movabs rcx, 0xa7f3436b0d922c74
cmp rdx, rcx
jne 0x1400021b0
mov dword [rsp + 0x6dc], eax
mov dword [rsp + 0x6d8], 8
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0x68], rax
xor eax, eax
movabs r15, 0xca9e68870be378d9
nop dword [rax]
mov ecx, eax
mov byte [rsp + rax + 0x7e8], al
mov rcx, rax
inc rcx
mov rax, rcx
cmp rcx, 0x100
jne 0x140002510
xor eax, eax
xor edx, edx
xor r8d, r8d
xor r9d, r9d
nop word cs:[rax + rax]
mov ecx, r8d
movzx r8d, byte [rsp + rdx + 0x7e8]
add cl, r8b
movsxd r9, r9d
add cl, byte [rsp + r9 + 0x68]
movzx r11d, cl
movzx ebx, byte [rsp + r11 + 0x7e8]
mov byte [rsp + rdx + 0x7e8], bl
mov byte [rsp + r11 + 0x7e8], r8b
mov r8d, r9d
cmp r9d, 7
lea r9d, [r8 + 1]
cmovge r9d, eax
mov r11, rdx
inc r11
mov rdx, r11
mov r8d, ecx
cmp r11, 0x100
jne 0x140002540
movzx eax, byte [rsp + 0x7e9]
mov ecx, eax
movzx edx, byte [rsp + rax + 0x7e8]
mov byte [rsp + 0x7e9], dl
mov byte [rsp + rax + 0x7e8], al
add dl, al
movzx eax, dl
movzx eax, byte [rsp + rax + 0x7e8]
xor rax, 0xd9
movzx edx, byte [rsp + 0x7ea]
mov r8b, dl
mov r9b, cl
lea ecx, [r8 + r9]
movzx ecx, cl
mov r8d, ecx
movzx r9d, byte [rsp + r8 + 0x7e8]
mov byte [rsp + 0x7ea], r9b
mov byte [rsp + r8 + 0x7e8], dl
add r9b, dl
movzx edx, r9b
movzx r8d, byte [rsp + rdx + 0x7e8]
xor r8d, 0x78
movzx edx, byte [rsp + 0x7eb]
add cl, dl
movzx ecx, cl
mov r9d, ecx
movzx r11d, byte [rsp + r9 + 0x7e8]
mov byte [rsp + 0x7eb], r11b
mov byte [rsp + r9 + 0x7e8], dl
add r11b, dl
movzx edx, r11b
movzx edx, byte [rsp + rdx + 0x7e8]
xor edx, 0xe3
movzx r9d, byte [rsp + 0x7ec]
add cl, r9b
movzx ecx, cl
mov r11d, ecx
movzx ebx, byte [rsp + r11 + 0x7e8]
mov byte [rsp + 0x7ec], bl
mov byte [rsp + r11 + 0x7e8], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x7e8]
xor r9d, 0xb
movzx r11d, byte [rsp + 0x7ed]
add cl, r11b
movzx ecx, cl
mov esi, ecx
movzx ebx, byte [rsp + rsi + 0x7e8]
mov byte [rsp + 0x7ed], bl
mov byte [rsp + rsi + 0x7e8], r11b
add bl, r11b
movzx r11d, bl
movzx r11d, byte [rsp + r11 + 0x7e8]
xor r11d, 0x87
movzx ebx, byte [rsp + 0x7ee]
add cl, bl
movzx ecx, cl
mov esi, ecx
movzx edi, byte [rsp + rsi + 0x7e8]
mov byte [rsp + 0x7ee], dil
mov byte [rsp + rsi + 0x7e8], bl
add dil, bl
movzx esi, dil
movzx esi, byte [rsp + rsi + 0x7e8]
xor esi, 0x68
movzx ebx, byte [rsp + 0x7ef]
add cl, bl
movzx ecx, cl
mov edi, ecx
movzx ebp, byte [rsp + rdi + 0x7e8]
mov byte [rsp + 0x7ef], bpl
mov byte [rsp + rdi + 0x7e8], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0x7e8]
xor edi, 0x9e
movzx ebx, byte [rsp + 0x7f0]
add cl, bl
movzx ecx, cl
movzx ebp, byte [rsp + rcx + 0x7e8]
mov byte [rsp + 0x7f0], bpl
mov byte [rsp + rcx + 0x7e8], bl
add bpl, bl
movzx ecx, bpl
movzx ecx, byte [rsp + rcx + 0x7e8]
xor ecx, 0xca
shl rcx, 0x38
shl rdi, 0x30
or rdi, rcx
shl rsi, 0x28
or rsi, rdi
shl r11, 0x20
or r11, rsi
shl r9d, 0x18
mov ecx, r9d
or rcx, r11
shl edx, 0x10
or rdx, rcx
shl r8d, 8
mov ecx, r8d
or rcx, rdx
mov rdx, rcx
or rdx, rax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + r10*2]
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx + rax*4]
mov qword [rsp + 0x60], r15
xor r8d, r8d
nop dword [rax]
mov ecx, r8d
mov byte [rsp + r8 + 0x8f0], r8b
mov rcx, r8
inc rcx
mov r8, rcx
cmp rcx, 0x100
jne 0x1400027d0
xor rdx, qword [rsp + 0x20]
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
nop dword [rax]
movzx r11d, byte [rsp + r8 + 0x8f0]
add r9b, r11b
movsxd r10, r10d
add r9b, byte [rsp + r10 + 0x60]
movzx esi, r9b
movzx ebx, byte [rsp + rsi + 0x8f0]
mov byte [rsp + r8 + 0x8f0], bl
mov byte [rsp + rsi + 0x8f0], r11b
cmp r10d, 7
lea r10d, [r10 + 1]
cmovge r10d, ecx
mov r11, r8
inc r11
mov r8, r11
cmp r11, 0x100
jne 0x140002800
movzx ecx, byte [rsp + 0x8f1]
mov r8d, ecx
movzx r9d, byte [rsp + rcx + 0x8f0]
mov byte [rsp + 0x8f1], r9b
mov byte [rsp + rcx + 0x8f0], cl
add r9b, cl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x8f0]
xor rcx, 0x2e
movzx r9d, byte [rsp + 0x8f2]
mov r10b, r9b
mov r11b, r8b
lea r8d, [r10 + r11]
movzx r10d, r8b
mov r8d, r10d
movzx r11d, byte [rsp + r8 + 0x8f0]
mov byte [rsp + 0x8f2], r11b
mov byte [rsp + r8 + 0x8f0], r9b
add r11b, r9b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x8f0]
xor r8d, 0x8a
movzx r9d, byte [rsp + 0x8f3]
add r10b, r9b
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0x8f0]
mov byte [rsp + 0x8f3], bl
mov byte [rsp + r11 + 0x8f0], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x8f0]
xor r9d, 0x77
movzx r11d, byte [rsp + 0x8f4]
add r10b, r11b
movzx esi, r10b
mov r10d, esi
movzx ebx, byte [rsp + r10 + 0x8f0]
mov byte [rsp + 0x8f4], bl
mov byte [rsp + r10 + 0x8f0], r11b
add bl, r11b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x8f0]
xor r10d, 0x3d
movzx r11d, byte [rsp + 0x8f5]
mov ebx, esi
add bl, r11b
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0x8f0]
mov byte [rsp + 0x8f5], bl
mov byte [rsp + rdi + 0x8f0], r11b
add bl, r11b
movzx r11d, bl
movzx r11d, byte [rsp + r11 + 0x8f0]
xor r11d, 0x6e
movzx ebx, byte [rsp + 0x8f6]
add sil, bl
movzx edi, sil
mov esi, edi
movzx ebp, byte [rsp + rsi + 0x8f0]
mov byte [rsp + 0x8f6], bpl
mov byte [rsp + rsi + 0x8f0], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0x8f0]
xor esi, 0x6b
movzx ebx, byte [rsp + 0x8f7]
add dil, bl
movzx edi, dil
mov r14d, edi
movzx ebp, byte [rsp + r14 + 0x8f0]
mov byte [rsp + 0x8f7], bpl
mov byte [rsp + r14 + 0x8f0], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x8f0]
xor ebx, 0xde
movzx ebp, byte [rsp + 0x8f8]
add dil, bpl
movzx edi, dil
movzx r14d, byte [rsp + rdi + 0x8f0]
mov byte [rsp + 0x8f8], r14b
mov byte [rsp + rdi + 0x8f0], bpl
add r14b, bpl
movzx edi, r14b
movzx edi, byte [rsp + rdi + 0x8f0]
xor edi, 0x59
add rdx, rax
shl rdi, 0x38
shl rbx, 0x30
or rbx, rdi
shl rsi, 0x28
or rsi, rbx
shl r11, 0x20
or r11, rsi
shl r10d, 0x18
mov eax, r10d
or rax, r11
shl r9d, 0x10
or r9, rax
shl r8d, 8
mov eax, r8d
or rax, r9
or rax, rcx
xor rax, rdx
jmp 0x140002a89
xor eax, eax
movabs r15, 0xca9e68870be378d9
mov qword [rsp + 0x58], r15
xor ecx, ecx
mov edx, ecx
mov byte [rsp + rcx + 0x9f8], cl
mov rdx, rcx
inc rdx
mov rcx, rdx
cmp rdx, 0x100
jne 0x140002a90
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
nop word cs:[rax + rax]
movzx r10d, byte [rsp + rdx + 0x9f8]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0x58]
movzx r11d, r8b
movzx ebx, byte [rsp + r11 + 0x9f8]
mov byte [rsp + rdx + 0x9f8], bl
mov byte [rsp + r11 + 0x9f8], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, ecx
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x100
jne 0x140002ac0
movzx ecx, byte [rsp + 0x9f9]
mov edx, ecx
movzx r8d, byte [rsp + rcx + 0x9f8]
mov byte [rsp + 0x9f9], r8b
mov byte [rsp + rcx + 0x9f8], cl
add r8b, cl
movzx ecx, r8b
movzx ecx, byte [rsp + rcx + 0x9f8]
xor rcx, 0x2e
movzx r8d, byte [rsp + 0x9fa]
mov r9b, r8b
mov r10b, dl
lea edx, [r9 + r10]
movzx r9d, dl
mov edx, r9d
movzx r10d, byte [rsp + rdx + 0x9f8]
mov byte [rsp + 0x9fa], r10b
mov byte [rsp + rdx + 0x9f8], r8b
add r10b, r8b
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0x9f8]
xor edx, 0x8a
movzx r8d, byte [rsp + 0x9fb]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x9f8]
mov byte [rsp + 0x9fb], r11b
mov byte [rsp + r10 + 0x9f8], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x9f8]
xor r8d, 0x77
movzx r10d, byte [rsp + 0x9fc]
add r9b, r10b
movzx r11d, r9b
mov r9d, r11d
movzx ebx, byte [rsp + r9 + 0x9f8]
mov byte [rsp + 0x9fc], bl
mov byte [rsp + r9 + 0x9f8], r10b
add bl, r10b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x9f8]
xor r9d, 0x3d
movzx r10d, byte [rsp + 0x9fd]
add r11b, r10b
movzx r11d, r11b
mov esi, r11d
movzx ebx, byte [rsp + rsi + 0x9f8]
mov byte [rsp + 0x9fd], bl
mov byte [rsp + rsi + 0x9f8], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x9f8]
xor r10d, 0x6e
movzx ebx, byte [rsp + 0x9fe]
add r11b, bl
movzx esi, r11b
mov r11d, esi
movzx edi, byte [rsp + r11 + 0x9f8]
mov byte [rsp + 0x9fe], dil
mov byte [rsp + r11 + 0x9f8], bl
add dil, bl
movzx r11d, dil
movzx r11d, byte [rsp + r11 + 0x9f8]
xor r11d, 0x6b
movzx ebx, byte [rsp + 0x9ff]
add sil, bl
movzx esi, sil
mov edi, esi
movzx ebp, byte [rsp + rdi + 0x9f8]
mov byte [rsp + 0x9ff], bpl
mov byte [rsp + rdi + 0x9f8], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0x9f8]
xor edi, 0xde
movzx ebx, byte [rsp + 0xa00]
add sil, bl
movzx esi, sil
movzx ebp, byte [rsp + rsi + 0x9f8]
mov byte [rsp + 0xa00], bpl
mov byte [rsp + rsi + 0x9f8], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0x9f8]
xor esi, 0x59
shl rsi, 0x38
shl rdi, 0x30
or rdi, rsi
shl r11, 0x28
or r11, rdi
shl r10, 0x20
or r10, r11
shl r9d, 0x18
or r9, r10
shl r8d, 0x10
or r8, r9
shl edx, 8
or rdx, r8
or rdx, rcx
xor rdx, rax
mov rdi, qword [rsp + 0xb60]
mov rcx, rdi
call rdx
mov ecx, eax
mov eax, dword [rsp + 0x2c]
sub eax, ecx
xor ecx, ecx
mov r11, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov edx, ecx
add rdx, rsi
mov r8, rdx
xor r9d, r9d
jmp 0x140002d6e
movzx r10d, byte [r8 + r9]
cmp r10b, byte [r11 + r9]
jne 0x140002d80
inc r9
movzx r10d, byte [rdi + r9]
cmp r10d, 0x78
je 0x140002d60
test r10d, r10d
jne 0x140002d6b
jmp 0x140002d8e
mov edx, ecx
inc edx
mov ecx, edx
cmp edx, eax
jbe 0x140002d50
xor eax, eax
jmp 0x140002d91
mov rax, rdx
add rsp, 0xaf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret