Function at 0x140051c90
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x158
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov ebx, dword [rsp + 0x1f0]
xor r13d, r13d
mov r10d, r9d
mov dword [rsp + 0xf8], r9d
mov r9d, r8d
mov dword [rsp + 0xec], r8d
mov rdi, rdx
mov qword [rsp + 0xf0], rdx
mov r12, rcx
mov qword [rsp + 0x88], rcx
cmp byte [rdx + 8], r13b
je 0x140051d83
mov rax, qword [rdx + 0x30]
test rax, rax
je 0x140051d0a
mov dword [rax], r13d
mov rax, qword [rdx + 0x30]
mov qword [rax + 8], r13
jmp 0x140051d7f
lea rax, [rcx + 0x11bbe0]
mov r9d, r13d
cmp qword [rax], rdi
je 0x140051d2c
nop dword [rax]
inc r9d
lea rax, [rax + 8]
cmp qword [rax], rdi
jne 0x140051d20
dec dword [rcx + 0x11bbd8]
mov eax, dword [rcx + 0x11bbd8]
sub eax, r9d
test eax, eax
jle 0x140051d7c
movsxd r8, eax
lea eax, [r9 + 1]
movsxd rcx, eax
add rcx, 0x2377c
movsxd rax, r9d
add rax, 0x2377c
shl r8, 3
lea rdx, [r12 + rcx*8]
lea rcx, [r12 + rax*8]
call fcn.140075140
mov r9d, dword [rsp + 0xec]
mov r10d, dword [rsp + 0xf8]
jmp 0x140051d7f
mov r9d, r8d
mov byte [rdi + 8], r13b
mov r14d, dword [rsp + 0x1b8]
mov r11d, 1
mov ecx, r14d
sub ecx, r11d
je 0x140051db8
sub ecx, r11d
je 0x140051db0
cmp ecx, r11d
je 0x140051da8
mov r15d, r11d
jmp 0x140051dbe
mov r15d, pe_nt_image_headers64
jmp 0x140051dbe
mov r15d, 8
jmp 0x140051dbe
mov r15d, 4
mov dword [rdi], r9d
mov dword [rdi + 4], r10d
mov qword [rdi + 0x20], r13
mov dword [rdi + 0x28], r13d
mov ecx, dword [r12 + 0x1218e0]
test ecx, ecx
je 0x140051e4a
mov r8, qword [r12 + 0x11dbf8]
mov edx, r13d
mov eax, edx
add rax, rax
cmp dword [r8 + rax*8], r9d
je 0x140051df5
inc edx
cmp edx, ecx
jb 0x140051de4
cmp edx, ecx
je 0x140051e4a
mov eax, edx
shl rax, 4
add rax, r8
mov qword [rdi + 0x20], rax
cmp edx, dword [r12 + 0x1218e0]
jae 0x140051e4a
mov r8d, r13d
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r12 + 0x11dbf8]
lea ecx, [r8 + rdx]
add rcx, rcx
cmp dword [rax + rcx*8], r9d
jne 0x140051e4a
inc r8d
mov dword [rdi + 0x28], r8d
lea eax, [r8 + rdx]
cmp eax, dword [r12 + 0x1218e0]
jb 0x140051e20
xor edx, edx
mov qword [rsp + 0x1a8], rbp
mov r8d, r15d
mov qword [rsp + 0x150], rsi
shr r8d, 2
movaps xmmword [rsp + 0x140], xmm6
lea eax, [rbx + r8]
div r15d
mov ecx, eax
mov word [rdi + 0xe], cx
cmp dword [rsp + 0x1b0], r13d
jne 0x140051e8f
mov rbx, qword [rsp + 0x1c0]
test rbx, rbx
jne 0x140051ebd
mov dword [rdi + 0xa], r13d
mov dword [rdi + 0x10], r13d
test byte [r12 + 0x12191c], r11b
je 0x140058d9f
movzx eax, word [r12 + 0x121920]
add ax, ax
add ax, cx
mov word [rdi + 0xe], ax
jmp 0x140058d9f
mov eax, dword [rsp + 0x1e0]
xor edx, edx
mov ebp, dword [rsp + 0x1d0]
add eax, r8d
div r15d
xor edx, edx
mov word [rdi + 0xa], ax
mov eax, dword [rsp + 0x1c8]
dec eax
add eax, r15d
div r15d
xor edx, edx
mov word [rdi + 0x10], ax
mov eax, dword [rsp + 0x1e8]
div r15d
mov word [rdi + 0xc], ax
add ebp, edx
mov dword [rsp + 0xb4], edx
xor edx, edx
lea eax, [rbp - 1]
add eax, r15d
div r15d
mov word [rdi + 0x12], ax
mov eax, dword [r12 + 0x12191c]
and eax, r11d
je 0x140051f3b
mov ecx, dword [r12 + 0x121920]
mov dword [rsp + 0xc8], ecx
add ecx, ecx
mov dword [rsp + 0xcc], ecx
jmp 0x140051f4b
mov dword [rsp + 0xc8], r13d
mov dword [rsp + 0xcc], r13d
movzx r9d, word [r12 + 0x1218d6]
mov ecx, 0xff
mov edx, r9d
mov esi, r9d
imul edx, dword [rdi + 0x18]
imul esi, dword [rdi + 0x1c]
mov dword [rsp + 0xb0], edx
mov dword [rsp + 0xd0], esi
cmp dword [r12 + 0x12221c], r13d
jne 0x140051fb2
mov ecx, dword [r12 + 0x11dbf0]
mov eax, ecx
imul ecx, esi
imul eax, r9d
movsxd rcx, ecx
add rcx, qword [r12 + 0x11dbe8]
movsxd r8, eax
test eax, eax
je 0x14005209d
xor edx, edx
call fcn.140123da0
jmp 0x140052096
cmp byte [r12 + 0x121dad], 8
je 0x140052049
cmp dword [r12 + 0x1221f4], r13d
jne 0x140052049
test eax, eax
jne 0x140052049
mov dword [rsp + 0x40], r13d
mov r8d, esi
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], ecx
lea rcx, [r12 + 0x121da8]
mov dword [rsp + 0x20], r9d
call fcn.140066f70
test byte [r12 + 0x12191c], 1
mov edx, dword [rsp + 0xb0]
je 0x14005209d
movzx r9d, word [r12 + 0x1218d6]
lea rcx, [r12 + 0x121da8]
add edx, dword [r12 + 0x121d70]
mov eax, 0xff
mov dword [rsp + 0x40], r13d
mov r8d, esi
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r9d
call fcn.140066f70
jmp 0x140052096
mov r8d, esi
mov dword [rsp + 0x20], r9d
lea rcx, [r12 + 0x121da8]
call fcn.140067170
test byte [r12 + 0x12191c], 1
je 0x140052096
mov edx, dword [rsp + 0xb0]
lea rcx, [r12 + 0x121da8]
movzx r9d, word [r12 + 0x1218d6]
mov r8d, esi
add edx, dword [r12 + 0x121d70]
mov dword [rsp + 0x20], r9d
call fcn.140067170
mov edx, dword [rsp + 0xb0]
mov eax, dword [r12 + 0x12221c]
mov r11d, eax
cmp eax, 1
jne 0x1400520bf
inc edx
inc esi
mov dword [rsp + 0xb0], edx
mov dword [rsp + 0xd0], esi
lea r9, [0x140000000]
cmp r14d, 4
je 0x1400536dd
test eax, eax
jne 0x1400520e9
lea eax, [r14 - 7]
cmp eax, 1
jbe 0x1400536dd
mov r11d, dword [r12 + 0x12221c]
cmp r15d, 1
jbe 0x1400536d0
movzx esi, word [rdi + 0x10]
mov eax, ebp
xor edx, edx
inc esi
div r15d
shr esi, 1
mov r12d, eax
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x84], edx
lea r10d, [rsi + rsi]
lea edi, [r10 + 4]
mov dword [rsp + 0x9c], r10d
mov rbp, qword [rax + 0x121d80]
mov rax, qword [rsp + 0xf0]
mov dword [rsp + 0xc0], edi
movzx ecx, word [rax + 0x12]
add ecx, 2
imul ecx, edi
mov r8d, ecx
test ecx, ecx
je 0x140052168
xor edx, edx
mov rcx, rbp
call fcn.140123da0
mov rax, qword [rsp + 0x88]
lea r10d, [rsi + rsi]
mov r11d, dword [rax + 0x12221c]
lea rcx, [rdi + rbp]
mov eax, edi
mov ebp, dword [rsp + 0x1d8]
mov rdi, rcx
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0xb4]
lea ecx, [rbp*4]
mov dword [rsp + 0x90], ecx
lea r8d, [rbp*2]
imul r9d, ebp, 7
lea ecx, [rbp*4]
add ecx, ebp
imul eax, ebp
mov dword [rsp + 0x70], ecx
lea edx, [rbp*2]
add r8d, ebp
mov dword [rsp + 0x7c], edx
lea ecx, [rbp*2]
mov dword [rsp + 0x80], r8d
mov dword [rsp + 0xc4], r9d
add ecx, ebp
sub rbx, rax
lea r9d, [rbp*8]
mov dword [rsp + 0xa8], r9d
add ecx, ecx
lea r9d, [rbp*8]
mov qword [rsp + 0x1c0], rbx
add r9d, ebp
mov dword [rsp + 0x98], ecx
mov dword [rsp + 0xd8], r9d
mov eax, r15d
lea r9d, [rbp*4]
imul eax, ebp
add r9d, ebp
add r9d, r9d
mov dword [rsp + 0xb4], r9d
imul r9d, ebp, 0xb
mov dword [rsp + 0x108], r9d
lea r9d, [rbp*2]
add r9d, ebp
shl r9d, 2
mov dword [rsp + 0x104], r9d
imul r9d, ebp, 0xd
mov dword [rsp + 0x100], r9d
imul r9d, ebp, 0xe
mov dword [rsp + 0xfc], r9d
imul r9d, ebp, 0xf
mov dword [rsp + 0x10c], r9d
cmp r15d, 4
je 0x1400532ba
cmp r15d, 8
je 0x140052e0a
cmp r15d, 0x10
jne 0x1400536b3
mov r9, qword [rsp + 0x88]
cmp dword [r9 + 0x12221c], r13d
je 0x140052872
cmp dword [r9 + 0x1221f0], r15d
je 0x140052872
mov r14d, 8
mov dword [rsp + 0x1b8], r14d
test r12d, r12d
je 0x1400527c8
mov qword [rsp + 0xb8], rax
mov r9, r12
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x58], r12
nop
mov dword [rsp + 0xe8], r13d
mov r11d, r13d
test r10d, r10d
je 0x140052792
mov qword [rsp + 0x60], rdi
nop dword [rax]
mov r10d, dword [rsp + 0x90]
lea eax, [r11 + r11]
mov r14d, eax
add eax, dword [rsp + 0x10c]
add r10d, r14d
mov r11d, dword [rsp + 0x70]
mov edi, dword [rsp + 0xc4]
add r11d, r14d
mov esi, dword [rsp + 0xa8]
lea ebx, [r14 + rcx]
mov r12d, dword [rsp + 0x104]
lea r9d, [r14 + r8]
mov r13d, dword [rsp + 0x108]
lea r8d, [r14 + rdx]
mov edx, dword [rsp + 0x1d8]
add edi, r14d
mov r15d, dword [rsp + 0xb4]
add edx, r14d
mov ebp, dword [rsp + 0xd8]
add esi, r14d
mov dword [rsp + 0xe4], eax
add r12d, r14d
mov eax, dword [rsp + 0xfc]
add r13d, r14d
add eax, r14d
lea ecx, [rdx + 1]
mov dword [rsp + 0xe0], eax
add r15d, r14d
mov eax, dword [rsp + 0x100]
add ebp, r14d
add eax, r14d
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r8 + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r9 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r10 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r11 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [rbx + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [rdi + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [rsi + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r14 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [rbp + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r15 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r13 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r12 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
add dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0x54]
mov rax, qword [rsp + 0x1c0]
inc ecx
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
add dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0xe0]
mov rax, qword [rsp + 0x1c0]
inc ecx
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
add dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0xe4]
mov rax, qword [rsp + 0x1c0]
inc ecx
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
add dword [rsp + 0x50], eax
lea rax, [0x140000000]
mov rcx, qword [rsp + 0x1c0]
movzx ecx, byte [rdx + rcx]
mov edx, dword [rsp + 0x50]
movzx eax, byte [rcx + rax + 0x1ca9b4]
add edx, eax
mov eax, r8d
mov r8, qword [rsp + 0x1c0]
movzx ecx, byte [rax + r8]
lea rax, [0x140000000]
movzx eax, byte [rcx + rax + 0x1ca9b4]
movzx ecx, byte [r9 + r8]
add edx, eax
lea r9, [0x140000000]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r10 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r11 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
add edx, eax
mov eax, ebx
mov rbx, r8
movzx ecx, byte [rax + r8]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [rdi + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [rsi + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [rbp + r8]
add edx, eax
movzx eax, byte [r14 + r8]
mov r11d, dword [rsp + 0xe8]
mov r10d, dword [rsp + 0x9c]
movzx eax, byte [rax + r9 + 0x1ca9b4]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r15 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r13 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r12 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
add edx, eax
mov eax, dword [rsp + 0x54]
movzx ecx, byte [rax + r8]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
add edx, eax
mov eax, dword [rsp + 0xe0]
movzx ecx, byte [rax + r8]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
add edx, eax
mov eax, dword [rsp + 0xe4]
movzx ecx, byte [rax + r8]
mov r8d, dword [rsp + 0x80]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
mov ecx, 0xff
add edx, eax
cmp edx, 0x100
movzx eax, dl
mov edx, dword [rsp + 0x7c]
cmove eax, ecx
mov rcx, qword [rsp + 0x60]
inc r11d
mov dword [rsp + 0xe8], r11d
mov byte [rcx], al
inc rcx
mov qword [rsp + 0x60], rcx
mov ecx, dword [rsp + 0x98]
cmp r11d, r10d
jb 0x140052310
mov rdi, qword [rsp + 0x68]
xor r13d, r13d
mov rax, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x58]
add rbx, qword [rsp + 0xb8]
add rdi, rax
sub r9, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x68], rdi
jne 0x1400522f0
mov r14d, dword [rsp + 0x1b8]
mov ebp, dword [rsp + 0x1d8]
mov eax, dword [rsp + 0x84]
cmp eax, 1
jb 0x1400536b3
mov esi, eax
nop word [rax + rax]
mov r11d, r13d
test r10d, r10d
je 0x14005284c
mov r9, rdi
lea r15, [0x140000000]
nop dword [rax]
nop word [rax + rax]
lea edx, [r11 + r11]
movzx ecx, byte [rdx + rbx]
lea eax, [rdx + 1]
movzx eax, byte [rax + rbx]
movzx r8d, byte [rax + r15 + 0x1ca9b4]
movzx eax, byte [rcx + r15 + 0x1ca9b4]
movzx ecx, byte [r9]
add r8d, eax
lea eax, [r8 + rcx]
cmp eax, 0x100
mov rax, r9
jb 0x14005283b
mov r8b, 0xff
jmp 0x14005283e
add r8b, cl
inc r11d
mov byte [rax], r8b
inc r9
cmp r11d, r10d
jb 0x140052800
add rbx, rbp
sub rsi, 1
jne 0x1400527e0
mov rbx, qword [rsp + 0x110]
mov r10d, dword [rsp + 0xc0]
mov r12, qword [rsp + 0x88]
jmp 0x140053980
mov r14d, 6
mov dword [rsp + 0x1b8], r14d
test r12d, r12d
je 0x140052d7f
mov rdx, r12
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rdx
mov dword [rsp + 0x54], r13d
mov r8d, r13d
test r10d, r10d
je 0x140052d50
mov qword [rsp + 0x58], rdi
nop word [rax + rax]
mov r14d, dword [rsp + 0x10c]
lea eax, [r8 + r8]
mov r9d, eax
lea r8d, [rbp*8]
mov esi, dword [rsp + 0xfc]
lea edx, [rbp*8]
mov edi, dword [rsp + 0x100]
lea r13d, [rbp*2]
mov ebx, dword [rsp + 0x104]
lea r12d, [rbp*4]
mov r11d, dword [rsp + 0x108]
add esi, eax
mov r10d, dword [rsp + 0xb4]
add edi, eax
add ebx, eax
mov r15d, dword [rsp + 0x7c]
add r11d, eax
add r10d, eax
add edx, eax
add r14d, eax
add r8d, ebp
add r13d, ebp
add r8d, eax
add r12d, r9d
mov eax, dword [rsp + 0xc4]
add r13d, r9d
add eax, r9d
add r15d, r9d
mov dword [rsp + 0xe0], eax
lea eax, [r9 + rcx]
mov dword [rsp + 0xe4], eax
lea ecx, [rdx + 1]
lea eax, [rbp*4]
add eax, ebp
add ebp, r9d
add eax, r9d
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r9 + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r8 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r10 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r11 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [rbx + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [rdi + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [rsi + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r14 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [rbp + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r15 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r13 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea ecx, [r12 + 1]
add dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
add dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0xe8]
mov rax, qword [rsp + 0x1c0]
inc ecx
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
add dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0xe4]
mov rax, qword [rsp + 0x1c0]
inc ecx
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
add dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0xe0]
mov rax, qword [rsp + 0x1c0]
inc ecx
movzx eax, byte [rcx + rax]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
add dword [rsp + 0x50], eax
lea rax, [0x140000000]
mov rcx, qword [rsp + 0x1c0]
movzx ecx, byte [rdx + rcx]
mov edx, dword [rsp + 0x50]
movzx eax, byte [rcx + rax + 0x1ca9b4]
add edx, eax
mov rax, qword [rsp + 0x1c0]
movzx eax, byte [r9 + rax]
lea r9, [0x140000000]
movzx eax, byte [rax + r9 + 0x1ca9b4]
add edx, eax
mov eax, r8d
mov r8, qword [rsp + 0x1c0]
movzx ecx, byte [rax + r8]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r10 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r11 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
add edx, eax
mov eax, ebx
mov rbx, r8
movzx ecx, byte [rax + r8]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
add edx, eax
movzx ecx, byte [rdi + r8]
mov r10d, dword [rsp + 0x9c]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [rsi + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r14 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [rbp + r8]
add edx, eax
mov ebp, dword [rsp + 0x1d8]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r15 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r13 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
movzx ecx, byte [r12 + r8]
add edx, eax
movzx eax, byte [rcx + r9 + 0x1ca9b4]
add edx, eax
mov eax, dword [rsp + 0xe8]
movzx ecx, byte [rax + r8]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
add edx, eax
mov eax, dword [rsp + 0xe4]
movzx ecx, byte [rax + r8]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
add edx, eax
mov eax, dword [rsp + 0xe0]
movzx ecx, byte [rax + r8]
mov r8d, dword [rsp + 0x54]
movzx eax, byte [rcx + r9 + 0x1ca9b4]
mov ecx, 0xff
add edx, eax
cmp edx, 0x100
movzx eax, dl
cmove eax, ecx
mov rcx, qword [rsp + 0x58]
inc r8d
mov dword [rsp + 0x54], r8d
mov byte [rcx], al
inc rcx
mov qword [rsp + 0x58], rcx
mov ecx, dword [rsp + 0x98]
cmp r8d, r10d
jb 0x1400528c0
mov rdi, qword [rsp + 0x68]
xor r13d, r13d
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x60]
add rbx, qword [rsp + 0xb8]
add rdi, rax
sub rdx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rdi
jne 0x1400528a1
mov r14d, dword [rsp + 0x1b8]
mov eax, dword [rsp + 0x84]
test eax, eax
je 0x1400536b3
mov r11d, ebp
mov r9d, eax
lea rbp, [0x140000000]
nop dword [rax + rax]
test r10d, r10d
je 0x140052dcb
mov r8, rbx
mov edx, r10d
sub r8, rdi
mov rcx, rdi
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 1]
movzx eax, byte [rax + rbp + 0x1ca9b4]
add byte [rcx - 1], al
sub rdx, 1
jne 0x140052db1
add rbx, r11
sub r9, 1
jne 0x140052da0
test r10d, r10d
je 0x1400536b3
mov eax, r10d
shr byte [rdi], 2
lea rdi, [rdi + 1]
sub rax, 1
jne 0x140052de0
mov rbx, qword [rsp + 0x110]
mov r10d, dword [rsp + 0xc0]
mov r12, qword [rsp + 0x88]
jmp 0x140053980
mov r9, qword [rsp + 0x88]
cmp dword [r9 + 0x12221c], r13d
je 0x140053052
cmp dword [r9 + 0x1221f0], 0x10
je 0x140053052
mov r14d, 7
mov dword [rsp + 0x1b8], r14d
test r12d, r12d
je 0x140052fe4
mov qword [rsp + 0x58], rax
mov r9, r12
mov r11, qword [rsp + 0x58]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], r12
nop
test r10d, r10d
je 0x140052fc2
mov r15d, dword [rsp + 0xc4]
lea eax, [rbp*4]
sub eax, ecx
mov esi, r10d
mov dword [rsp + 0x90], eax
lea r12d, [rbp*4]
mov r14d, dword [rsp + 0x90]
add r12d, ebp
mov eax, r8d
sub edx, ecx
sub eax, ecx
sub r15d, ecx
mov dword [rsp + 0x70], eax
sub r12d, ecx
mov eax, ebp
mov r11, rdi
mov ebp, dword [rsp + 0x70]
sub eax, ecx
mov dword [rsp + 0xd8], eax
mov r9d, ecx
mov rax, rbx
mov r10d, edx
sub rax, rdi
mov edi, dword [rsp + 0xd8]
mov qword [rsp + 0xb8], rax
nop word [rax + rax]
lea eax, [rdi + r9]
movzx edx, byte [rax + rbx]
lea rcx, [0x140000000]
lea eax, [r10 + r9]
movzx eax, byte [rax + rbx]
lea r11, [r11 + 1]
movzx r8d, byte [rdx + rcx + 0x1ca9b4]
lea rdx, [0x140000000]
add r8b, byte [rax + rdx + 0x1ca9b4]
lea eax, [r9 + rbp]
movzx eax, byte [rax + rbx]
add r8b, byte [rax + rdx + 0x1ca9b4]
lea eax, [r14 + r9]
movzx eax, byte [rax + rbx]
add r8b, byte [rax + rdx + 0x1ca9b4]
lea eax, [r12 + r9]
movzx eax, byte [rax + rbx]
add r8b, byte [rax + rdx + 0x1ca9b4]
lea eax, [r15 + r9]
movzx eax, byte [rax + rbx]
add r8b, byte [rax + rdx + 0x1ca9b4]
mov eax, r9d
inc r9d
movzx ecx, byte [rax + rbx]
mov rax, qword [rsp + 0xb8]
add r8b, byte [rcx + rdx + 0x1ca9b4]
movzx eax, byte [rax + r11 - 1]
add r8b, byte [rax + rdx + 0x1ca9b4]
mov byte [r11 - 1], r8b
sub rsi, 1
jne 0x140052ee0
mov rdi, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x9c]
mov ecx, dword [rsp + 0x98]
mov edx, dword [rsp + 0x7c]
mov ebp, dword [rsp + 0x1d8]
mov rax, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x80]
mov r9, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
add rdi, rax
add rbx, r11
sub r9, 1
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x60], r9
jne 0x140052e60
mov r14d, dword [rsp + 0x1b8]
mov eax, dword [rsp + 0x84]
cmp eax, 1
jb 0x1400536b3
mov r11d, ebp
mov r9d, eax
lea rbp, [0x140000000]
test r10d, r10d
je 0x14005302c
mov r8, rbx
mov edx, r10d
sub r8, rdi
mov rcx, rdi
movzx eax, byte [rcx + r8]
lea rcx, [rcx + 1]
movzx eax, byte [rax + rbp + 0x1ca9b4]
add byte [rcx - 1], al
sub rdx, 1
jne 0x140053012
add rbx, r11
sub r9, 1
jne 0x140053001
mov rbx, qword [rsp + 0x110]
mov r10d, dword [rsp + 0xc0]
mov r12, qword [rsp + 0x88]
jmp 0x140053980
mov r14d, 6
mov dword [rsp + 0x1b8], r14d
test r12d, r12d
je 0x14005322e
mov qword [rsp + 0x58], rax
mov r8, r12
mov r9, qword [rsp + 0x58]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], r12
test r10d, r10d
je 0x14005320c
mov esi, dword [rsp + 0xc4]
lea eax, [rbp*2]
add eax, ebp
mov r11d, r10d
sub eax, ecx
lea r15d, [rbp*4]
mov dword [rsp + 0x90], eax
lea r12d, [rbp*4]
mov r14d, dword [rsp + 0x90]
add r15d, ebp
mov eax, edx
sub esi, ecx
sub eax, ecx
sub r15d, ecx
mov dword [rsp + 0x70], eax
sub r12d, ecx
mov eax, ebp
mov r9, rdi
mov ebp, dword [rsp + 0x70]
sub eax, ecx
mov dword [rsp + 0xa8], eax
mov r8d, ecx
mov r10d, dword [rsp + 0xa8]
mov rax, rbx
sub rax, rdi
mov rdi, rax
nop dword [rax]
lea eax, [r8 + r10]
movzx eax, byte [rax + rbx]
lea rcx, [0x140000000]
lea r9, [r9 + 1]
movzx edx, byte [rax + rcx + 0x1ca9b4]
lea eax, [r8 + rbp]
movzx eax, byte [rax + rbx]
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea rcx, [0x140000000]
add edx, eax
lea eax, [r8 + r14]
movzx eax, byte [rax + rbx]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea rcx, [0x140000000]
add edx, eax
lea eax, [r8 + r12]
movzx eax, byte [rax + rbx]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea rcx, [0x140000000]
add edx, eax
lea eax, [r8 + r15]
movzx eax, byte [rax + rbx]
movzx eax, byte [rax + rcx + 0x1ca9b4]
lea rcx, [0x140000000]
add edx, eax
lea eax, [r8 + rsi]
movzx eax, byte [rax + rbx]
movzx eax, byte [rax + rcx + 0x1ca9b4]
add edx, eax
mov eax, r8d
inc r8d
movzx ecx, byte [rax + rbx]
lea rax, [0x140000000]
movzx eax, byte [rcx + rax + 0x1ca9b4]
lea rcx, [0x140000000]
add edx, eax
movzx eax, byte [r9 + rdi - 1]
movzx eax, byte [rax + rcx + 0x1ca9b4]
add edx, eax
shr edx, 2
mov byte [r9 - 1], dl
sub r11, 1
jne 0x140053100
mov rdi, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x9c]
mov ecx, dword [rsp + 0x98]
mov edx, dword [rsp + 0x7c]
mov ebp, dword [rsp + 0x1d8]
mov rax, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
add rdi, rax
add rbx, r9
sub r8, 1
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x60], r8
jne 0x140053083
mov r14d, dword [rsp + 0x1b8]
mov eax, dword [rsp + 0x84]
test eax, eax
je 0x1400536b3
mov r11d, ebp
mov r9d, eax
lea rbp, [0x140000000]
nop word [rax + rax]
test r10d, r10d
je 0x14005327b
mov r8, rbx
mov edx, r10d
sub r8, rdi
mov rcx, rdi
movzx eax, byte [rcx + r8]
lea rcx, [rcx + 1]
movzx eax, byte [rax + rbp + 0x1ca9b4]
add byte [rcx - 1], al
sub rdx, 1
jne 0x140053261
add rbx, r11
sub r9, 1
jne 0x140053250
test r10d, r10d
je 0x1400536b3
mov eax, r10d
shr byte [rdi], 2
lea rdi, [rdi + 1]
sub rax, 1
jne 0x140053290
mov rbx, qword [rsp + 0x110]
mov r10d, dword [rsp + 0xc0]
mov r12, qword [rsp + 0x88]
jmp 0x140053980
test r11d, r11d
je 0x1400534d6
mov rcx, qword [rsp + 0x88]
cmp dword [rcx + 0x1221f0], 0x10
je 0x1400534d6
mov r14d, 7
mov dword [rsp + 0x1b8], r14d
test r12d, r12d
je 0x140053440
mov qword [rsp + 0x58], rax
mov rcx, r12
mov r9, qword [rsp + 0x58]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rcx
nop dword [rax]
mov r14d, r13d
test esi, esi
je 0x14005341c
mov r12d, dword [rsp + 0x1d8]
mov r15d, r8d
sub r15d, edx
mov rbp, rbx
sub r12d, edx
nop
lea eax, [r14 + rdx]
lea r9, [rax + rbx]
lea r10d, [r15 + rax]
add eax, r12d
mov r8d, eax
lea r11d, [r14 + r14]
lea rdx, [0x140000000]
inc r14d
lea rbp, [rbp + 1]
movzx ecx, byte [rax + rbx]
movzx eax, byte [rbp - 1]
and ecx, 0xf0
and eax, 0xf0
movzx edx, byte [rcx + rdx + 0x1ca9b4]
lea rcx, [0x140000000]
add dl, byte [rax + rcx + 0x1ca9b4]
movzx eax, byte [r9]
and eax, 0xf0
add dl, byte [rax + rcx + 0x1ca9b4]
movzx eax, byte [r10 + rbx]
and eax, 0xf0
add dl, byte [rax + rcx + 0x1ca9b4]
shl dl, 2
mov byte [r11 + rdi], dl
movzx eax, byte [rbp - 1]
movzx ecx, byte [r8 + rbx]
and eax, 0xf
lea r8, [0x140000000]
and ecx, 0xf
movzx edx, byte [rcx + r8 + 0x1ca9b4]
add dl, byte [rax + r8 + 0x1ca9b4]
movzx eax, byte [r9]
and eax, 0xf
add dl, byte [rax + r8 + 0x1ca9b4]
movzx eax, byte [r10 + rbx]
and eax, 0xf
add dl, byte [rax + r8 + 0x1ca9b4]
lea eax, [r11 + 1]
shl dl, 2
mov byte [rax + rdi], dl
mov edx, dword [rsp + 0x7c]
cmp r14d, esi
jb 0x140053330
mov rax, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
add rbx, r9
add rdi, rax
sub rcx, 1
mov qword [rsp + 0x60], rcx
jne 0x140053310
mov r14d, dword [rsp + 0x1b8]
mov ebp, dword [rsp + 0x1d8]
mov eax, dword [rsp + 0x84]
cmp eax, 1
jb 0x1400536b3
mov r11d, ebp
mov r10d, eax
mov r9d, r13d
test esi, esi
je 0x1400534b0
mov r8, rbx
lea rbp, [0x140000000]
nop word [rax + rax]
movzx eax, byte [r8]
lea edx, [r9 + r9]
and eax, 0xf0
lea ecx, [rdx + 1]
inc r9d
lea r8, [r8 + 1]
movzx eax, byte [rax + rbp + 0x1ca9b4]
shl al, 2
add byte [rdx + rdi], al
movzx eax, byte [r8 - 1]
and eax, 0xf
movzx eax, byte [rax + rbp + 0x1ca9b4]
shl al, 2
add byte [rcx + rdi], al
cmp r9d, esi
jb 0x140053470
add rbx, r11
sub r10, 1
jne 0x140053456
mov rbx, qword [rsp + 0x110]
mov r10d, dword [rsp + 0xc0]
mov r12, qword [rsp + 0x88]
jmp 0x140053980
mov r14d, 6
mov dword [rsp + 0x1b8], r14d
test r12d, r12d
je 0x14005363a
mov qword [rsp + 0x58], rax
mov rcx, r12
mov r9, qword [rsp + 0x58]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rcx
nop word [rax + rax]
mov r14d, r13d
test esi, esi
je 0x140053616
mov r12d, dword [rsp + 0x1d8]
mov r15d, r8d
sub r15d, edx
mov rbp, rbx
sub r12d, edx
nop
lea eax, [r14 + rdx]
lea r9, [rax + rbx]
lea r10d, [r15 + rax]
add eax, r12d
mov r8d, eax
lea r11d, [r14 + r14]
lea rdx, [0x140000000]
inc r14d
lea rbp, [rbp + 1]
movzx ecx, byte [rax + rbx]
movzx eax, byte [r9]
and ecx, 0xf0
and eax, 0xf0
movzx edx, byte [rcx + rdx + 0x1ca9b4]
lea rcx, [0x140000000]
add dl, byte [rax + rcx + 0x1ca9b4]
movzx eax, byte [rbp - 1]
and eax, 0xf0
add dl, byte [rax + rcx + 0x1ca9b4]
movzx eax, byte [r10 + rbx]
and eax, 0xf0
add dl, byte [rax + rcx + 0x1ca9b4]
mov byte [r11 + rdi], dl
movzx ecx, byte [r8 + rbx]
lea r8, [0x140000000]
movzx eax, byte [r9]
and ecx, 0xf
and eax, 0xf
movzx edx, byte [rcx + r8 + 0x1ca9b4]
add dl, byte [rax + r8 + 0x1ca9b4]
movzx eax, byte [rbp - 1]
and eax, 0xf
add dl, byte [rax + r8 + 0x1ca9b4]
movzx eax, byte [r10 + rbx]
and eax, 0xf
add dl, byte [rax + r8 + 0x1ca9b4]
lea eax, [r11 + 1]
mov byte [rax + rdi], dl
mov edx, dword [rsp + 0x7c]
cmp r14d, esi
jb 0x140053530
mov rax, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
add rbx, r9
add rdi, rax
sub rcx, 1
mov qword [rsp + 0x60], rcx
jne 0x140053510
mov r14d, dword [rsp + 0x1b8]
mov ebp, dword [rsp + 0x1d8]
mov eax, dword [rsp + 0x84]
cmp eax, 1
jb 0x1400536b3
mov r11d, ebp
mov r10d, eax
nop dword [rax]
mov r9d, r13d
test esi, esi
je 0x1400536aa
mov r8, rbx
lea rbp, [0x140000000]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8]
lea edx, [r9 + r9]
and eax, 0xf0
lea ecx, [rdx + 1]
inc r9d
lea r8, [r8 + 1]
movzx eax, byte [rax + rbp + 0x1ca9b4]
add byte [rdx + rdi], al
movzx eax, byte [r8 - 1]
and eax, 0xf
movzx eax, byte [rax + rbp + 0x1ca9b4]
add byte [rcx + rdi], al
cmp r9d, esi
jb 0x140053670
add rbx, r11
sub r10, 1
jne 0x140053650
mov rbx, qword [rsp + 0x110]
mov r10d, dword [rsp + 0xc0]
mov r12, qword [rsp + 0x88]
jmp 0x140053980
mov r10d, dword [rsp + 0x1d8]
jmp 0x140053996
mov r8d, dword [r12 + 0x121d88]
movzx r10d, word [rdi + 0x10]
movzx ebp, word [rdi + 0x12]
mov dword [rsp + 0xc0], r10d
test r8, r8
je 0x14005371a
mov rcx, qword [r12 + 0x121d80]
xor edx, edx
call fcn.140123da0
mov r11d, dword [r12 + 0x12221c]
mov r10d, dword [rsp + 0xc0]
mov r9, qword [r12 + 0x121d80]
mov ecx, r14d
sub ecx, 4
je 0x1400537f6
sub ecx, 3
je 0x14005379c
cmp ecx, 1
jne 0x140053978
cmp r13w, bp
jae 0x14005396a
mov esi, dword [rsp + 0x1d8]
mov r11, rbp
lea rbp, [0x140000000]
mov edi, r10d
nop word [rax + rax]
test r10d, r10d
je 0x14005378b
mov r8, rbx
mov rcx, r9
sub r8, r9
mov rdx, rdi
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 1]
movzx eax, byte [rax + rbp + 0x1caac4]
mov byte [rcx - 1], al
sub rdx, 1
jne 0x140053771
add rbx, rsi
add r9, rdi
sub r11, 1
jne 0x140053760
jmp 0x14005396a
cmp r13w, bp
jae 0x14005396a
mov esi, dword [rsp + 0x1d8]
mov r11, rbp
mov edi, r10d
test r10d, r10d
je 0x1400537e5
mov r8, rbx
mov rcx, r9
sub r8, r9
mov rdx, rdi
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + r8]
lea rcx, [rcx + 1]
shr al, 2
mov byte [rcx - 1], al
sub rdx, 1
jne 0x1400537d0
add rbx, rsi
add r9, rdi
sub r11, 1
jne 0x1400537b3
jmp 0x14005396a
mov edi, r10d
mov esi, r10d
shr edi, 1
lea eax, [rdi + rdi]
sub esi, eax
test r11d, r11d
je 0x1400538c9
cmp r13w, bp
jae 0x1400538be
mov r14d, dword [rsp + 0x1d8]
lea r12, [0x140000000]
mov r15d, r10d
mov r10d, r13d
test edi, edi
je 0x14005387e
mov r11, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r11]
lea r8d, [r10 + r10]
shr rax, 4
lea ecx, [r8 + 1]
inc r10d
lea r11, [r11 + 1]
movzx eax, byte [rax + r12 + 0x1cabc4]
mov byte [r8 + r9], al
movzx edx, byte [r11 - 1]
and edx, 0xf
movzx eax, byte [rdx + r12 + 0x1cabc4]
mov byte [rcx + r9], al
cmp r10d, edi
jb 0x140053840
test esi, esi
je 0x14005389e
mov eax, r10d
lea ecx, [r10 + r10]
movzx edx, byte [rax + rbx]
shr rdx, 4
movzx eax, byte [rdx + r12 + 0x1cabc4]
mov byte [rcx + r9], al
add rbx, r14
add r9, r15
sub rbp, 1
jne 0x140053828
mov r10d, dword [rsp + 0xc0]
mov r12, qword [rsp + 0x88]
mov r14d, 7
jmp 0x140053970
cmp r13w, bp
jae 0x14005396a
mov r14d, dword [rsp + 0x1d8]
lea r12, [0x140000000]
mov r15d, r10d
mov r10d, r13d
test edi, edi
je 0x14005392e
mov r11, rbx
nop
movzx eax, byte [r11]
lea r8d, [r10 + r10]
shr rax, 4
lea ecx, [r8 + 1]
inc r10d
lea r11, [r11 + 1]
movzx eax, byte [rax + r12 + 0x1caab4]
mov byte [r8 + r9], al
movzx edx, byte [r11 - 1]
and edx, 0xf
movzx eax, byte [rdx + r12 + 0x1caab4]
mov byte [rcx + r9], al
cmp r10d, edi
jb 0x1400538f0
test esi, esi
je 0x14005394e
mov eax, r10d
lea ecx, [r10 + r10]
movzx edx, byte [rax + rbx]
shr rdx, 4
movzx eax, byte [rdx + r12 + 0x1caab4]
mov byte [rcx + r9], al
add rbx, r14
add r9, r15
sub rbp, 1
jne 0x1400538e5
mov r10d, dword [rsp + 0xc0]
mov r12, qword [rsp + 0x88]
mov r14d, 6
mov dword [rsp + 0x1b8], r14d
mov rbx, qword [r12 + 0x121d80]
mov esi, dword [rsp + 0xd0]
lea r9, [0x140000000]
mov qword [rsp + 0x1c0], rbx
mov rax, qword [rsp + 0xf0]
mov edx, dword [r12 + 0x12191c]
mov r11d, dword [r12 + 0x12221c]
movzx r15d, word [rax + 0x10]
movzx ebp, word [rax + 0x12]
mov dword [rsp + 0x80], r15d
mov dword [rsp + 0x50], ebp
test dl, 1
jne 0x140054c39
xor cl, cl
test r11d, r11d
jne 0x140053b32
mov ecx, dword [r12 + 0x11dbf0]
mov edi, ecx
imul edi, esi
add rdi, qword [r12 + 0x11dbe8]
test edx, edx
je 0x140053a58
lea eax, [rdx - 2]
test eax, 0xffffffcf
jne 0x140058d6d
cmp r14d, 6
jne 0x140055135
test ebp, ebp
je 0x140058d6d
mov r11d, r10d
mov r9d, ebp
mov r10d, ecx
nop dword [rax]
test r15d, r15d
je 0x140053a47
mov r8, rbx
mov rcx, rdi
sub r8, rdi
mov rdx, r15
movzx eax, byte [rcx + r8]
test al, al
je 0x140053a3e
dec al
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x140053a31
add rbx, r11
add rdi, r10
sub r9, 1
jne 0x140053a20
jmp 0x140058d6d
test r14d, r14d
je 0x140053ae1
cmp r14d, 5
jne 0x140055135
test ebp, ebp
je 0x140058d6d
mov esi, dword [rsp + 0x50]
mov r14, rcx
mov ebp, r10d
nop dword [rax]
xor dl, dl
mov r10, rdi
mov r9b, 0x80
mov r8d, r13d
test r15d, r15d
je 0x140053acd
mov r11, rbx
test r8d, r8d
je 0x140053aa9
test r8b, 7
jne 0x140053aa9
mov byte [r10], dl
mov r9b, 0x80
inc r10
xor dl, dl
movzx eax, r9b
or al, dl
cmp byte [r11], 0
movzx ecx, al
movzx eax, dl
cmove ecx, eax
inc r8d
inc r11
shr r9b, 1
movzx edx, cl
cmp r8d, r15d
jb 0x140053a93
add rbx, rbp
mov byte [r10], dl
add rdi, r14
sub rsi, 1
jne 0x140053a80
jmp 0x140058d6d
test ebp, ebp
je 0x140058d6d
mov r9d, r10d
mov r11, rcx
mov r10, rbp
mov rcx, rbx
mov rdx, r9
test r9, r9
je 0x140053b21
mov r8, rdi
sub r8, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rcx + r8], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140053b10
add rbx, r9
add rdi, r11
sub r10, 1
jne 0x140053af2
jmp 0x140058d6d
movzx eax, byte [r12 + 0x121dac]
imul eax, dword [rsp + 0xb0]
mov r8d, dword [r12 + 0x1221d8]
mov r9d, dword [r12 + 0x121db8]
mov edx, r9d
mov r11d, dword [r12 + 0x121dbc]
or edx, r11d
movsxd rdi, eax
mov eax, r8d
imul eax, esi
mov esi, dword [r12 + 0x121dc0]
or edx, esi
cdqe
add rdi, rax
add rdi, qword [r12 + 0x1221e0]
test r14d, r14d
je 0x140054a3c
sub r14d, 5
je 0x1400546a2
sub r14d, 1
je 0x1400540f1
sub r14d, 1
je 0x140053ec3
cmp r14d, 1
jne 0x140055135
cmp byte [r12 + 0x121dad], 8
jne 0x140053c92
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x121dcc], 0xf
jne 0x140053c17
mov r11d, r10d
mov r9, rbp
mov r10d, r8d
nop dword [rax]
test r15d, r15d
je 0x140053c06
mov r8, rbx
mov rcx, rdi
sub r8, rdi
mov rdx, r15
movzx eax, byte [rcx + r8]
lea rcx, [rcx + 1]
shr al, 4
mov byte [rcx - 1], al
sub rdx, 1
jne 0x140053bf1
add rbx, r11
add rdi, r10
sub r9, 1
jne 0x140053be0
jmp 0x140054bd0
mov esi, dword [rsp + 0x50]
mov r14, r8
mov ebp, r10d
mov edx, r13d
test r15d, r15d
je 0x140053c81
cmp r15d, 0x10
jb 0x140053c54
lea eax, [r15 - 1]
lea r8, [rdi + rax]
add rax, rbx
cmp rdi, rax
ja 0x140053c44
cmp r8, rbx
jae 0x140053c54
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call fcn.140124160
jmp 0x140053c81
mov ecx, edx
mov r8, rbx
add rcx, rdi
sub r8, rdi
mov eax, r15d
sub eax, edx
mov edx, eax
nop word [rax + rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140053c70
add rbx, rbp
add rdi, r14
sub rsi, 1
jne 0x140053c21
jmp 0x140054bd0
cmp dword [r12 + 0x1221f4], 0
je 0x140053e53
movzx eax, byte [r12 + 0x121db7]
movzx ecx, byte [r12 + 0x121db4]
sub al, 8
movzx edx, byte [r12 + 0x121db5]
sub cl, 8
movzx r9d, byte [r12 + 0x121db6]
sub dl, 8
add al, byte [r12 + 0x121db3]
sub r9b, 8
add cl, byte [r12 + 0x121db0]
add dl, byte [r12 + 0x121db1]
add r9b, byte [r12 + 0x121db2]
test ebp, ebp
je 0x140054bd0
mov r12d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x80]
movzx esi, dl
movzx ebp, cl
mov rcx, r8
movzx r14d, al
movzx r15d, r9b
mov edx, r10d
movaps xmmword [rsp + 0x130], xmm7
movd xmm4, esi
movd xmm5, ebp
movd xmm6, r14d
movd xmm7, r15d
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0xa0], r8
mov eax, r10d
mov edx, r13d
test r11d, r11d
je 0x140053e2e
cmp r11d, 4
jb 0x140053dc6
lea eax, [r11 - 1]
lea r8, [rdi + rax*4]
add rax, rbx
cmp rdi, rax
ja 0x140053d6b
cmp r8, rbx
jae 0x140053dc6
mov ecx, r11d
and ecx, 0xfffffffc
nop dword [rax]
nop word [rax + rax]
movd xmm3, dword [rdx + rbx]
xorps xmm0, xmm0
punpcklbw xmm3, xmm0
punpcklwd xmm3, xmm0
movdqa xmm2, xmm3
movdqa xmm0, xmm3
pslld xmm2, xmm5
movdqa xmm1, xmm3
pslld xmm0, xmm4
pslld xmm1, xmm6
orps xmm2, xmm0
pslld xmm3, xmm7
orps xmm2, xmm1
orps xmm2, xmm3
movdqu xmmword [rdi + rdx*4], xmm2
add edx, 4
cmp edx, ecx
jb 0x140053d80
cmp edx, r11d
jae 0x140053e21
mov eax, edx
sub r11d, edx
lea r9, [rbx + rax]
lea r10, [rdi + rax*4]
nop dword [rax]
nop word [rax + rax]
movzx r8d, byte [r9]
lea r10, [r10 + 4]
mov edx, r8d
lea r9, [r9 + 1]
mov ecx, esi
mov eax, r8d
shl edx, cl
mov ecx, ebp
shl eax, cl
mov ecx, r14d
or edx, eax
mov eax, r8d
shl eax, cl
mov ecx, r15d
shl r8d, cl
or edx, eax
or edx, r8d
mov dword [r10 - 4], edx
sub r11, 1
jne 0x140053de0
mov r11d, dword [rsp + 0x80]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x68]
add rbx, rax
add rdi, rcx
sub r12, 1
jne 0x140053d44
movaps xmm7, xmmword [rsp + 0x130]
mov r12, qword [rsp + 0x88]
jmp 0x140054bd0
test ebp, ebp
je 0x140054bd0
mov r11d, dword [rsp + 0x50]
mov rbp, r8
mov esi, r10d
test r15d, r15d
je 0x140053eb2
mov r8, rbx
mov r9, rdi
mov r10, r15
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r12 + 0x121db7]
lea r9, [r9 + 4]
movzx ecx, byte [r12 + 0x121db3]
lea r8, [r8 + 1]
add eax, 0xfffffff8
add ecx, eax
movzx eax, byte [r8 - 1]
shl eax, cl
or eax, edx
mov dword [r9 - 4], eax
sub r10, 1
jne 0x140053e80
add rbx, rsi
add rdi, rbp
sub r11, 1
jne 0x140053e66
jmp 0x140054bd0
cmp byte [r12 + 0x121dad], 8
jne 0x140053f6f
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x121dcc], 0xf
mov r9, rbp
mov r11d, r10d
mov r10, r8
jne 0x140053f30
nop
test r15d, r15d
je 0x140053f1e
mov r8, rbx
mov rcx, rdi
sub r8, rdi
mov rdx, r15
movzx eax, byte [rcx + r8]
cmp al, 4
jbe 0x140053f11
shr al, 2
dec al
jmp 0x140053f13
xor al, al
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x140053f01
add rbx, r11
add rdi, r10
sub r9, 1
jne 0x140053ef0
jmp 0x140054bd0
test r15d, r15d
je 0x140053f5e
mov r8, rbx
mov rcx, rdi
sub r8, rdi
mov rdx, r15
movzx eax, byte [rcx + r8]
test al, al
je 0x140053f51
shl al, 2
dec al
jmp 0x140053f53
xor al, al
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x140053f41
add rbx, r11
add rdi, r10
sub r9, 1
jne 0x140053f30
jmp 0x140054bd0
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x1221f4], 0
je 0x14005408c
movzx eax, byte [r12 + 0x121db6]
mov rcx, r8
mov edx, dword [rsp + 0x80]
sub al, 6
add al, byte [r12 + 0x121db2]
movzx esi, al
movzx eax, byte [r12 + 0x121db5]
sub al, 6
mov qword [rsp + 0xb8], rcx
add al, byte [r12 + 0x121db1]
movzx ebp, al
movzx eax, byte [r12 + 0x121db4]
sub al, 6
add al, byte [r12 + 0x121db0]
movzx r14d, al
movzx eax, byte [r12 + 0x121db7]
sub al, 6
add al, byte [r12 + 0x121db3]
mov r12d, dword [rsp + 0x50]
movzx r15d, al
mov eax, r10d
mov qword [rsp + 0x110], rax
test edx, edx
je 0x140054073
mov r9, rbx
mov r11d, edx
mov r10, rdi
nop
movzx eax, byte [r9]
cmp al, 0x40
jne 0x140054020
mov r8d, 0xffffffff
jmp 0x14005404c
test al, al
je 0x140054049
mov r8d, eax
mov edx, eax
mov ecx, esi
shl r8d, cl
mov ecx, ebp
shl eax, cl
mov ecx, r14d
or r8d, eax
mov eax, edx
shl eax, cl
mov ecx, r15d
shl edx, cl
or r8d, eax
or r8d, edx
jmp 0x14005404c
mov r8d, r13d
mov dword [r10], r8d
inc r9
add r10, 4
sub r11, 1
jne 0x140054010
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xb8]
mov edx, dword [rsp + 0x80]
add rbx, rax
add rdi, rcx
sub r12, 1
jne 0x140054002
mov r12, qword [rsp + 0x88]
jmp 0x140054bd0
mov esi, dword [rsp + 0x50]
mov r14, r8
mov ebp, r10d
test r15d, r15d
je 0x1400540e0
mov r8, rbx
mov r9, rdi
mov r11, r15
movzx r10d, byte [r8]
test r10b, r10b
je 0x1400540ce
movzx eax, byte [r12 + 0x121db3]
movzx ecx, byte [r12 + 0x121db7]
add eax, 0xfffffffa
add ecx, eax
lea eax, [r10 - 1]
shl eax, cl
or eax, edx
jmp 0x1400540d0
mov eax, edx
mov dword [r9], eax
inc r8
add r9, 4
sub r11, 1
jne 0x1400540a4
add rbx, rbp
add rdi, r14
sub rsi, 1
jne 0x140054096
jmp 0x140054bd0
movzx eax, byte [r12 + 0x121dad]
cmp al, 8
jne 0x14005423f
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x121dcc], 0xf
jne 0x1400541f4
mov r11d, dword [rsp + 0x50]
mov rbp, r8
movdqa xmm6, xmmword [0x14012f430]
mov esi, r10d
nop dword [rax]
mov edx, r13d
test r15d, r15d
je 0x1400541df
cmp r15d, 0x10
jb 0x1400541aa
lea eax, [r15 - 1]
lea r8, [rdi + rax]
add rax, rbx
cmp rdi, rax
ja 0x140054157
cmp r8, rbx
jae 0x1400541aa
mov ecx, r15d
and ecx, 0xfffffff0
movdqa xmm5, xmmword [0x14013c1f0]
xorps xmm4, xmm4
nop dword [rax + rax]
movdqu xmm3, xmmword [rdx + rbx]
movdqu xmm0, xmmword [rdi + rdx]
movdqa xmm2, xmm3
psubb xmm3, xmm5
pcmpeqb xmm2, xmm4
andnps xmm2, xmm6
andps xmm3, xmm2
movdqa xmm1, xmm2
andnps xmm1, xmm0
orps xmm3, xmm1
andps xmm3, xmm2
movdqu xmmword [rdi + rdx], xmm3
add edx, 0x10
cmp edx, ecx
jb 0x140054170
cmp edx, r15d
jae 0x1400541df
mov r8d, edx
mov r10, rbx
add r8, rdi
sub r10, rdi
mov r9d, r15d
sub r9d, edx
nop dword [rax]
movzx edx, byte [r8 + r10]
lea r8, [r8 + 1]
test dl, dl
lea eax, [rdx - 1]
movzx ecx, al
cmove ecx, r13d
mov byte [r8 - 1], cl
sub r9, 1
jne 0x1400541c0
add rbx, rsi
add rdi, rbp
sub r11, 1
jne 0x140054130
jmp 0x140054bd0
mov r11d, r10d
mov r9, rbp
mov r10, r8
nop dword [rax]
test r15d, r15d
je 0x14005422e
mov r8, rbx
mov rcx, rdi
sub r8, rdi
mov rdx, r15
movzx eax, byte [rcx + r8]
test al, al
je 0x140054221
shl al, 4
dec al
jmp 0x140054223
xor al, al
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x140054211
add rbx, r11
add rdi, r10
sub r9, 1
jne 0x140054200
jmp 0x140054bd0
cmp dword [r12 + 0x121dc4], 0xf000
jne 0x14005434e
cmp r9d, 0xf00
jne 0x14005434e
cmp r11d, 0xf0
jne 0x14005434e
cmp esi, 0xf
jne 0x14005434e
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x1221f4], 0
je 0x1400542f2
mov r11d, r10d
mov rsi, r8
mov r10, rbp
mov ebp, 0xffff
test r15d, r15d
je 0x1400542e1
mov rdx, rbx
mov r8, rdi
mov r9, r15
movzx eax, byte [rdx]
cmp al, 0x10
jne 0x1400542af
movzx ecx, bp
jmp 0x1400542d0
test al, al
je 0x1400542cd
movzx ecx, ax
shl cx, 4
or cx, ax
shl cx, 4
or cx, ax
shl cx, 4
or cx, ax
jmp 0x1400542d0
mov ecx, r13d
mov word [r8], cx
inc rdx
add r8, 2
sub r9, 1
jne 0x1400542a3
add rbx, r11
add rdi, rsi
sub r10, 1
jne 0x140054295
jmp 0x140054bd0
mov r11d, dword [rsp + 0x50]
mov r13d, 0x1000
mov esi, r10d
mov rbp, r8
lea r14d, [r13 - 1]
test r15d, r15d
je 0x14005433d
mov r8, rbx
mov r9, rdi
mov r10, r15
movzx eax, byte [r8]
test al, al
je 0x140054328
mov edx, eax
imul edx, r13d
dec dx
jmp 0x14005432c
movzx edx, r14w
mov word [r9], dx
inc r8
add r9, 2
sub r10, 1
jne 0x140054315
add rbx, rsi
add rdi, rbp
sub r11, 1
jne 0x140054307
jmp 0x140054bd0
cmp al, 0x10
jne 0x140054514
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x1221f4], 0
je 0x14005449f
movzx eax, byte [r12 + 0x121db6]
mov rcx, r8
mov edx, dword [rsp + 0x80]
sub al, 4
add al, byte [r12 + 0x121db2]
movzx esi, al
movzx eax, byte [r12 + 0x121db5]
sub al, 4
mov qword [rsp + 0xb8], rcx
add al, byte [r12 + 0x121db1]
movzx ebp, al
movzx eax, byte [r12 + 0x121db4]
sub al, 4
add al, byte [r12 + 0x121db0]
movzx r14d, al
movzx eax, byte [r12 + 0x121db7]
sub al, 4
add al, byte [r12 + 0x121db3]
mov r12d, dword [rsp + 0x50]
movzx r15d, al
mov eax, r10d
mov qword [rsp + 0x110], rax
nop dword [rax]
test edx, edx
je 0x14005447a
mov r9, rbx
mov r11d, edx
mov ebx, 0xffff
mov r10, rdi
movzx eax, byte [r9]
cmp al, 0x10
jne 0x140054414
movzx r8d, bx
jmp 0x14005444a
test al, al
je 0x140054447
movzx r8d, ax
movzx edx, ax
mov ecx, esi
shl r8w, cl
mov ecx, ebp
shl ax, cl
mov ecx, r14d
or r8w, ax
movzx eax, dx
shl ax, cl
mov ecx, r15d
shl dx, cl
or r8w, ax
or r8w, dx
jmp 0x14005444a
mov r8d, r13d
mov word [r10], r8w
inc r9
add r10, 2
sub r11, 1
jne 0x140054406
mov rbx, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xb8]
mov edx, dword [rsp + 0x80]
add rbx, rax
add rdi, rcx
mov qword [rsp + 0x1c0], rbx
sub r12, 1
jne 0x1400543f0
mov r12, qword [rsp + 0x88]
jmp 0x140054bd0
mov esi, dword [rsp + 0x50]
mov r14, r8
mov ebp, r10d
nop dword [rax]
test r15d, r15d
je 0x140054503
mov r8, rbx
mov r9, rdi
mov r11, r15
nop
movzx r10d, byte [r8]
test r10b, r10b
je 0x1400544ef
movzx eax, byte [r12 + 0x121db3]
movzx ecx, byte [r12 + 0x121db7]
add ecx, 0xfffffffc
add ecx, eax
movzx eax, r10w
shl ax, cl
dec ax
or ax, dx
jmp 0x1400544f2
movzx eax, dx
mov word [r9], ax
inc r8
add r9, 2
sub r11, 1
jne 0x1400544c0
add rbx, rbp
add rdi, r14
sub rsi, 1
jne 0x1400544b0
jmp 0x140054bd0
cmp al, 0x20
jne 0x140054bd0
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x1221f4], 0
je 0x14005463c
movzx eax, byte [r12 + 0x121db6]
mov rcx, r8
mov edx, dword [rsp + 0x80]
sub al, 4
add al, byte [r12 + 0x121db2]
movzx esi, al
movzx eax, byte [r12 + 0x121db5]
sub al, 4
mov qword [rsp + 0xb8], rcx
add al, byte [r12 + 0x121db1]
movzx ebp, al
movzx eax, byte [r12 + 0x121db4]
sub al, 4
add al, byte [r12 + 0x121db0]
movzx r14d, al
movzx eax, byte [r12 + 0x121db7]
sub al, 4
add al, byte [r12 + 0x121db3]
mov r12d, dword [rsp + 0x50]
movzx r15d, al
mov eax, r10d
mov qword [rsp + 0x110], rax
nop
test edx, edx
je 0x140054623
mov r9, rbx
mov r11d, edx
mov r10, rdi
nop dword [rax]
movzx eax, byte [r9]
cmp al, 0x10
jne 0x1400545d0
mov r8d, 0xffffffff
jmp 0x1400545fc
test al, al
je 0x1400545f9
mov r8d, eax
mov edx, eax
mov ecx, esi
shl r8d, cl
mov ecx, ebp
shl eax, cl
mov ecx, r14d
or r8d, eax
mov eax, edx
shl eax, cl
mov ecx, r15d
shl edx, cl
or r8d, eax
or r8d, edx
jmp 0x1400545fc
mov r8d, r13d
mov dword [r10], r8d
inc r9
add r10, 4
sub r11, 1
jne 0x1400545c0
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xb8]
mov edx, dword [rsp + 0x80]
add rbx, rax
add rdi, rcx
sub r12, 1
jne 0x1400545b0
mov r12, qword [rsp + 0x88]
jmp 0x140054bd0
mov esi, dword [rsp + 0x50]
mov r14, r8
mov ebp, r10d
test r15d, r15d
je 0x140054691
mov r8, rbx
mov r9, rdi
mov r11, r15
movzx r10d, byte [r8]
test r10b, r10b
je 0x14005467f
movzx eax, byte [r12 + 0x121db3]
movzx ecx, byte [r12 + 0x121db7]
add eax, 0xfffffffc
add ecx, eax
mov eax, r10d
shl eax, cl
dec eax
or eax, edx
jmp 0x140054681
mov eax, edx
mov dword [r9], eax
inc r8
add r9, 4
sub r11, 1
jne 0x140054654
add rbx, rbp
add rdi, r14
sub rsi, 1
jne 0x140054646
jmp 0x140054bd0
movzx eax, byte [r12 + 0x121dad]
cmp al, 8
jne 0x1400548bf
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x121dcc], 0xf
mov rsi, r8
mov r11d, r10d
mov r10, rbp
jne 0x1400547cf
mov edx, r13d
test r15d, r15d
je 0x1400547ba
cmp r15d, 0x40
jb 0x140054780
lea eax, [r15 - 1]
lea r8, [rdi + rax]
add rax, rbx
cmp rdi, rax
ja 0x140054702
cmp r8, rbx
jae 0x140054780
mov r9d, r15d
and r9d, 0xffffffc0
movdqa xmm2, xmmword [0x14013c200]
xorps xmm1, xmm1
mov r8d, 0x20
nop word [rax + rax]
movdqu xmm0, xmmword [rdx + rbx]
lea eax, [r8 - 0x10]
pcmpeqb xmm0, xmm1
andnps xmm0, xmm2
movdqu xmmword [rdi + rdx], xmm0
add edx, 0x40
movdqu xmm0, xmmword [rax + rbx]
pcmpeqb xmm0, xmm1
andnps xmm0, xmm2
movdqu xmmword [rdi + rax], xmm0
mov eax, r8d
movdqu xmm0, xmmword [rax + rbx]
pcmpeqb xmm0, xmm1
andnps xmm0, xmm2
movdqu xmmword [rdi + rax], xmm0
lea eax, [r8 + 0x10]
add r8d, 0x40
movdqu xmm0, xmmword [rax + rbx]
pcmpeqb xmm0, xmm1
andnps xmm0, xmm2
movdqu xmmword [rdi + rax], xmm0
cmp edx, r9d
jb 0x140054720
cmp edx, r15d
jae 0x1400547ba
mov r8d, edx
mov r9, rbx
add r8, rdi
sub r9, rdi
mov eax, r15d
sub eax, edx
mov edx, eax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r9 + r8]
lea r8, [r8 + 1]
neg al
sbb cl, cl
and cl, 0xf
mov byte [r8 - 1], cl
sub rdx, 1
jne 0x1400547a0
add rbx, r11
add rdi, rsi
sub r10, 1
jne 0x1400546d3
jmp 0x140054bd0
movdqa xmm2, xmmword [0x14012f430]
nop word [rax + rax]
mov edx, r13d
test r15d, r15d
je 0x1400548aa
cmp r15d, 0x40
jb 0x140054880
lea eax, [r15 - 1]
lea r8, [rdi + rax]
add rax, rbx
cmp rdi, rax
ja 0x14005480b
cmp r8, rbx
jae 0x140054880
mov r9d, r15d
and r9d, 0xffffffc0
xorps xmm1, xmm1
mov r8d, 0x20
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx + rbx]
lea eax, [r8 - 0x10]
pcmpeqb xmm0, xmm1
andnps xmm0, xmm2
movdqu xmmword [rdi + rdx], xmm0
add edx, 0x40
movdqu xmm0, xmmword [rax + rbx]
pcmpeqb xmm0, xmm1
andnps xmm0, xmm2
movdqu xmmword [rdi + rax], xmm0
mov eax, r8d
movdqu xmm0, xmmword [rax + rbx]
pcmpeqb xmm0, xmm1
andnps xmm0, xmm2
movdqu xmmword [rdi + rax], xmm0
lea eax, [r8 + 0x10]
add r8d, 0x40
movdqu xmm0, xmmword [rax + rbx]
pcmpeqb xmm0, xmm1
andnps xmm0, xmm2
movdqu xmmword [rdi + rax], xmm0
cmp edx, r9d
jb 0x140054820
cmp edx, r15d
jae 0x1400548aa
mov r8d, edx
mov r9, rbx
add r8, rdi
sub r9, rdi
mov eax, r15d
sub eax, edx
mov edx, eax
movzx eax, byte [r9 + r8]
lea r8, [r8 + 1]
neg al
sbb cl, cl
mov byte [r8 - 1], cl
sub rdx, 1
jne 0x140054893
add rbx, r11
add rdi, rsi
sub r10, 1
jne 0x1400547e0
jmp 0x140054bd0
cmp al, 0x10
jne 0x14005497e
movzx r11d, dx
or r11w, word [r12 + 0x121dc4]
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x1221f4], 0
je 0x14005492f
mov rsi, r8
mov r9, rbp
nop dword [rax]
test r15d, r15d
je 0x14005491e
mov rax, rbx
mov rcx, rdi
mov r8, r15
nop
cmp byte [rax], 0
je 0x14005490b
movzx edx, r11w
jmp 0x14005490e
mov edx, r13d
mov word [rcx], dx
inc rax
add rcx, 2
sub r8, 1
jne 0x140054900
add rbx, r10
add rdi, rsi
sub r9, 1
jne 0x1400548f0
jmp 0x140054bd0
mov esi, r10d
mov rbp, r8
mov r10d, dword [rsp + 0x50]
nop word [rax + rax]
test r15d, r15d
je 0x14005496d
mov rax, rbx
mov rcx, rdi
mov r9, r15
nop
cmp byte [rax], 0
movzx r8d, r11w
jne 0x14005495c
mov r8d, edx
mov word [rcx], r8w
inc rax
add rcx, 2
sub r9, 1
jne 0x140054950
add rbx, rsi
add rdi, rbp
sub r10, 1
jne 0x140054940
jmp 0x140054bd0
cmp al, 0x20
jne 0x140054bd0
mov r11d, edx
or r11d, dword [r12 + 0x121dc4]
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x1221f4], 0
je 0x1400549ec
mov rsi, r8
mov r9, rbp
nop word [rax + rax]
test r15d, r15d
je 0x1400549db
mov rcx, rbx
mov rdx, rdi
mov r8, r15
nop
cmp byte [rcx], 0
lea rdx, [rdx + 4]
mov eax, r13d
lea rcx, [rcx + 1]
cmovne eax, r11d
mov dword [rdx - 4], eax
sub r8, 1
jne 0x1400549c0
add rbx, r10
add rdi, rsi
sub r9, 1
jne 0x1400549b0
jmp 0x140054bd0
mov esi, r10d
mov rbp, r8
mov r10d, dword [rsp + 0x50]
test r15d, r15d
je 0x140054a2b
mov rcx, rbx
mov r8, rdi
mov r9, r15
nop word [rax + rax]
cmp byte [rcx], 0
lea r8, [r8 + 4]
mov eax, edx
lea rcx, [rcx + 1]
cmovne eax, r11d
mov dword [r8 - 4], eax
sub r9, 1
jne 0x140054a10
add rbx, rsi
add rdi, rbp
sub r10, 1
jne 0x1400549f7
jmp 0x140054bd0
cmp byte [r12 + 0x121dad], 8
jne 0x140054af9
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x121dcc], 0xf
mov rsi, r8
mov r11d, r10d
mov r10, rbp
jne 0x140054ab0
mov edx, r13d
test r15d, r15d
je 0x140054a9f
mov r9, rdi
mov r8, r13
test dl, 7
jne 0x140054a85
mov rax, r8
shr rax, 3
movzx ecx, byte [rax + rbx]
movzx eax, cl
inc edx
sar al, 7
inc r8
and al, 0xf
add cl, cl
mov byte [r9], al
inc r9
cmp edx, r15d
jb 0x140054a75
add rbx, r11
add rdi, rsi
sub r10, 1
jne 0x140054a67
jmp 0x140054bd0
mov edx, r13d
test r15d, r15d
je 0x140054ae8
mov r9, rdi
mov r8, r13
nop
test dl, 7
jne 0x140054ad0
mov rax, r8
shr rax, 3
movzx ecx, byte [rax + rbx]
movzx eax, cl
inc edx
sar al, 7
inc r8
mov byte [r9], al
add cl, cl
inc r9
cmp edx, r15d
jb 0x140054ac0
add rbx, r11
add rdi, rsi
sub r10, 1
jne 0x140054ab0
jmp 0x140054bd0
test ebp, ebp
je 0x140054bd0
cmp dword [r12 + 0x1221f4], 0
je 0x140054b6e
mov r11d, dword [rsp + 0x50]
mov rbp, r8
mov esi, r10d
mov r8d, r13d
test r15d, r15d
je 0x140054b60
mov r9, r13
mov r10, rdi
test r8b, 7
jne 0x140054b36
mov rax, r9
shr rax, 3
movzx ecx, byte [rax + rbx]
test cl, cl
jns 0x140054b48
movzx eax, dx
or ax, word [r12 + 0x121dc4]
jmp 0x140054b4b
mov eax, r13d
mov word [r10], ax
inc r8d
add r10, 2
inc r9
add cl, cl
cmp r8d, r15d
jb 0x140054b25
add rbx, rsi
add rdi, rbp
sub r11, 1
jne 0x140054b17
jmp 0x140054bd0
mov esi, dword [rsp + 0x50]
mov r14, r8
mov ebp, r10d
mov r8d, r13d
test r15d, r15d
je 0x140054bc4
mov r9, r13
mov r10, rdi
test r8b, 7
jne 0x140054b97
mov rax, r9
shr rax, 3
movzx ecx, byte [rax + rbx]
test cl, cl
jns 0x140054ba5
mov r11d, dword [r12 + 0x121dc4]
jmp 0x140054ba8
mov r11d, r13d
movzx eax, dx
inc r8d
or ax, r11w
inc r9
mov word [r10], ax
add cl, cl
add r10, 2
cmp r8d, r15d
jb 0x140054b86
add rbx, rbp
add rdi, r14
sub rsi, 1
jne 0x140054b78
cmp dword [rsp + 0x1f8], 0
je 0x140058d6d
movzx ecx, word [r12 + 0x1218d6]
mov r8d, dword [rsp + 0xb0]
mov edx, dword [rsp + 0xd0]
lea eax, [r8 - 1]
mov dword [rsp + 0x110], eax
lea eax, [rdx - 1]
mov dword [rsp + 0x114], eax
lea eax, [r8 - 1]
add eax, ecx
mov dword [rsp + 0x118], eax
lea eax, [rdx - 1]
add eax, ecx
lea rdx, [rsp + 0x110]
mov rcx, r12
mov dword [rsp + 0x11c], eax
call fcn.140058eb0
jmp 0x140058d6d
mov rcx, qword [rsp + 0x88]
lea r9, [r9 + 0x172d5f]
movsxd rdi, dword [rsp + 0x80]
xor r12b, r12b
mov qword [rsp + 0x70], rdi
movsxd r8, dword [rcx + 0x121920]
movsxd r15, dword [rcx + 0x121d58]
mov rbp, qword [rcx + 0x121d60]
imul rax, r8, 0x51
mov dword [rsp + 0x84], r8d
add r9, rax
mov qword [rsp + 0x68], r8
mov qword [rsp + 0xa8], r9
mov dword [rsp + 0x54], r15d
test r11d, r11d
jne 0x1400556f6
movsxd r9, dword [rcx + 0x11dbf0]
mov rsi, r9
sub edx, 1
je 0x1400550ee
sub edx, 2
je 0x140054cbd
sub edx, 0x10
je 0x140054cbd
cmp edx, 0x10
jne 0x140058d65
cmp r14d, 6
jne 0x140055135
movsxd rcx, dword [rsp + 0xc8]
mov eax, dword [rsp + 0xd0]
mov r12, qword [rsp + 0x88]
add eax, ecx
movsxd rdx, dword [rsp + 0xb0]
imul eax, r9d
movsxd r11, eax
add r11, qword [r12 + 0x11dbe8]
add r11, rdx
add r11, rcx
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x140058d6d
cmp r8d, 1
jne 0x140054e0e
mov r13d, r10d
mov ebp, ecx
nop dword [rax + rax]
test rdi, rdi
je 0x140054df1
mov r10, qword [rsp + 0x70]
lea rdx, [rsi + r11]
mov r14, rsi
mov r15d, 1
neg r14
mov rdi, rbx
add r14, r14
sub r15, rsi
mov r12, rsi
sub rdi, rsi
sub rdi, r11
not r12
movzx eax, byte [rdx + rdi]
test al, al
je 0x140054ddf
lea ecx, [rax - 1]
mov rax, rdx
sub rax, rsi
or byte [rax], cl
movzx r8d, byte [r14 + rdx]
shl ecx, 4
mov eax, r8d
and eax, 0xf0
movzx r9d, cl
cmp eax, ecx
jge 0x140054d8d
and r8b, 0xf
or r8b, cl
mov byte [r14 + rdx], r8b
movzx r8d, byte [rdx]
mov eax, r8d
and eax, 0xf0
cmp eax, ecx
jge 0x140054da7
and r8b, 0xf
or r8b, r9b
mov byte [rdx], r8b
movzx r8d, byte [r15 + rdx]
mov eax, r8d
and eax, 0xf0
cmp eax, ecx
jge 0x140054dc3
and r8b, 0xf
or r8b, r9b
mov byte [r15 + rdx], r8b
movzx r8d, byte [r12 + rdx]
mov eax, r8d
and eax, 0xf0
cmp eax, ecx
jge 0x140054ddf
and r8b, 0xf
or r8b, r9b
mov byte [r12 + rdx], r8b
inc rdx
sub r10, 1
jne 0x140054d53
mov rdi, qword [rsp + 0x70]
add rbx, r13
add r11, rsi
sub rbp, 1
jne 0x140054d20
mov r12, qword [rsp + 0x88]
jmp 0x140058d6d
mov eax, r10d
cmp r8d, 4
jg 0x140054f75
mov qword [rsp + 0x60], rax
mov r15, r11
mov rax, rcx
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsp + 0x60]
neg r15
test rdi, rdi
je 0x140054f3f
mov rax, rbx
mov rbp, r11
mov rbx, qword [rsp + 0xa8]
sub rax, r11
mov qword [rsp + 0x110], rax
nop dword [rax + rax]
movzx eax, byte [rax + rbp]
test al, al
je 0x140054f0c
lea r9d, [rax - 1]
mov ecx, r8d
or byte [rbp], r9b
lea edx, [r8 + 1]
shl r9d, 4
neg ecx
cmp ecx, edx
jge 0x140054f0c
mov r12, qword [rsp + 0x68]
mov eax, ecx
imul eax, esi
neg r12
movsxd r14, edx
sub edx, ecx
movsxd rdi, eax
mov eax, edx
mov qword [rsp + 0x58], rax
mov r8, r12
cmp r12, r14
jge 0x140054eed
mov r10, rbx
sub r10, r12
add r10, r13
cmp byte [r10 + r8], 0
je 0x140054ee0
lea rcx, [r8 + r11]
add rcx, r15
add rcx, rbp
movzx edx, byte [rcx + rdi]
mov eax, edx
and eax, 0xf0
cmp eax, r9d
jge 0x140054ee0
and dl, 0xf
or dl, r9b
mov byte [rcx + rdi], dl
inc r8
cmp r8, r14
jl 0x140054eb6
mov rax, qword [rsp + 0x58]
add r13, 9
add rdi, rsi
sub rax, 1
mov qword [rsp + 0x58], rax
jne 0x140054ea5
mov r8d, dword [rsp + 0x84]
mov rdi, qword [rsp + 0x70]
inc rbp
mov r13d, 0
lea rax, [r15 + rbp]
cmp rax, rdi
mov rax, qword [rsp + 0x110]
jl 0x140054e60
mov rbx, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
add rbx, rcx
add r11, rsi
sub r15, rsi
mov qword [rsp + 0x1c0], rbx
sub rax, 1
mov r13d, 0
mov qword [rsp + 0xa0], rax
jne 0x140054e36
mov r12, qword [rsp + 0x88]
jmp 0x140058d6d
mov qword [rsp + 0xa0], rax
mov r13, r11
mov rax, rcx
mov qword [rsp + 0x90], rcx
mov rcx, qword [rsp + 0xa0]
neg r13
test rdi, rdi
je 0x1400550be
mov rax, rbx
mov r14, r11
sub rax, r11
mov qword [rsp + 0xa8], rax
xor ebx, ebx
movzx eax, byte [rax + r14]
test al, al
je 0x14005508e
lea r9d, [rax - 1]
mov edx, r8d
or byte [r14], r9b
lea r10d, [r8 + 1]
shl r9d, 4
neg edx
cmp edx, r10d
jge 0x14005508e
mov rcx, qword [rsp + 0x68]
mov eax, edx
imul eax, esi
neg rcx
movsxd r12, r10d
sub r10d, edx
mov edx, r10d
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0x58], rbx
movsxd rdi, eax
mov rax, rbx
movsxd r15, r15d
mov qword [rsp + 0x60], rdx
nop dword [rax]
mov r8, rcx
cmp rcx, r12
jge 0x140055066
mov r10, rbp
sub r10, rcx
add r10, rax
cmp byte [r10 + r8], bl
je 0x14005504c
lea rcx, [r8 + r11]
add rcx, r14
add rcx, rdi
movzx edx, byte [rcx + r13]
mov eax, edx
and eax, 0xf0
cmp eax, r9d
jge 0x14005504c
and dl, 0xf
or dl, r9b
mov byte [rcx + r13], dl
inc r8
cmp r8, r12
jl 0x140055021
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
add rax, r15
add rdi, rsi
sub rdx, 1
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rdx
jne 0x140055010
mov r15d, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x84]
mov rdi, qword [rsp + 0x70]
inc r14
lea rax, [r14 + r13]
cmp rax, rdi
mov rax, qword [rsp + 0xa8]
jl 0x140054fb2
mov rbx, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
add rbx, rcx
add r11, rsi
sub r13, rsi
mov qword [rsp + 0x1c0], rbx
sub rax, 1
mov qword [rsp + 0x90], rax
jne 0x140054f96
mov r12, qword [rsp + 0x88]
jmp 0x140058d6d
mov eax, dword [rsp + 0xd0]
add eax, dword [rsp + 0xc8]
imul eax, r9d
movsxd rdx, eax
mov eax, dword [rsp + 0xb0]
add eax, dword [rsp + 0xc8]
movsxd rcx, eax
mov rax, qword [rsp + 0x88]
add rdx, rcx
add rdx, qword [rax + 0x11dbe8]
test r14d, r14d
je 0x1400553d7
cmp r14d, 5
je 0x14005513f
mov eax, 0xffffffff
jmp 0x140058e68
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x140058d6a
cmp r8d, 1
jne 0x1400551c7
mov r11d, r10d
mov r10d, ecx
test rdi, rdi
je 0x1400551ae
mov r9, rsi
lea rax, [rdx + 1]
mov r8, rbx
not r9
sub r8, rdx
mov rcx, rdi
nop
cmp byte [rax + r8 - 1], r12b
je 0x1400551a5
cmp byte [rax - 2], 1
mov byte [rax - 1], 1
je 0x140055185
mov byte [rax - 2], 2
cmp byte [rax], 1
je 0x14005518d
mov byte [rax], 2
cmp byte [r9 + rax], 1
je 0x140055199
mov byte [r9 + rax], 2
cmp byte [rsi + rax - 1], 1
je 0x1400551a5
mov byte [rsi + rax - 1], 2
inc rax
sub rcx, 1
jne 0x140055170
add rbx, r11
add rdx, rsi
sub r10, 1
jne 0x140055157
mov r12, qword [rsp + 0x88]
jmp 0x140058d6d
mov eax, r10d
cmp r8d, 4
jg 0x1400552cd
mov qword [rsp + 0x110], rax
mov r12, rcx
mov qword [rsp + 0x58], rcx
mov r11, r13
test rdi, rdi
je 0x1400552a3
mov r15, rbx
mov r12d, esi
mov rbx, qword [rsp + 0xa8]
sub r15, rdx
lea rax, [r11 + rdx]
cmp byte [rax + r15], 0
je 0x140055282
mov ecx, r8d
mov byte [rax], 1
neg ecx
lea r14d, [r8 + 1]
cmp ecx, r14d
jge 0x140055282
mov rdi, qword [rsp + 0x68]
mov eax, ecx
imul eax, r12d
neg rdi
movsxd r10, r14d
mov rbp, r13
sub r14d, ecx
movsxd r9, eax
mov rcx, rdi
cmp rdi, r10
jge 0x140055268
mov r8, rbp
sub r8, rdi
add r8, rbx
cmp byte [r8 + rcx], 0
je 0x140055260
lea rax, [r9 + rcx]
add rax, r11
cmp byte [rax + rdx], 1
je 0x140055260
mov byte [rax + rdx], 2
inc rcx
cmp rcx, r10
jl 0x140055248
add rbp, 9
add r9, rsi
sub r14, 1
jne 0x140055237
mov r8d, dword [rsp + 0x84]
mov rdi, qword [rsp + 0x70]
inc r11
cmp r11, rdi
jl 0x140055201
mov rbx, qword [rsp + 0x1c0]
mov r12, qword [rsp + 0x58]
mov rax, qword [rsp + 0x110]
add rbx, rax
add rdx, rsi
sub r12, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x58], r12
jne 0x1400551e4
mov r12, qword [rsp + 0x88]
jmp 0x140058d6d
mov qword [rsp + 0x60], rax
mov rax, rcx
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsp + 0x60]
mov r11, r13
test rdi, rdi
je 0x1400553aa
mov rcx, rbx
mov ebx, esi
sub rcx, rdx
mov qword [rsp + 0x58], rcx
nop dword [rax + rax]
lea rax, [r11 + rdx]
cmp byte [rax + rcx], 0
je 0x140055389
mov ecx, r8d
mov byte [rax], 1
neg ecx
lea r12d, [r8 + 1]
cmp ecx, r12d
jge 0x140055384
mov rdi, qword [rsp + 0x68]
mov eax, ecx
imul eax, ebx
neg rdi
movsxd r10, r12d
mov r14, r13
sub r12d, ecx
movsxd r9, eax
mov rax, r15
mov rcx, rdi
cmp rdi, r10
jge 0x14005536b
mov r8, r14
sub r8, rdi
add r8, rbp
cmp byte [r8 + rcx], 0
je 0x140055360
lea rax, [r9 + rcx]
add rax, r11
cmp byte [rax + rdx], 1
je 0x140055360
mov byte [rax + rdx], 2
inc rcx
cmp rcx, r10
jl 0x140055348
mov rax, r15
add r14, rax
add r9, rsi
sub r12, 1
jne 0x140055337
mov r8d, dword [rsp + 0x84]
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
inc r11
cmp r11, rdi
jl 0x140055300
mov rbx, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
add rbx, rcx
add rdx, rsi
sub rax, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0xa0], rax
jne 0x1400552e2
mov r12, qword [rsp + 0x88]
jmp 0x140058d6d
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x140058d6a
cmp r8d, 1
jne 0x140055490
mov rax, qword [rsp + 0x70]
mov r11d, ecx
mov edi, r10d
mov r8d, r13d
test rax, rax
je 0x140055473
mov r10, rsi
lea rcx, [rdx + 1]
not r10
mov r9, rax
nop dword [rax]
test r8b, 7
jne 0x14005542c
mov eax, r8d
test r8d, r8d
jns 0x140055422
lea eax, [r8 + 7]
sar eax, 3
cdqe
movzx r12d, byte [rax + rbx]
test r12b, r12b
jns 0x14005545f
cmp byte [rcx - 2], 1
mov byte [rcx - 1], 1
je 0x14005543f
mov byte [rcx - 2], 2
cmp byte [rcx], 1
je 0x140055447
mov byte [rcx], 2
cmp byte [r10 + rcx], 1
je 0x140055453
mov byte [r10 + rcx], 2
cmp byte [rsi + rcx - 1], 1
je 0x14005545f
mov byte [rsi + rcx - 1], 2
inc r8d
inc rcx
add r12b, r12b
sub r9, 1
jne 0x140055410
mov rax, qword [rsp + 0x70]
add rbx, rdi
add rdx, rsi
sub r11, 1
jne 0x1400553f8
mov r12, qword [rsp + 0x88]
jmp 0x140058d6d
mov eax, r10d
cmp r8d, 4
jg 0x1400555ac
mov qword [rsp + 0x58], rax
mov rax, rcx
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x58]
nop
mov r15d, r13d
mov r11, r13
test rdi, rdi
je 0x140055582
nop
test r15b, 7
jne 0x1400554d2
mov eax, r15d
shr rax, 3
movzx r12d, byte [rax + rbx]
test r12b, r12b
jns 0x140055566
mov ecx, r8d
mov byte [rdx + r11], 1
neg ecx
lea r14d, [r8 + 1]
cmp ecx, r14d
jge 0x140055566
mov rdi, qword [rsp + 0x68]
mov eax, ecx
mov rbx, qword [rsp + 0xa8]
neg rdi
imul eax, r9d
mov rbp, r13
movsxd r10, r14d
sub r14d, ecx
movsxd r9, eax
mov rcx, rdi
cmp rdi, r10
jge 0x140055541
mov r8, rbp
sub r8, rdi
add r8, rbx
cmp byte [r8 + rcx], 0
je 0x140055539
lea rax, [r9 + rcx]
add rax, r11
cmp byte [rax + rdx], 1
je 0x140055539
mov byte [rax + rdx], 2
inc rcx
cmp rcx, r10
jl 0x140055521
add rbp, 9
add r9, rsi
sub r14, 1
jne 0x140055510
mov rbx, qword [rsp + 0x1c0]
mov r9d, esi
mov r8d, dword [rsp + 0x84]
mov rdi, qword [rsp + 0x70]
inc r15d
inc r11
add r12b, r12b
cmp r11, rdi
jl 0x1400554c0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
add rbx, rcx
add rdx, rsi
sub rax, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x60], rax
jne 0x1400554b0
mov r12, qword [rsp + 0x88]
jmp 0x140058d6d
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x60], rcx
nop dword [rax]
mov eax, r13d
mov r11, r13
mov dword [rsp + 0x9c], eax
test rdi, rdi
je 0x1400556cf
test al, 7
jne 0x1400555ea
shr rax, 3
movzx r12d, byte [rax + rbx]
mov eax, dword [rsp + 0x9c]
test r12b, r12b
jns 0x1400556b2
lea eax, [r8 + 1]
mov byte [rdx + r11], 1
mov ecx, r8d
mov dword [rsp + 0x90], eax
neg ecx
cmp ecx, eax
jge 0x1400556ab
mov rdi, qword [rsp + 0x68]
mov r14, r13
movsxd r10, eax
neg rdi
mov eax, ecx
imul eax, r9d
movsxd r9, eax
movsxd rax, r15d
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0x90]
mov r15, qword [rsp + 0x110]
sub eax, ecx
mov qword [rsp + 0x58], rax
mov rcx, rdi
cmp rdi, r10
jge 0x140055685
mov r8, r14
sub r8, rdi
add r8, rbp
nop dword [rax]
cmp byte [r8 + rcx], 0
je 0x140055678
lea rax, [r9 + rcx]
add rax, r11
cmp byte [rax + rdx], 1
je 0x140055678
mov byte [rax + rdx], 2
inc rcx
cmp rcx, r10
jl 0x140055660
mov rax, qword [rsp + 0x58]
add r14, r15
add r9, rsi
sub rax, 1
mov qword [rsp + 0x58], rax
jne 0x140055648
mov r15d, dword [rsp + 0x54]
mov r9d, esi
mov r8d, dword [rsp + 0x84]
mov rdi, qword [rsp + 0x70]
mov eax, dword [rsp + 0x9c]
inc eax
inc r11
add r12b, r12b
mov dword [rsp + 0x9c], eax
cmp r11, rdi
jl 0x1400555d6
mov rcx, qword [rsp + 0x60]
add rbx, qword [rsp + 0xb8]
add rdx, rsi
sub rcx, 1
mov qword [rsp + 0x60], rcx
jne 0x1400555c0
mov r12, qword [rsp + 0x88]
jmp 0x140058d6d
movsxd r11, dword [rcx + 0x1221d8]
mov r12, rcx
movzx ecx, byte [rcx + 0x121dac]
xor r14b, r14b
mov edx, dword [rsp + 0xc8]
mov rdi, r11
mov eax, dword [rsp + 0xb0]
add eax, edx
mov byte [rsp + 0x78], r14b
imul ecx, eax
lea eax, [rsi + rdx]
imul eax, r11d
movsxd rcx, ecx
cdqe
add rcx, rax
mov eax, dword [r12 + 0x1221d0]
add rcx, qword [r12 + 0x1221e0]
cdq
sub eax, edx
mov qword [rsp + 0xa0], rcx
mov edx, dword [rsp + 0x1b8]
sar eax, 1
mov esi, eax
mov eax, dword [r12 + 0x121dc0]
or eax, dword [r12 + 0x121dbc]
or eax, dword [r12 + 0x121db8]
mov dword [rsp + 0xc4], eax
or eax, dword [r12 + 0x121dc4]
mov dword [rsp + 0xc0], eax
mov rax, rcx
mov dword [rsp + 0x98], esi
test edx, edx
je 0x1400583f0
sub edx, 5
je 0x140057b5e
sub edx, 1
je 0x140056e7c
sub edx, 1
je 0x1400562a1
cmp edx, 1
jne 0x140054bd0
movzx ecx, byte [r12 + 0x121dad]
mov r11d, dword [rsp + 0x50]
cmp r8d, edx
jne 0x140055ab6
test r11d, r11d
je 0x14005607a
mov rdx, qword [rsp + 0x70]
cmp cl, 8
mov ecx, r10d
mov r12d, r11d
jne 0x14005596b
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x58], r11
nop
mov rbp, r13
test rdx, rdx
je 0x140055949
mov r15, rbx
mov r10d, esi
mov rbx, qword [rsp + 0x70]
sub r15, rax
mov r12d, 0xff
lea rcx, [rax + rbp]
movzx r11d, byte [rcx + r15]
lea r14d, [r10 + 1]
test r11d, r11d
je 0x140055920
mov byte [rcx], r11b
mov r8, rax
sub r8, rdi
mov r9d, r10d
mov ecx, r12d
movzx edx, byte [r8 + r9]
sub ecx, edx
imul ecx, r11d
shr ecx, 8
add cl, dl
mov byte [r8 + r9], cl
lea r8, [rax + rdi]
movzx edx, byte [r8 + r9]
mov ecx, r12d
sub ecx, edx
imul ecx, r11d
shr ecx, 8
add cl, dl
mov byte [r8 + r9], cl
mov ecx, r12d
lea r8, [rax + rsi]
add r8, rbp
movzx edx, byte [r8 - 1]
sub ecx, edx
imul ecx, r11d
shr ecx, 8
add cl, dl
movzx edx, byte [r8 + 1]
mov byte [r8 - 1], cl
mov ecx, r12d
sub ecx, edx
imul ecx, r11d
shr ecx, 8
add cl, dl
mov byte [r8 + 1], cl
lea ecx, [r10 - 1]
mov r10d, ecx
mov r8, rax
sub r8, rdi
movzx edx, byte [r8 + rcx]
mov ecx, r12d
sub ecx, edx
imul ecx, r11d
shr ecx, 8
add cl, dl
mov byte [r8 + r10], cl
mov r8, rax
sub r8, rdi
mov ecx, r12d
movzx edx, byte [r8 + r14]
sub ecx, edx
imul ecx, r11d
shr ecx, 8
add cl, dl
mov byte [r8 + r14], cl
lea r8, [rax + rdi]
movzx edx, byte [r8 + r10]
mov ecx, r12d
sub ecx, edx
imul ecx, r11d
shr ecx, 8
add cl, dl
mov byte [r8 + r10], cl
lea r8, [rax + rdi]
movzx edx, byte [r8 + r14]
mov ecx, r12d
sub ecx, edx
imul ecx, r11d
shr ecx, 8
add cl, dl
mov byte [r8 + r14], cl
inc rbp
mov r10d, r14d
cmp rbp, rbx
jl 0x140055820
mov rbx, qword [rsp + 0x1c0]
mov r12, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x70]
add rbx, rcx
add rax, rdi
sub r12, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x58], r12
jne 0x140055800
jmp 0x14005606d
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x58], r11
nop dword [rax + rax]
mov r14, r13
test rdx, rdx
je 0x140055a9c
mov rcx, qword [rsp + 0x70]
mov r15d, esi
mov r12d, 0xff
nop word [rax + rax]
movzx ebp, byte [rbx + r14]
test ebp, ebp
je 0x140055a7b
mov dword [rax + r14*4], ebp
lea rcx, [r14 + rsi]
lea r11d, [r15*4]
mov r8, rax
sub r8, rdi
mov edx, r12d
sub edx, dword [r8 + r11]
imul edx, ebp
shr edx, 8
add dword [r8 + r11], edx
lea r8, [rax + rdi]
mov edx, r12d
sub edx, dword [r8 + r11]
imul edx, ebp
shr edx, 8
add dword [r8 + r11], edx
lea r8, [rax + rcx*4]
lea ecx, [r15*4 - 4]
mov edx, r12d
sub edx, dword [r8 - 4]
imul edx, ebp
mov r10d, ecx
shr edx, 8
add dword [r8 - 4], edx
mov edx, r12d
sub edx, dword [r8 + 4]
imul edx, ebp
shr edx, 8
add dword [r8 + 4], edx
mov r8, rax
sub r8, rdi
mov edx, r12d
sub edx, dword [r8 + rcx]
imul edx, ebp
shr edx, 8
add dword [r8 + rcx], edx
lea ecx, [r11 + 4]
mov r8, rax
mov edx, r12d
sub r8, rdi
sub edx, dword [r8 + rcx]
imul edx, ebp
shr edx, 8
add dword [r8 + rcx], edx
lea r8, [rax + rdi]
mov edx, r12d
sub edx, dword [r8 + r10]
imul edx, ebp
shr edx, 8
add dword [r8 + r10], edx
lea r8, [rax + rdi]
mov edx, r12d
sub edx, dword [r8 + rcx]
imul edx, ebp
shr edx, 8
add dword [r8 + rcx], edx
mov rcx, qword [rsp + 0x70]
inc r15d
inc r14
cmp r14, rcx
jl 0x1400559a0
mov r12, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x70]
add rbx, rcx
add rax, rdi
sub r12, 1
mov qword [rsp + 0x58], r12
jne 0x140055980
jmp 0x14005606d
test r11d, r11d
je 0x14005607a
cmp r8d, 4
jg 0x140055d92
cmp cl, 8
mov ecx, r10d
jne 0x140055c44
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xb8], rcx
mov rcx, r11
mov qword [rsp + 0x90], rcx
nop dword [rax]
mov dword [rsp + 0x9c], r13d
mov r10d, r13d
test rdx, rdx
je 0x140055c1a
mov r11, rbx
mov qword [rsp + 0x60], rax
sub r11, rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x110], r11
mov rcx, rax
nop
movzx r14d, byte [rcx + r11]
test r14d, r14d
je 0x140055be3
mov r15d, r8d
mov byte [rcx], r14b
neg r15d
lea ebx, [r8 + 1]
cmp r15d, ebx
jge 0x140055be3
mov edx, ebx
mov ecx, r15d
imul ecx, edi
mov r12, r9
sub edx, r15d
mov qword [rsp + 0x58], rdx
movsxd rbp, ecx
nop word [rax + rax]
lea r9d, [rsi + r15]
mov r11d, ebx
add r9d, r10d
mov esi, 0xff
sub r11d, r15d
mov r10, r12
cmp byte [r10], 0
je 0x140055b97
mov r8d, r9d
mov ecx, esi
add r8, rax
movzx edx, byte [r8 + rbp]
sub ecx, edx
imul ecx, r14d
shr ecx, 8
add cl, dl
mov byte [r8 + rbp], cl
inc r10
inc r9d
sub r11, 1
jne 0x140055b75
mov esi, dword [rsp + 0x98]
add r12, 9
mov r10d, dword [rsp + 0x9c]
add rbp, rdi
sub qword [rsp + 0x58], 1
jne 0x140055b60
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x68]
mov r11, qword [rsp + 0x110]
inc r10d
inc rcx
sub rdx, 1
mov dword [rsp + 0x9c], r10d
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
jne 0x140055b20
mov rbx, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x90]
add rbx, qword [rsp + 0xb8]
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x90], rcx
jne 0x140055af0
jmp 0x14005606d
mov qword [rsp + 0x110], rcx
mov rcx, r11
mov r11, qword [rsp + 0x70]
mov qword [rsp + 0x68], rcx
nop dword [rax]
mov dword [rsp + 0x9c], r13d
mov rdx, r13
mov qword [rsp + 0x60], rdx
mov r10d, r13d
test r11, r11
je 0x140055d6b
nop dword [rax]
movzx r14d, byte [rbx + rdx]
test r14d, r14d
je 0x140055d4a
lea ecx, [r8 + 1]
mov dword [rax + rdx*4], r14d
mov r15d, r8d
mov dword [rsp + 0x90], ecx
neg r15d
cmp r15d, ecx
jge 0x140055d4a
mov ebx, dword [rsp + 0x90]
mov ecx, r15d
imul ecx, edi
mov edx, ebx
sub edx, r15d
mov r12, r9
mov qword [rsp + 0x58], rdx
movsxd rbp, ecx
nop dword [rax]
lea r9d, [rsi + r15]
mov r11d, ebx
add r9d, r10d
mov r10, r12
sub r11d, r15d
cmp byte [r10], 0
je 0x140055d05
lea r8d, [r9*4]
mov edx, 0xff
add r8, rbp
sub edx, dword [r8 + rax]
imul edx, r14d
shr edx, 8
add dword [r8 + rax], edx
inc r10
inc r9d
sub r11, 1
jne 0x140055ce0
mov r10d, dword [rsp + 0x9c]
add r12, 9
add rbp, rdi
sub qword [rsp + 0x58], 1
jne 0x140055cd0
mov rbx, qword [rsp + 0x1c0]
mov r8d, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x60]
mov r9, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x70]
inc r10d
inc rdx
mov dword [rsp + 0x9c], r10d
mov qword [rsp + 0x60], rdx
cmp rdx, r11
jl 0x140055c80
mov rcx, qword [rsp + 0x68]
add rbx, qword [rsp + 0x110]
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x68], rcx
jne 0x140055c60
jmp 0x14005606d
mov rdx, qword [rsp + 0x70]
cmp cl, 8
mov ecx, r10d
jne 0x140055f33
mov qword [rsp + 0xa8], rcx
mov rcx, r11
mov r9, qword [rsp + 0xa8]
mov qword [rsp + 0xd8], rcx
nop
mov dword [rsp + 0x9c], r13d
mov r10d, r13d
test rdx, rdx
je 0x140055f0e
mov r9, rbx
mov qword [rsp + 0x60], rax
sub r9, rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x110], r9
xor ebx, ebx
mov rcx, rax
movzx r12d, byte [r9 + rcx]
test r12d, r12d
je 0x140055ecc
lea r11d, [r8 + 1]
mov byte [rcx], r12b
mov r13d, r8d
mov dword [rsp + 0x90], r11d
neg r13d
cmp r13d, r11d
jge 0x140055ecc
mov edx, r11d
mov dword [rsp + 0xb4], ebx
mov ecx, r13d
imul ecx, edi
sub edx, r13d
mov qword [rsp + 0x58], rdx
movsxd r14, ecx
mov ecx, ebx
nop word [rax + rax]
movsxd rcx, ecx
lea r9d, [rsi + r13]
add r9d, r10d
mov r15d, 0xff
sub r11d, r13d
lea r10, [rcx + rbp]
cmp byte [r10], bl
je 0x140055e79
mov r8d, r9d
mov ecx, r15d
add r8, rax
movzx edx, byte [r8 + r14]
sub ecx, edx
imul ecx, r12d
shr ecx, 8
add cl, dl
mov byte [r8 + r14], cl
inc r9d
inc r10
sub r11, 1
jne 0x140055e57
mov ecx, dword [rsp + 0xb4]
add r14, rdi
add ecx, dword [rsp + 0x54]
sub qword [rsp + 0x58], 1
mov r11d, dword [rsp + 0x90]
mov r10d, dword [rsp + 0x9c]
mov dword [rsp + 0xb4], ecx
jne 0x140055e40
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x110]
inc r10d
inc rcx
sub rdx, 1
mov dword [rsp + 0x9c], r10d
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
jne 0x140055df1
mov rbx, qword [rsp + 0x1c0]
xor r13d, r13d
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xa8]
add rbx, r9
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0xd8], rcx
jne 0x140055dc0
jmp 0x14005606d
mov qword [rsp + 0x110], rcx
mov r9, r11
mov qword [rsp + 0x68], r11
nop dword [rax]
nop word [rax + rax]
mov dword [rsp + 0x54], r13d
mov rcx, r13
mov qword [rsp + 0x60], rcx
mov r10d, r13d
test rdx, rdx
je 0x14005604b
nop dword [rax]
movzx r12d, byte [rbx + rcx]
test r12d, r12d
je 0x14005602a
lea r11d, [r8 + 1]
mov dword [rax + rcx*4], r12d
mov r13d, r8d
mov dword [rsp + 0x90], r11d
neg r13d
cmp r13d, r11d
jge 0x14005602a
mov edx, r11d
mov ecx, r13d
imul ecx, edi
sub edx, r13d
mov qword [rsp + 0x58], rdx
xor ebx, ebx
movsxd r14, ecx
movsxd rcx, ebx
lea r9d, [rsi + r13]
add r9d, r10d
sub r11d, r13d
lea r10, [rcx + rbp]
cmp byte [r10], 0
je 0x140055fe9
lea r8d, [r9*4]
mov edx, 0xff
add r8, rax
sub edx, dword [r8 + r14]
imul edx, r12d
shr edx, 8
add dword [r8 + r14], edx
inc r9d
inc r10
sub r11, 1
jne 0x140055fc4
mov r11d, dword [rsp + 0x90]
add r14, rdi
mov r10d, dword [rsp + 0x54]
add ebx, r15d
sub qword [rsp + 0x58], 1
jne 0x140055fb3
mov rbx, qword [rsp + 0x1c0]
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
inc r10d
inc rcx
mov dword [rsp + 0x54], r10d
mov qword [rsp + 0x60], rcx
cmp rcx, rdx
jl 0x140055f70
mov r9, qword [rsp + 0x68]
xor r13d, r13d
add rbx, qword [rsp + 0x110]
add rax, rdi
sub r9, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x68], r9
jne 0x140055f50
mov r11d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x88]
mov r8d, dword [rsp + 0xc8]
mov r14, qword [rsp + 0xa0]
movsxd rdx, edi
mov eax, edx
imul eax, r8d
movsxd rcx, eax
lea eax, [r8*4]
sub r14, rcx
movsxd rcx, eax
sub r14, rcx
cmp byte [r12 + 0x121dad], 8
jne 0x140056123
cmp dword [r12 + 0x121dcc], 0xf
jne 0x140054bd0
mov r15d, dword [rsp + 0xcc]
lea ecx, [r11 + r15]
test ecx, ecx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov r11, rdx
add eax, r15d
mov r9d, ecx
movsxd r10, eax
test r10, r10
jle 0x140056115
mov r8d, esi
mov rdx, r10
lea rcx, [r8 + r14]
nop word [rax + rax]
mov rax, rcx
sub rax, r8
shr byte [rax], 4
shr byte [rcx], 4
inc rcx
sub rdx, 1
jne 0x140056100
add r14, r11
sub r9, 1
jne 0x1400560e8
jmp 0x140054bd0
cmp dword [r12 + 0x1221f4], 0
mov r15d, dword [rsp + 0xcc]
lea ecx, [r15 + r11]
je 0x14005622b
test ecx, ecx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov rbp, rdx
add eax, r15d
mov ebx, ecx
movsxd rdi, eax
nop dword [rax + rax]
test rdi, rdi
jle 0x140056219
mov r9, r14
mov r11d, esi
mov r10, rdi
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [r9]
lea r9, [r9 + 4]
movzx ecx, byte [r12 + 0x121db6]
mov edx, r8d
shl edx, cl
mov eax, r8d
movzx ecx, byte [r12 + 0x121db4]
shl eax, cl
movzx ecx, byte [r12 + 0x121db7]
or edx, eax
mov eax, r8d
shl eax, cl
movzx ecx, byte [r12 + 0x121db5]
or edx, eax
shl r8d, cl
or edx, r8d
mov dword [r9 - 4], edx
mov r8d, dword [r9 + r11*4 - 4]
mov edx, r8d
movzx ecx, byte [r12 + 0x121db6]
mov eax, r8d
shl edx, cl
movzx ecx, byte [r12 + 0x121db4]
shl eax, cl
movzx ecx, byte [r12 + 0x121db7]
or edx, eax
mov eax, r8d
shl eax, cl
movzx ecx, byte [r12 + 0x121db5]
or edx, eax
shl r8d, cl
or edx, r8d
mov dword [r9 + r11*4 - 4], edx
sub r10, 1
jne 0x140056180
add r14, rbp
sub rbx, 1
jne 0x140056160
jmp 0x140054bd0
test ecx, ecx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov rbx, rdx
add eax, r15d
mov r10d, ecx
movsxd r11, eax
test r11, r11
jle 0x140056293
mov edi, dword [rsp + 0xc4]
mov rdx, r14
mov r9d, esi
mov r8, r11
nop dword [rax + rax]
movzx ecx, byte [r12 + 0x121db7]
mov eax, dword [rdx]
lea rdx, [rdx + 4]
shl eax, cl
or eax, edi
mov dword [rdx - 4], eax
mov eax, dword [rdx + r9*4 - 4]
movzx ecx, byte [r12 + 0x121db7]
shl eax, cl
or eax, edi
mov dword [rdx + r9*4 - 4], eax
sub r8, 1
jne 0x140056260
add r14, rbx
sub r10, 1
jne 0x140056246
jmp 0x140054bd0
movzx ecx, byte [r12 + 0x121dad]
cmp r8d, 1
jne 0x14005659c
mov r8d, dword [rsp + 0x50]
test r8d, r8d
je 0x140056b45
mov rdx, qword [rsp + 0x70]
cmp cl, 8
mov ecx, r10d
mov r12d, r8d
jne 0x140056451
mov qword [rsp + 0x110], rcx
nop
mov rbp, r13
test rdx, rdx
je 0x140056434
mov r15, rbx
mov r10d, esi
mov rbx, qword [rsp + 0x70]
sub r15, rax
nop word [rax + rax]
lea rcx, [rax + rbp]
movzx r11d, byte [rcx + r15]
lea r14d, [r10 + 1]
test r11d, r11d
je 0x140056410
mov byte [rcx], r11b
mov r8, rax
sub r8, rdi
mov r9d, r10d
mov ecx, 0x40
movzx edx, byte [r8 + r9]
sub ecx, edx
imul ecx, r11d
shr ecx, 6
add cl, dl
mov byte [r8 + r9], cl
lea r8, [rax + rdi]
movzx edx, byte [r8 + r9]
mov ecx, 0x40
sub ecx, edx
imul ecx, r11d
shr ecx, 6
add cl, dl
mov byte [r8 + r9], cl
mov ecx, 0x40
lea r8, [rax + rsi]
add r8, rbp
movzx edx, byte [r8 - 1]
sub ecx, edx
imul ecx, r11d
shr ecx, 6
add cl, dl
movzx edx, byte [r8 + 1]
mov byte [r8 - 1], cl
mov ecx, 0x40
sub ecx, edx
imul ecx, r11d
shr ecx, 6
add cl, dl
mov byte [r8 + 1], cl
lea ecx, [r10 - 1]
mov r10d, ecx
mov r8, rax
sub r8, rdi
movzx edx, byte [r8 + rcx]
mov ecx, 0x40
sub ecx, edx
imul ecx, r11d
shr ecx, 6
add cl, dl
mov byte [r8 + r10], cl
mov r8, rax
sub r8, rdi
mov ecx, 0x40
movzx edx, byte [r8 + r14]
sub ecx, edx
imul ecx, r11d
shr ecx, 6
add cl, dl
mov byte [r8 + r14], cl
lea r8, [rax + rdi]
movzx edx, byte [r8 + r10]
mov ecx, 0x40
sub ecx, edx
imul ecx, r11d
shr ecx, 6
add cl, dl
mov byte [r8 + r10], cl
lea r8, [rax + rdi]
movzx edx, byte [r8 + r14]
mov ecx, 0x40
sub ecx, edx
imul ecx, r11d
shr ecx, 6
add cl, dl
mov byte [r8 + r14], cl
inc rbp
mov r10d, r14d
cmp rbp, rbx
jl 0x140056300
mov rbx, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x70]
add rbx, rcx
add rax, rdi
mov qword [rsp + 0x1c0], rbx
sub r12, 1
jne 0x1400562e0
jmp 0x140056b3d
mov qword [rsp + 0x110], rcx
nop dword [rax]
mov r14, r13
test rdx, rdx
je 0x140056587
mov rcx, qword [rsp + 0x70]
mov r15d, esi
nop dword [rax]
nop dword [rax + rax]
movzx ebp, byte [rbx + r14]
test ebp, ebp
je 0x14005656b
mov dword [rax + r14*4], ebp
lea rcx, [r14 + rsi]
lea r11d, [r15*4]
mov r8, rax
sub r8, rdi
mov edx, 0x40
sub edx, dword [r8 + r11]
imul edx, ebp
shr edx, 6
add dword [r8 + r11], edx
lea r8, [rax + rdi]
mov edx, 0x40
sub edx, dword [r8 + r11]
imul edx, ebp
shr edx, 6
add dword [r8 + r11], edx
lea r8, [rax + rcx*4]
lea ecx, [r15*4 - 4]
mov edx, 0x40
sub edx, dword [r8 - 4]
imul edx, ebp
mov r10d, ecx
shr edx, 6
add dword [r8 - 4], edx
mov edx, 0x40
sub edx, dword [r8 + 4]
imul edx, ebp
shr edx, 6
add dword [r8 + 4], edx
mov r8, rax
sub r8, rdi
mov edx, 0x40
sub edx, dword [r8 + rcx]
imul edx, ebp
shr edx, 6
add dword [r8 + rcx], edx
lea ecx, [r11 + 4]
mov r8, rax
mov edx, 0x40
sub r8, rdi
sub edx, dword [r8 + rcx]
imul edx, ebp
shr edx, 6
add dword [r8 + rcx], edx
lea r8, [rax + r10]
mov edx, 0x40
sub edx, dword [r8 + rdi]
imul edx, ebp
shr edx, 6
add dword [r8 + rdi], edx
lea r8, [rax + rcx]
mov rcx, qword [rsp + 0x70]
mov edx, 0x40
sub edx, dword [r8 + rdi]
imul edx, ebp
shr edx, 6
add dword [r8 + rdi], edx
inc r15d
inc r14
cmp r14, rcx
jl 0x140056480
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x70]
add rbx, rcx
add rax, rdi
sub r12, 1
jne 0x140056460
jmp 0x140056b3d
mov r14d, dword [rsp + 0x50]
test r14d, r14d
je 0x140056b45
cmp r8d, 4
jg 0x14005686c
cmp cl, 8
mov ecx, r10d
jne 0x140056725
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xb8], rcx
mov ecx, r14d
mov qword [rsp + 0x90], rcx
nop dword [rax + rax]
mov dword [rsp + 0x54], r13d
mov r10d, r13d
test rdx, rdx
je 0x1400566fb
mov r11, rbx
mov qword [rsp + 0x60], rax
sub r11, rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x110], r11
mov rcx, rax
nop dword [rax]
movzx r14d, byte [rcx + r11]
test r14d, r14d
je 0x1400566c7
mov r15d, r8d
mov byte [rcx], r14b
neg r15d
lea ebx, [r8 + 1]
cmp r15d, ebx
jge 0x1400566c7
mov edx, ebx
mov ecx, r15d
imul ecx, edi
mov r12, r9
sub edx, r15d
mov qword [rsp + 0x58], rdx
movsxd rbp, ecx
nop word [rax + rax]
lea r9d, [rsi + r15]
mov r11d, ebx
add r9d, r10d
mov r10, r12
sub r11d, r15d
cmp byte [r10], 0
je 0x140056685
mov r8d, r9d
mov ecx, 0x40
add r8, rbp
movzx edx, byte [r8 + rax]
sub ecx, edx
imul ecx, r14d
shr ecx, 6
add cl, dl
mov byte [r8 + rax], cl
inc r10
inc r9d
sub r11, 1
jne 0x140056660
mov r10d, dword [rsp + 0x54]
add r12, 9
add rbp, rdi
sub qword [rsp + 0x58], 1
jne 0x140056650
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x68]
mov r11, qword [rsp + 0x110]
inc r10d
inc rcx
sub rdx, 1
mov dword [rsp + 0x54], r10d
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
jne 0x140056610
mov rbx, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x90]
add rbx, qword [rsp + 0xb8]
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x90], rcx
jne 0x1400565e0
jmp 0x140056b3d
mov r11, qword [rsp + 0x70]
mov qword [rsp + 0x110], rcx
mov rcx, r14
mov qword [rsp + 0x68], rcx
nop word [rax + rax]
mov dword [rsp + 0x54], r13d
mov rdx, r13
mov qword [rsp + 0x60], rdx
mov r10d, r13d
test r11, r11
je 0x140056845
nop dword [rax]
movzx r14d, byte [rbx + rdx]
test r14d, r14d
je 0x140056827
lea ecx, [r8 + 1]
mov dword [rax + rdx*4], r14d
mov r15d, r8d
mov dword [rsp + 0x90], ecx
neg r15d
cmp r15d, ecx
jge 0x140056827
mov ebx, dword [rsp + 0x90]
mov ecx, r15d
imul ecx, edi
mov edx, ebx
sub edx, r15d
mov r12, r9
mov qword [rsp + 0x58], rdx
movsxd rbp, ecx
nop dword [rax]
lea r9d, [rsi + r15]
mov r11d, ebx
add r9d, r10d
mov r10, r12
sub r11d, r15d
cmp byte [r10], 0
je 0x1400567e5
lea r8d, [r9*4]
mov edx, 0x40
add r8, rax
sub edx, dword [r8 + rbp]
imul edx, r14d
shr edx, 6
add dword [r8 + rbp], edx
inc r10
inc r9d
sub r11, 1
jne 0x1400567c0
mov r10d, dword [rsp + 0x54]
add r12, 9
add rbp, rdi
sub qword [rsp + 0x58], 1
jne 0x1400567b0
mov rbx, qword [rsp + 0x1c0]
mov r8d, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x60]
mov r9, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x70]
inc r10d
inc rdx
mov dword [rsp + 0x54], r10d
mov qword [rsp + 0x60], rdx
cmp rdx, r11
jl 0x140056760
mov rcx, qword [rsp + 0x68]
add rbx, qword [rsp + 0x110]
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x68], rcx
jne 0x140056740
jmp 0x140056b3d
mov rdx, qword [rsp + 0x70]
cmp cl, 8
mov ecx, r10d
jne 0x140056a08
mov qword [rsp + 0xa8], rcx
mov rcx, r14
mov r9, qword [rsp + 0xa8]
mov qword [rsp + 0xd8], rcx
nop dword [rax + rax]
mov dword [rsp + 0x54], r13d
mov r10d, r13d
test rdx, rdx
je 0x1400569e3
mov r9, rbx
mov qword [rsp + 0x60], rax
sub r9, rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x110], r9
xor ebx, ebx
mov rcx, rax
nop
movzx r12d, byte [r9 + rcx]
test r12d, r12d
je 0x1400569a4
lea r11d, [r8 + 1]
mov byte [rcx], r12b
mov r13d, r8d
mov dword [rsp + 0x90], r11d
neg r13d
cmp r13d, r11d
jge 0x1400569a4
mov edx, r11d
mov dword [rsp + 0xb4], ebx
mov ecx, r13d
imul ecx, edi
sub edx, r13d
mov qword [rsp + 0x58], rdx
movsxd r14, ecx
mov ecx, ebx
nop dword [rax]
movsxd rcx, ecx
lea r9d, [rsi + r13]
add r9d, r10d
sub r11d, r13d
lea r10, [rcx + rbp]
cmp byte [r10], bl
je 0x140056955
mov r8d, r9d
mov ecx, 0x40
add r8, rax
movzx edx, byte [r8 + r14]
sub ecx, edx
imul ecx, r12d
shr ecx, 6
add cl, dl
mov byte [r8 + r14], cl
inc r9d
inc r10
sub r11, 1
jne 0x140056931
mov ecx, dword [rsp + 0xb4]
add r14, rdi
mov r11d, dword [rsp + 0x90]
add ecx, r15d
sub qword [rsp + 0x58], 1
mov r10d, dword [rsp + 0x54]
mov dword [rsp + 0xb4], ecx
jne 0x140056920
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x110]
inc r10d
inc rcx
sub rdx, 1
mov dword [rsp + 0x54], r10d
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
jne 0x1400568d0
mov rbx, qword [rsp + 0x1c0]
xor r13d, r13d
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xa8]
add rbx, r9
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0xd8], rcx
jne 0x1400568a0
jmp 0x140056b3d
mov qword [rsp + 0x110], rcx
mov r9, r14
mov qword [rsp + 0x68], r14
nop dword [rax + rax]
mov dword [rsp + 0x54], r13d
mov rcx, r13
mov qword [rsp + 0x60], rcx
mov r10d, r13d
test rdx, rdx
je 0x140056b1b
nop dword [rax]
movzx r12d, byte [rbx + rcx]
test r12d, r12d
je 0x140056afa
lea r11d, [r8 + 1]
mov dword [rax + rcx*4], r12d
mov r13d, r8d
mov dword [rsp + 0x90], r11d
neg r13d
cmp r13d, r11d
jge 0x140056afa
mov edx, r11d
mov ecx, r13d
imul ecx, edi
sub edx, r13d
mov qword [rsp + 0x58], rdx
xor ebx, ebx
movsxd r14, ecx
movsxd rcx, ebx
lea r9d, [rsi + r13]
add r9d, r10d
sub r11d, r13d
lea r10, [rcx + rbp]
cmp byte [r10], 0
je 0x140056ab9
lea r8d, [r9*4]
mov edx, 0x40
add r8, r14
sub edx, dword [r8 + rax]
imul edx, r12d
shr edx, 6
add dword [r8 + rax], edx
inc r9d
inc r10
sub r11, 1
jne 0x140056a94
mov r11d, dword [rsp + 0x90]
add r14, rdi
mov r10d, dword [rsp + 0x54]
add ebx, r15d
sub qword [rsp + 0x58], 1
jne 0x140056a83
mov rbx, qword [rsp + 0x1c0]
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
inc r10d
inc rcx
mov dword [rsp + 0x54], r10d
mov qword [rsp + 0x60], rcx
cmp rcx, rdx
jl 0x140056a40
mov r9, qword [rsp + 0x68]
xor r13d, r13d
add rbx, qword [rsp + 0x110]
add rax, rdi
sub r9, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x68], r9
jne 0x140056a20
mov r12, qword [rsp + 0x88]
movsxd r9, dword [rsp + 0xc8]
mov r14, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x50]
mov r15d, dword [rsp + 0xcc]
add edx, r15d
movsxd r8, edi
mov eax, r8d
imul eax, r9d
movsxd rcx, eax
sub r14, rcx
cmp byte [r12 + 0x121dad], 8
jne 0x140056c7a
sub r14, r9
cmp dword [r12 + 0x121dcc], 0xf
jne 0x140056c0f
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov rdi, r8
add eax, r15d
mov r11d, edx
movsxd rbx, eax
nop dword [rax]
test rbx, rbx
jle 0x140056be1
mov rdx, r14
mov r8, rsi
mov r10, rbx
nop
movzx r9d, byte [rdx]
cmp r9b, 0x40
jne 0x140056bef
mov byte [rdx], 0xf
xor al, al
mov rcx, r8
mov r9, rdx
mov byte [rdx + rcx], al
inc rdx
sub r10, 1
jne 0x140056bc0
add r14, rdi
sub r11, 1
jne 0x140056bb0
jmp 0x140054bd0
movzx eax, r9b
shr al, 2
test r9b, r9b
movzx ecx, al
cmove ecx, r13d
mov byte [rdx], cl
movzx eax, byte [rdx + rsi]
test al, al
je 0x140056bcd
shr al, 2
jmp 0x140056bcf
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov rbx, r8
add eax, r15d
mov r10d, edx
movsxd r11, eax
nop word [rax + rax]
test r11, r11
jle 0x140056c6c
lea rdx, [rsi + r14]
mov r8, r11
lea rdi, [0x140000000]
mov rcx, rdx
sub rcx, rsi
movzx eax, byte [rcx]
movzx eax, byte [rax + rdi + 0x135720]
mov byte [rcx], al
movzx eax, byte [rdx]
movzx eax, byte [rax + rdi + 0x135720]
mov byte [rdx], al
inc rdx
sub r8, 1
jne 0x140056c43
add r14, rbx
sub r10, 1
jne 0x140056c30
jmp 0x140054bd0
lea eax, [r9*4]
movsxd rcx, eax
sub r14, rcx
cmp dword [r12 + 0x1221f4], 0
je 0x140056dbc
test edx, edx
jle 0x140054bd0
mov edi, dword [rsp + 0x80]
mov rbp, r8
add edi, r15d
mov ebx, edx
nop
test edi, edi
jle 0x140056daa
mov r10d, esi
lea rsi, [0x140000000]
mov r11d, edi
lea r9, [r14 + r10*4]
neg r10
nop dword [rax]
mov eax, dword [r9 + r10*4]
cmp eax, 0x40
jne 0x140056ce9
mov dword [r9 + r10*4], 0xffffffff
mov dword [r9], r13d
jmp 0x140056d95
test eax, eax
je 0x140056d37
movzx r8d, byte [rax + rsi + 0x135720]
movzx ecx, byte [r12 + 0x121db7]
mov edx, r8d
shl edx, cl
mov eax, r8d
movzx ecx, byte [r12 + 0x121db6]
shl eax, cl
movzx ecx, byte [r12 + 0x121db5]
or edx, eax
mov eax, r8d
shl eax, cl
movzx ecx, byte [r12 + 0x121db4]
or edx, eax
shl r8d, cl
or edx, r8d
mov dword [r9 + r10*4], edx
mov eax, dword [r9]
cmp eax, 0x40
jne 0x140056d48
mov dword [r9], 0xffffffff
jmp 0x140056d95
test eax, eax
je 0x140056d95
movzx r8d, byte [rax + rsi + 0x135720]
movzx ecx, byte [r12 + 0x121db7]
mov edx, r8d
shl edx, cl
mov eax, r8d
movzx ecx, byte [r12 + 0x121db6]
shl eax, cl
movzx ecx, byte [r12 + 0x121db5]
or edx, eax
mov eax, r8d
shl eax, cl
movzx ecx, byte [r12 + 0x121db4]
or edx, eax
shl r8d, cl
or edx, r8d
mov dword [r9], edx
add r9, 4
sub r11, 1
jne 0x140056cd0
mov esi, dword [rsp + 0x98]
add r14, rbp
sub rbx, 1
jne 0x140056cb0
jmp 0x140054bd0
test edx, edx
jle 0x140054bd0
mov ebx, dword [rsp + 0x80]
mov rdi, r8
mov ebp, dword [rsp + 0xc0]
add ebx, r15d
mov qword [rsp + 0x110], r8
mov r11d, edx
test ebx, ebx
jle 0x140056e28
mov edi, dword [rsp + 0xc4]
mov rdx, r14
mov r9d, esi
lea rsi, [0x140000000]
mov r10d, ebx
nop
mov eax, dword [rdx]
cmp eax, 0x40
jne 0x140056e36
mov dword [rdx], ebp
mov eax, edi
mov dword [rdx + r9*4], eax
add rdx, 4
sub r10, 1
jne 0x140056e00
mov esi, dword [rsp + 0x98]
mov rdi, qword [rsp + 0x110]
add r14, rdi
sub r11, 1
jne 0x140056de3
jmp 0x140054bd0
test eax, eax
je 0x140056e54
movzx r8d, byte [rax + rsi + 0x135720]
movzx ecx, byte [r12 + 0x121db7]
shl r8d, cl
or r8d, edi
jmp 0x140056e57
mov r8d, edi
mov rax, rdx
mov dword [rdx], r8d
mov eax, dword [rdx + r9*4]
test eax, eax
je 0x140056e09
movzx eax, byte [rax + rsi + 0x135720]
movzx ecx, byte [r12 + 0x121db7]
shl eax, cl
or eax, edi
jmp 0x140056e0b
movzx ecx, byte [r12 + 0x121dad]
cmp r8d, 1
jne 0x140057204
mov r9d, dword [rsp + 0x50]
test r9d, r9d
je 0x1400577cb
cmp cl, 8
mov ecx, r10d
jne 0x140057081
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x58], rcx
mov ecx, r9d
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rcx
mov r14, r13
test r8, r8
je 0x14005705f
mov rdx, rbx
mov r15d, esi
sub rdx, rax
mov qword [rsp + 0x110], rdx
nop dword [rax]
lea rcx, [rax + r14]
movzx ebp, byte [rcx + rdx]
lea r12d, [r15 + 1]
test ebp, ebp
je 0x140057037
mov byte [rcx], bpl
lea r11d, [r15 + r15]
mov r10d, r15d
mov r8d, pe_nt_image_headers64
mov ecx, r11d
sub rcx, rdi
movzx edx, word [rcx + rax]
sub r8d, edx
mov ecx, r15d
sub rcx, rdi
imul r8d, ebp
shr r8d, 4
add r8b, dl
mov byte [rcx + rax], r8b
lea rcx, [r11 + rax]
movzx edx, word [rcx + rdi]
mov r8d, pe_nt_image_headers64
sub r8d, edx
lea rcx, [r10 + rax]
imul r8d, ebp
lea r10, [rsi + rax]
shr r8d, 4
add r8b, dl
mov rdx, rsi
mov byte [rcx + rdi], r8b
lea rcx, [rsi + r14]
movzx r8d, word [rax + rcx*2 - 2]
lea r9, [rax + rcx*2]
mov ecx, pe_nt_image_headers64
sub ecx, r8d
imul ecx, ebp
shr ecx, 4
add cl, r8b
mov byte [r10 + r14 - 1], cl
mov ecx, pe_nt_image_headers64
movzx edx, word [r9 + 2]
sub ecx, edx
imul ecx, ebp
shr ecx, 4
add cl, dl
lea edx, [r15 - 1]
mov byte [r10 + r14 + 1], cl
lea ecx, [rdx + rdx]
mov r10d, ecx
sub rcx, rdi
mov ebx, edx
mov edx, pe_nt_image_headers64
movzx r8d, word [rcx + rax]
mov ecx, ebx
sub edx, r8d
sub rcx, rdi
imul edx, ebp
shr edx, 4
add dl, r8b
mov r8d, pe_nt_image_headers64
mov byte [rcx + rax], dl
lea ecx, [r11 + 2]
mov r9d, ecx
sub rcx, rdi
movzx edx, word [rcx + rax]
sub r8d, edx
mov ecx, r12d
imul r8d, ebp
sub rcx, rdi
shr r8d, 4
add r8b, dl
mov byte [rcx + rax], r8b
lea rcx, [r10 + rax]
movzx edx, word [rcx + rdi]
mov r8d, pe_nt_image_headers64
sub r8d, edx
lea rcx, [rbx + rax]
imul r8d, ebp
shr r8d, 4
add r8b, dl
mov byte [rcx + rdi], r8b
lea rcx, [r9 + rax]
movzx edx, word [rcx + rdi]
mov r8d, pe_nt_image_headers64
sub r8d, edx
imul r8d, ebp
shr r8d, 4
lea rcx, [r12 + rax]
add r8b, dl
mov rdx, qword [rsp + 0x110]
mov byte [rcx + rdi], r8b
inc r14
mov r15d, r12d
cmp r14, qword [rsp + 0x70]
jl 0x140056ee0
mov rbx, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x70]
add rbx, rdx
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x60], rcx
jne 0x140056ec0
jmp 0x1400577c3
mov rdx, qword [rsp + 0x70]
mov r12, r9
mov qword [rsp + 0x110], rcx
mov r14, r13
test rdx, rdx
je 0x1400571ef
mov rcx, qword [rsp + 0x70]
mov r15d, esi
nop word [rax + rax]
movzx ebp, byte [rbx + r14]
test ebp, ebp
je 0x1400571d3
mov word [rax + r14*2], bp
lea r11d, [r15 + r15]
mov ecx, pe_nt_image_headers64
mov r8, rax
sub r8, rdi
movzx edx, word [r8 + r11]
sub ecx, edx
imul ecx, ebp
shr ecx, 4
add cx, dx
mov word [r8 + r11], cx
lea r8, [rax + rdi]
movzx edx, word [r8 + r11]
mov ecx, pe_nt_image_headers64
sub ecx, edx
imul ecx, ebp
shr ecx, 4
add cx, dx
mov word [r8 + r11], cx
lea rcx, [r14 + rsi]
movzx edx, word [rax + rcx*2 - 2]
lea r8, [rax + rcx*2]
mov ecx, pe_nt_image_headers64
sub ecx, edx
imul ecx, ebp
shr ecx, 4
add cx, dx
movzx edx, word [r8 + 2]
mov word [r8 - 2], cx
mov ecx, pe_nt_image_headers64
sub ecx, edx
imul ecx, ebp
shr ecx, 4
add cx, dx
mov word [r8 + 2], cx
lea ecx, [r15*2 - 2]
mov r10d, ecx
mov r8, rax
sub r8, rdi
movzx edx, word [r8 + rcx]
mov ecx, pe_nt_image_headers64
sub ecx, edx
imul ecx, ebp
shr ecx, 4
add cx, dx
mov word [r8 + r10], cx
lea ecx, [r11 + 2]
mov r9d, ecx
mov r8, rax
sub r8, rdi
movzx edx, word [r8 + rcx]
mov ecx, pe_nt_image_headers64
sub ecx, edx
imul ecx, ebp
shr ecx, 4
add cx, dx
mov word [r8 + r9], cx
lea r8, [rax + rdi]
movzx edx, word [r8 + r10]
mov ecx, pe_nt_image_headers64
sub ecx, edx
imul ecx, ebp
shr ecx, 4
add cx, dx
mov word [r8 + r10], cx
lea r8, [rax + rdi]
movzx edx, word [r8 + r9]
mov ecx, pe_nt_image_headers64
sub ecx, edx
imul ecx, ebp
shr ecx, 4
add cx, dx
mov word [r8 + r9], cx
mov rcx, qword [rsp + 0x70]
inc r15d
inc r14
cmp r14, rcx
jl 0x1400570b0
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x70]
add rbx, rcx
add rax, rdi
sub r12, 1
jne 0x140057091
jmp 0x1400577c3
mov r14d, dword [rsp + 0x50]
test r14d, r14d
je 0x1400577cb
cmp r8d, 4
jg 0x1400574e5
cmp cl, 8
mov ecx, r10d
jne 0x14005738c
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xb8], rcx
mov ecx, r14d
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0x54], r13d
mov r10d, r13d
test rdx, rdx
je 0x140057362
mov r11, rbx
mov qword [rsp + 0x60], rax
sub r11, rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x110], r11
mov rcx, rax
nop dword [rax]
movzx r14d, byte [rcx + r11]
test r14d, r14d
je 0x14005732e
mov r15d, r8d
mov byte [rcx], r14b
neg r15d
lea ebx, [r8 + 1]
cmp r15d, ebx
jge 0x14005732e
mov edx, ebx
mov ecx, r15d
imul ecx, edi
mov r12, r9
sub edx, r15d
mov qword [rsp + 0x58], rdx
movsxd rbp, ecx
nop word [rax + rax]
lea r9d, [rsi + r15]
mov r11d, ebx
add r9d, r10d
mov r10, r12
sub r11d, r15d
cmp byte [r10], 0
je 0x1400572ec
mov r8d, r9d
mov ecx, pe_nt_image_headers64
add r8, rbp
sub ecx, r14d
movzx edx, byte [r8 + rax]
sub edx, 0x10
imul edx, ecx
add edx, 0x100
shr edx, 4
mov byte [r8 + rax], dl
inc r10
inc r9d
sub r11, 1
jne 0x1400572c0
mov r10d, dword [rsp + 0x54]
add r12, 9
add rbp, rdi
sub qword [rsp + 0x58], 1
jne 0x1400572b0
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x68]
mov r11, qword [rsp + 0x110]
inc r10d
inc rcx
sub rdx, 1
mov dword [rsp + 0x54], r10d
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
jne 0x140057270
mov rbx, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x90]
add rbx, qword [rsp + 0xb8]
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x90], rcx
jne 0x140057240
jmp 0x1400577c3
mov r11, qword [rsp + 0x70]
mov qword [rsp + 0x110], rcx
mov rcx, r14
mov qword [rsp + 0x68], rcx
nop dword [rax]
nop word [rax + rax]
mov dword [rsp + 0x54], r13d
mov rdx, r13
mov qword [rsp + 0x60], rdx
mov r10d, r13d
test r11, r11
je 0x1400574be
nop dword [rax]
movzx r14d, byte [rbx + rdx]
test r14d, r14d
je 0x1400574a0
lea ecx, [r8 + 1]
mov word [rax + rdx*2], r14w
mov r15d, r8d
mov dword [rsp + 0x90], ecx
neg r15d
cmp r15d, ecx
jge 0x1400574a0
mov ebx, dword [rsp + 0x90]
mov ecx, r15d
imul ecx, edi
mov edx, ebx
sub edx, r15d
mov r12, r9
mov qword [rsp + 0x58], rdx
movsxd rbp, ecx
nop word [rax + rax]
lea r9d, [rsi + r15]
mov r11d, ebx
add r9d, r10d
mov r10, r12
sub r11d, r15d
cmp byte [r10], 0
je 0x14005745e
lea r8d, [r9 + r9]
mov ecx, pe_nt_image_headers64
add r8, rax
sub ecx, r14d
movzx edx, word [r8 + rbp]
sub edx, 0x10
imul edx, ecx
add edx, 0x100
shr edx, 4
mov word [r8 + rbp], dx
inc r10
inc r9d
sub r11, 1
jne 0x140057430
mov r10d, dword [rsp + 0x54]
add r12, 9
add rbp, rdi
sub qword [rsp + 0x58], 1
jne 0x140057420
mov rbx, qword [rsp + 0x1c0]
mov r8d, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x60]
mov r9, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x70]
inc r10d
inc rdx
mov dword [rsp + 0x54], r10d
mov qword [rsp + 0x60], rdx
cmp rdx, r11
jl 0x1400573d0
mov rcx, qword [rsp + 0x68]
add rbx, qword [rsp + 0x110]
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x68], rcx
jne 0x1400573b0
jmp 0x1400577c3
mov rdx, qword [rsp + 0x70]
cmp cl, 8
mov ecx, r10d
jne 0x14005767f
mov qword [rsp + 0xa8], rcx
mov rcx, r14
mov r9, qword [rsp + 0xa8]
mov qword [rsp + 0xd8], rcx
mov dword [rsp + 0x54], r13d
mov r10d, r13d
test rdx, rdx
je 0x14005765a
mov r9, rbx
mov qword [rsp + 0x60], rax
sub r9, rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x110], r9
xor ebx, ebx
mov rcx, rax
nop
movzx r12d, byte [r9 + rcx]
test r12d, r12d
je 0x14005761b
lea r11d, [r8 + 1]
mov byte [rcx], r12b
mov r13d, r8d
mov dword [rsp + 0x90], r11d
neg r13d
cmp r13d, r11d
jge 0x14005761b
mov edx, r11d
mov dword [rsp + 0xb4], ebx
mov ecx, r13d
imul ecx, edi
sub edx, r13d
mov qword [rsp + 0x58], rdx
movsxd r14, ecx
mov ecx, ebx
nop dword [rax]
movsxd rcx, ecx
lea r9d, [rsi + r13]
add r9d, r10d
sub r11d, r13d
lea r10, [rcx + rbp]
cmp byte [r10], bl
je 0x1400575cc
mov r8d, r9d
mov ecx, pe_nt_image_headers64
add r8, rax
sub ecx, r12d
movzx edx, byte [r8 + r14]
sub edx, 0x10
imul edx, ecx
add edx, 0x100
shr edx, 4
mov byte [r8 + r14], dl
inc r9d
inc r10
sub r11, 1
jne 0x1400575a1
mov ecx, dword [rsp + 0xb4]
add r14, rdi
mov r11d, dword [rsp + 0x90]
add ecx, r15d
sub qword [rsp + 0x58], 1
mov r10d, dword [rsp + 0x54]
mov dword [rsp + 0xb4], ecx
jne 0x140057590
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x110]
inc r10d
inc rcx
sub rdx, 1
mov dword [rsp + 0x54], r10d
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
jne 0x140057540
mov rbx, qword [rsp + 0x1c0]
xor r13d, r13d
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xa8]
add rbx, r9
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0xd8], rcx
jne 0x140057511
jmp 0x1400577c3
mov qword [rsp + 0x110], rcx
mov r9, r14
mov qword [rsp + 0x68], r14
nop
mov dword [rsp + 0x54], r13d
mov rcx, r13
mov qword [rsp + 0x60], rcx
mov r10d, r13d
test rdx, rdx
je 0x1400577a1
nop dword [rax]
movzx r12d, byte [rbx + rcx]
test r12d, r12d
je 0x140057780
lea r11d, [r8 + 1]
mov word [rax + rcx*2], r12w
mov r13d, r8d
mov dword [rsp + 0x90], r11d
neg r13d
cmp r13d, r11d
jge 0x140057780
mov edx, r11d
mov ecx, r13d
imul ecx, edi
sub edx, r13d
mov qword [rsp + 0x58], rdx
xor ebx, ebx
movsxd r14, ecx
nop dword [rax]
nop dword [rax + rax]
movsxd rcx, ebx
lea r9d, [rsi + r13]
add r9d, r10d
sub r11d, r13d
lea r10, [rcx + rbp]
cmp byte [r10], 0
je 0x14005773f
lea r8d, [r9 + r9]
mov ecx, pe_nt_image_headers64
add r8, rax
sub ecx, r12d
movzx edx, word [r8 + r14]
sub edx, 0x10
imul edx, ecx
add edx, 0x100
shr edx, 4
mov word [r8 + r14], dx
inc r9d
inc r10
sub r11, 1
jne 0x140057711
mov r11d, dword [rsp + 0x90]
add r14, rdi
mov r10d, dword [rsp + 0x54]
add ebx, r15d
sub qword [rsp + 0x58], 1
jne 0x140057700
mov rbx, qword [rsp + 0x1c0]
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
inc r10d
inc rcx
mov dword [rsp + 0x54], r10d
mov qword [rsp + 0x60], rcx
cmp rcx, rdx
jl 0x1400576b0
mov r9, qword [rsp + 0x68]
xor r13d, r13d
add rbx, qword [rsp + 0x110]
add rax, rdi
sub r9, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x68], r9
jne 0x140057690
mov r12, qword [rsp + 0x88]
movsxd r11, dword [rsp + 0xc8]
mov r14, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x50]
mov r15d, dword [rsp + 0xcc]
add edx, r15d
movsxd r9, edi
mov eax, r9d
imul eax, r11d
movsxd rcx, eax
sub r14, rcx
cmp byte [r12 + 0x121dad], 8
jne 0x140057907
sub r14, r11
cmp dword [r12 + 0x121dcc], 0xf
jne 0x14005788b
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov rdi, r9
add eax, r15d
mov r11d, edx
movsxd rbx, eax
test rbx, rbx
jle 0x140057861
mov rdx, r14
mov r8, rsi
mov r10, rbx
movzx r9d, byte [rdx]
cmp r9b, 0x10
jne 0x14005786f
mov byte [rdx], 0xf
xor al, al
mov rcx, r8
mov r9, rdx
mov byte [rdx + rcx], al
inc rdx
sub r10, 1
jne 0x140057840
add r14, rdi
sub r11, 1
jne 0x140057832
jmp 0x140054bd0
lea eax, [r9 - 1]
test r9b, r9b
movzx ecx, al
cmove ecx, r13d
mov byte [rdx], cl
movzx eax, byte [rdx + rsi]
test al, al
je 0x14005784d
dec al
jmp 0x14005784f
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov rdi, r9
add eax, r15d
mov r11d, edx
movsxd rbx, eax
test rbx, rbx
jle 0x1400578d4
mov rax, r14
mov rdx, rsi
mov r10, rbx
movzx ecx, byte [rax]
mov r8, rax
cmp cl, 0x10
jne 0x1400578e2
mov byte [rax], 0xff
mov r9, rdx
xor cl, cl
inc rax
mov byte [r9 + r8], cl
sub r10, 1
jne 0x1400578b4
add r14, rdi
sub r11, 1
jne 0x1400578a6
jmp 0x140054bd0
test cl, cl
je 0x1400578ed
shl cl, 4
dec cl
jmp 0x1400578ef
xor cl, cl
mov byte [r8], cl
mov r9, rax
movzx ecx, byte [rax + rsi]
mov r8, rdx
test cl, cl
je 0x1400578c5
shl cl, 4
dec cl
jmp 0x1400578c7
movzx r8d, byte [r12 + 0x121db7]
lea eax, [r11 + r11]
sub r8b, 4
movsxd rcx, eax
add r8b, byte [r12 + 0x121db3]
sub r14, rcx
cmp dword [r12 + 0x1221f4], 0
mov qword [rsp + 0xa0], r14
je 0x140057aac
test edx, edx
jle 0x140054bd0
movzx eax, byte [r12 + 0x121db6]
mov rcx, qword [rsp + 0xa0]
sub al, 4
add al, byte [r12 + 0x121db2]
movzx ebx, al
movzx eax, byte [r12 + 0x121db5]
sub al, 4
movzx r14d, r8b
add al, byte [r12 + 0x121db1]
movzx edi, al
movzx eax, byte [r12 + 0x121db4]
sub al, 4
add al, byte [r12 + 0x121db0]
mov r12d, dword [rsp + 0x80]
movzx ebp, al
add r12d, r15d
mov rax, r9
mov r15d, edx
mov qword [rsp + 0x110], rax
nop dword [rax]
test r12d, r12d
jle 0x140057a8a
mov r10d, esi
mov esi, 0xffff
mov r11d, r12d
lea r9, [rcx + r10*2]
neg r10
add r10, r10
nop
movzx r8d, word [r10 + r9]
cmp r8w, 0x10
jne 0x1400579e7
mov word [r10 + r9], si
mov word [r9], r13w
jmp 0x140057a65
test r8w, r8w
je 0x140057a1e
mov ecx, ebx
movzx edx, r8w
shl dx, cl
movzx eax, r8w
mov ecx, edi
shl ax, cl
mov ecx, ebp
or dx, ax
movzx eax, r8w
shl ax, cl
mov ecx, r14d
shl r8w, cl
or dx, ax
or dx, r8w
mov word [r10 + r9], dx
movzx r8d, word [r9]
cmp r8w, 0x10
jne 0x140057a2f
mov word [r9], si
jmp 0x140057a65
test r8w, r8w
je 0x140057a65
mov ecx, ebx
movzx edx, r8w
shl dx, cl
movzx eax, r8w
mov ecx, edi
shl ax, cl
mov ecx, ebp
or dx, ax
movzx eax, r8w
shl ax, cl
mov ecx, r14d
shl r8w, cl
or dx, ax
or dx, r8w
mov word [r9], dx
add r9, 2
sub r11, 1
jne 0x1400579d0
mov esi, dword [rsp + 0x98]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov qword [rsp + 0xa0], rcx
sub r15, 1
jne 0x1400579b0
mov r12, qword [rsp + 0x88]
jmp 0x140054bd0
test edx, edx
jle 0x140054bd0
mov ebx, dword [rsp + 0x80]
mov rdi, r9
mov r12d, dword [rsp + 0xc4]
add ebx, r15d
movzx r8d, r8b
mov r11d, edx
test ebx, ebx
jle 0x140057b11
mov r9, rsi
mov r10d, ebx
add r9, r9
mov rdx, r14
movzx eax, word [rdx]
cmp ax, 0x10
jne 0x140057b27
mov eax, pe_nt_image_headers64
mov ecx, r8d
shl ax, cl
dec ax
or ax, r12w
mov word [rdx], ax
movzx eax, r12w
mov word [rdx + r9], ax
add rdx, 2
sub r10, 1
jne 0x140057ae0
add r14, rdi
sub r11, 1
jne 0x140057ad0
mov r12, qword [rsp + 0x88]
jmp 0x140054bd0
test ax, ax
je 0x140057b3b
mov ecx, r8d
shl ax, cl
dec ax
or ax, r12w
jmp 0x140057b3f
movzx eax, r12w
mov word [rdx], ax
mov rcx, rdx
movzx eax, word [rdx + r9]
test ax, ax
je 0x140057afe
mov ecx, r8d
shl ax, cl
dec ax
or ax, r12w
jmp 0x140057b02
movzx ecx, byte [r12 + 0x121dad]
cmp r8d, 1
jne 0x140057ccb
mov r8d, dword [rsp + 0x50]
test r8d, r8d
je 0x1400581eb
mov r15, qword [rsp + 0x70]
mov ebp, r8d
mov r14d, r10d
cmp cl, 8
jne 0x140057c32
mov r9, r13
test r15, r15
je 0x140057c1d
mov r11, rbx
mov r8d, esi
sub r11, rax
nop dword [rax + rax]
lea rcx, [rax + r9]
cmp byte [rcx + r11], 0
lea r10d, [r8 + 1]
je 0x140057c12
mov byte [rcx], 1
mov rcx, rax
sub rcx, rdi
mov edx, r8d
dec r8d
mov byte [rcx + rdx], 1
lea rcx, [rax + rdi]
mov byte [rcx + rdx], 1
lea rcx, [rax + rsi]
mov byte [rcx + r9 - 1], 1
mov byte [rcx + r9 + 1], 1
mov rcx, rax
sub rcx, rdi
mov byte [rcx + r8], 1
mov rcx, rax
sub rcx, rdi
mov byte [rcx + r10], 1
lea rcx, [rax + rdi]
mov byte [rcx + r8], 1
lea rcx, [rax + rdi]
mov byte [rcx + r10], 1
inc r9
mov r8d, r10d
cmp r9, r15
jl 0x140057bb0
add rbx, r14
add rax, rdi
sub rbp, 1
jne 0x140057b93
jmp 0x1400581eb
mov r12d, 1
mov r10, r13
test r15, r15
je 0x140057cb6
mov r11d, esi
cmp byte [rbx + r10], 0
je 0x140057cab
mov word [rax + r10*2], r12w
lea r9d, [r11 + r11]
lea r8d, [r11*2 - 2]
mov rcx, rax
sub rcx, rdi
lea edx, [r9 + 2]
mov word [rcx + r9], r12w
lea rcx, [rax + rdi]
mov word [rcx + r9], r12w
lea rcx, [r10 + rsi]
mov word [rax + rcx*2 - 2], r12w
mov word [rax + rcx*2 + 2], r12w
mov rcx, rax
sub rcx, rdi
mov word [rcx + r8], r12w
mov rcx, rax
sub rcx, rdi
mov word [rcx + rdx], r12w
lea rcx, [rax + rdi]
mov word [rcx + r8], r12w
lea rcx, [rax + rdi]
mov word [rcx + rdx], r12w
inc r11d
inc r10
cmp r10, r15
jl 0x140057c43
add rbx, r14
add rax, rdi
sub rbp, 1
jne 0x140057c38
jmp 0x1400581e3
mov edx, dword [rsp + 0x50]
test edx, edx
je 0x1400581eb
cmp r8d, 4
jg 0x140057f6b
cmp cl, 8
mov ecx, r10d
jne 0x140057e2a
mov qword [rsp + 0x68], rcx
mov ecx, edx
mov r10, qword [rsp + 0x68]
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0x70]
nop word [rax + rax]
mov r12d, r13d
test rdx, rdx
je 0x140057e05
mov r10, rbx
mov qword [rsp + 0x58], rax
sub r10, rax
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x110], r10
mov rcx, rax
mov ebx, edi
nop dword [rax]
cmp byte [r10 + rcx], 0
je 0x140057dd1
mov r11d, r8d
mov byte [rcx], 1
neg r11d
lea r15d, [r8 + 1]
cmp r11d, r15d
jge 0x140057dd1
mov ecx, r11d
mov r14d, r15d
imul ecx, ebx
mov rbp, r9
sub r14d, r11d
movsxd r10, ecx
nop
lea edx, [rsi + r11]
mov r9d, r15d
add edx, r12d
mov r8, rbp
sub r9d, r11d
cmp byte [r8], 0
je 0x140057d97
mov ecx, edx
add rcx, rax
cmp byte [rcx + r10], 0
jne 0x140057d97
mov byte [rcx + r10], 1
inc r8
inc edx
sub r9, 1
jne 0x140057d80
add rbp, 9
add r10, rdi
sub r14, 1
jne 0x140057d70
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x58]
mov r9, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x60]
mov r10, qword [rsp + 0x110]
inc rcx
inc r12d
sub rdx, 1
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdx
jne 0x140057d40
mov rbx, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x90]
mov r10, qword [rsp + 0x68]
add rbx, r10
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x90], rcx
jne 0x140057d10
jmp 0x1400581e3
mov r10, qword [rsp + 0x70]
mov r11, rdx
mov qword [rsp + 0x110], rcx
mov r15d, 1
mov qword [rsp + 0x60], rdx
nop word [rax + rax]
mov ecx, r13d
mov rdx, r13
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x58], rdx
test r10, r10
je 0x140057f44
nop dword [rax + rax]
cmp byte [rbx + rdx], 0
je 0x140057f28
mov ebp, r8d
mov word [rax + rdx*2], r15w
neg ebp
lea r12d, [r8 + 1]
cmp ebp, r12d
jge 0x140057f28
mov ebx, dword [rsp + 0x54]
mov ecx, ebp
imul ecx, edi
mov r15d, r12d
mov r14, r9
sub r15d, ebp
movsxd r11, ecx
nop word [rax + rax]
lea r8d, [rsi + rbp]
mov r10d, r12d
add r8d, ebx
mov r9, r14
sub r10d, ebp
cmp byte [r9], 0
je 0x140057edc
lea edx, [r8 + r8]
add rdx, rax
cmp word [rdx + r11], 0
jne 0x140057edc
mov word [rdx + r11], 1
inc r9
inc r8d
sub r10, 1
jne 0x140057ec0
mov esi, dword [rsp + 0x98]
add r14, 9
add r11, rdi
sub r15, 1
jne 0x140057eb0
mov rbx, qword [rsp + 0x1c0]
mov r15d, 1
mov r8d, dword [rsp + 0x84]
mov ecx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x58]
mov r9, qword [rsp + 0xa8]
mov r10, qword [rsp + 0x70]
inc ecx
inc rdx
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x58], rdx
cmp rdx, r10
jl 0x140057e70
mov r11, qword [rsp + 0x60]
add rbx, qword [rsp + 0x110]
add rax, rdi
sub r11, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x60], r11
jne 0x140057e50
jmp 0x1400581e3
cmp cl, 8
mov ecx, r10d
jne 0x1400580a6
mov qword [rsp + 0xb8], rcx
mov rcx, rdx
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x70]
nop dword [rax]
mov dword [rsp + 0x54], r13d
mov r9d, r13d
test rdx, rdx
je 0x14005807f
mov r10, rbx
mov qword [rsp + 0x58], rax
sub r10, rax
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x110], r10
mov rcx, rax
nop dword [rax]
cmp byte [r10 + rcx], 0
je 0x14005804e
mov r11d, r8d
mov byte [rcx], 1
neg r11d
lea ebx, [r8 + 1]
cmp r11d, ebx
jge 0x14005804e
mov ecx, r11d
mov r12d, ebx
imul ecx, edi
mov r14d, r13d
sub r12d, r11d
movsxd r10, ecx
nop
lea edx, [rsi + r11]
movsxd r8, r14d
add edx, r9d
add r8, rbp
mov r9d, ebx
sub r9d, r11d
cmp byte [r8], 0
je 0x140058018
mov ecx, edx
add rcx, r10
cmp byte [rcx + rax], 0
jne 0x140058018
mov byte [rcx + rax], 1
inc edx
inc r8
sub r9, 1
jne 0x140058003
mov r9d, dword [rsp + 0x54]
add r10, rdi
add r14d, r15d
sub r12, 1
jne 0x140057ff0
mov r8d, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov r10, qword [rsp + 0x110]
inc r9d
inc rcx
sub rdx, 1
mov dword [rsp + 0x54], r9d
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rcx
jne 0x140057fc0
mov rbx, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
add rbx, qword [rsp + 0xb8]
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x68], rcx
jne 0x140057f90
jmp 0x1400581e3
mov r10, qword [rsp + 0x70]
mov qword [rsp + 0x110], rcx
mov rcx, rdx
mov qword [rsp + 0x68], rdx
nop dword [rax + rax]
mov dword [rsp + 0x54], r13d
mov rdx, r13
mov qword [rsp + 0x60], rdx
mov r9d, r13d
test r10, r10
je 0x1400581c1
nop dword [rax]
cmp byte [rbx + rdx], 0
je 0x1400581a3
lea ecx, [r8 + 1]
mov word [rax + rdx*2], 1
mov r14d, r8d
mov dword [rsp + 0x90], ecx
neg r14d
cmp r14d, ecx
jge 0x1400581a3
mov ebx, dword [rsp + 0x90]
mov ecx, r14d
imul ecx, r11d
mov edx, ebx
sub edx, r14d
mov r12d, r13d
mov qword [rsp + 0x58], rdx
movsxd r11, ecx
nop dword [rax + rax]
movsxd rcx, r12d
lea r8d, [rsi + r14]
add r8d, r9d
mov r10d, ebx
sub r10d, r14d
lea r9, [rcx + rbp]
cmp byte [r9], 0
je 0x140058160
lea edx, [r8 + r8]
add rdx, rax
cmp word [rdx + r11], 0
jne 0x140058160
mov word [rdx + r11], 1
inc r8d
inc r9
sub r10, 1
jne 0x140058144
mov esi, dword [rsp + 0x98]
add r11, rdi
mov r9d, dword [rsp + 0x54]
add r12d, r15d
sub qword [rsp + 0x58], 1
jne 0x140058130
mov rbx, qword [rsp + 0x1c0]
mov r11d, edi
mov r8d, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x60]
mov r10, qword [rsp + 0x70]
inc r9d
inc rdx
mov dword [rsp + 0x54], r9d
mov qword [rsp + 0x60], rdx
cmp rdx, r10
jl 0x1400580e0
mov rcx, qword [rsp + 0x68]
add rbx, qword [rsp + 0x110]
add rax, rdi
sub rcx, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x68], rcx
jne 0x1400580c0
mov r12, qword [rsp + 0x88]
movsxd r9, dword [rsp + 0xc8]
mov rbx, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x50]
mov r15d, dword [rsp + 0xcc]
add edx, r15d
movsxd r8, edi
mov eax, r8d
imul eax, r9d
movsxd rcx, eax
sub rbx, rcx
cmp byte [r12 + 0x121dad], 8
jne 0x1400582f1
sub rbx, r9
cmp dword [r12 + 0x121dcc], 0xf
jne 0x140058293
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov r11, r8
add eax, r15d
mov r9d, edx
movsxd r10, eax
test r10, r10
jle 0x140058285
mov rcx, rbx
mov edx, esi
mov r8, r10
nop
cmp byte [rcx], 0
je 0x14005826c
mov byte [rcx], 0xf
xor al, al
jmp 0x140058279
mov byte [rcx], 0
movzx eax, byte [rcx + rdx]
neg al
sbb al, al
and al, 0xf
mov byte [rcx + rdx], al
inc rcx
sub r8, 1
jne 0x140058260
add rbx, r11
sub r9, 1
jne 0x140058252
jmp 0x140054bd0
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov r11, r8
add eax, r15d
mov r9d, edx
movsxd r10, eax
nop
test r10, r10
jle 0x1400582e3
mov rcx, rbx
mov edx, esi
mov r8, r10
nop dword [rax]
cmp byte [rcx], 0
je 0x1400582cc
mov byte [rcx], 0xff
xor al, al
jmp 0x1400582d7
mov byte [rcx], 0
movzx eax, byte [rcx + rdx]
neg al
sbb al, al
mov byte [rcx + rdx], al
inc rcx
sub r8, 1
jne 0x1400582c0
add rbx, r11
sub r9, 1
jne 0x1400582b0
jmp 0x140054bd0
lea eax, [r9 + r9]
movsxd rcx, eax
sub rbx, rcx
cmp dword [r12 + 0x1221f4], 0
je 0x140058373
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov r11, r8
mov ebp, dword [rsp + 0xc0]
add eax, r15d
movsxd r10, eax
mov r9d, edx
test r10, r10
jle 0x140058365
mov edx, esi
mov rax, rbx
add rdx, rdx
mov r8, r10
cmp word [rax], 0
je 0x140058347
mov word [rax], bp
movzx ecx, r13w
jmp 0x140058357
mov word [rax], r13w
mov ecx, r13d
cmp word [rax + rdx], 0
cmovne cx, bp
mov word [rax + rdx], cx
add rax, 2
sub r8, 1
jne 0x140058338
add rbx, r11
sub r9, 1
jne 0x140058328
jmp 0x140054bd0
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov r11, r8
mov ebp, dword [rsp + 0xc0]
add eax, r15d
mov r12d, dword [rsp + 0xc4]
movsxd r10, eax
mov r9d, edx
nop dword [rax]
test r10, r10
jle 0x1400583da
mov edx, esi
mov rax, rbx
add rdx, rdx
mov r8, r10
cmp word [rax], 0
movzx ecx, r12w
je 0x1400583bf
mov word [rax], bp
jmp 0x1400583cc
mov word [rax], r12w
cmp word [rax + rdx], 0
cmovne cx, bp
mov word [rax + rdx], cx
add rax, 2
sub r8, 1
jne 0x1400583b0
add rbx, r11
sub r9, 1
jne 0x1400583a0
mov r12, qword [rsp + 0x88]
jmp 0x140054bd0
movzx ecx, byte [r12 + 0x121dad]
cmp r8d, 1
jne 0x1400585b0
mov r8d, dword [rsp + 0x50]
test r8d, r8d
je 0x140058b2a
cmp cl, 8
jne 0x1400584da
mov r15, qword [rsp + 0x70]
mov r11d, r8d
mov ebp, r10d
nop word [rax + rax]
mov r10, r13
test r15, r15
je 0x1400584c5
mov r9d, esi
nop
mov ecx, r9d
sub ecx, esi
test cl, 7
jne 0x140058456
movsxd rcx, ecx
sar rcx, 3
movzx r14d, byte [rcx + rbx]
test r14b, r14b
jns 0x1400584b3
mov byte [rax + r10], 1
lea r8d, [r9 - 1]
mov edx, r9d
mov rcx, rax
sub rcx, rdi
mov byte [rcx + rdx], 1
lea rcx, [rax + rdi]
mov byte [rcx + rdx], 1
lea rcx, [rax + rsi]
mov byte [rcx + r10 - 1], 1
lea edx, [r9 + 1]
mov byte [rcx + r10 + 1], 1
mov rcx, rax
sub rcx, rdi
mov byte [rcx + r8], 1
mov rcx, rax
sub rcx, rdi
mov byte [rcx + rdx], 1
lea rcx, [rax + rdi]
mov byte [rcx + r8], 1
lea rcx, [rax + rdi]
mov byte [rcx + rdx], 1
inc r9d
inc r10
add r14b, r14b
cmp r10, r15
jl 0x140058440
add rbx, rbp
add rax, rdi
sub r11, 1
jne 0x140058430
jmp 0x140058b2a
mov r12, qword [rsp + 0x70]
mov rbp, r8
mov r15d, r10d
mov qword [rsp + 0x110], r15
nop dword [rax]
mov r11, r13
test r12, r12
je 0x14005859b
mov r10d, esi
mov r15d, 1
mov ecx, r10d
sub ecx, esi
test cl, 7
jne 0x14005851b
movsxd rcx, ecx
sar rcx, 3
movzx r14d, byte [rcx + rbx]
test r14b, r14b
jns 0x140058581
mov word [rax + r11*2], r15w
lea r9d, [r10 + r10]
lea r8d, [r10*2 - 2]
mov rcx, rax
sub rcx, rdi
lea edx, [r9 + 2]
mov word [rcx + r9], r15w
lea rcx, [rax + rdi]
mov word [rcx + r9], r15w
lea rcx, [r11 + rsi]
mov word [rax + rcx*2 - 2], r15w
mov word [rax + rcx*2 + 2], r15w
mov rcx, rax
sub rcx, rdi
mov word [rcx + r8], r15w
mov rcx, rax
sub rcx, rdi
mov word [rcx + rdx], r15w
lea rcx, [rax + rdi]
mov word [rcx + r8], r15w
lea rcx, [rax + rdi]
mov word [rcx + rdx], r15w
inc r10d
inc r11
add r14b, r14b
cmp r11, r12
jl 0x140058505
mov r15, qword [rsp + 0x110]
add rbx, r15
add rax, rdi
sub rbp, 1
jne 0x1400584f0
jmp 0x140058b22
mov edx, dword [rsp + 0x50]
test edx, edx
je 0x140058b2a
cmp r8d, 4
jg 0x140058869
cmp cl, 8
mov ecx, r10d
jne 0x140058704
mov r10d, edx
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x110], rcx
nop word [rax + rax]
mov rcx, r13
mov r12d, r13d
mov qword [rsp + 0x68], rcx
test rdx, rdx
je 0x1400586dd
test r12b, 7
jne 0x14005861b
mov ecx, r12d
shr rcx, 3
movzx r14d, byte [rcx + rbx]
mov rcx, qword [rsp + 0x68]
test r14b, r14b
jns 0x1400586c1
mov r11d, r8d
mov byte [rax + rcx], 1
lea ecx, [r8 + 1]
neg r11d
mov dword [rsp + 0x90], ecx
cmp r11d, ecx
jge 0x1400586bc
mov ebx, dword [rsp + 0x90]
mov ecx, r11d
imul ecx, edi
mov r15d, ebx
mov rbp, r9
sub r15d, r11d
movsxd r10, ecx
nop word [rax + rax]
lea edx, [rsi + r11]
mov r9d, ebx
add edx, r12d
mov r8, rbp
sub r9d, r11d
cmp byte [r8], 0
je 0x140058687
mov ecx, edx
add rcx, rax
cmp byte [rcx + r10], 0
jne 0x140058687
mov byte [rcx + r10], 1
inc r8
inc edx
sub r9, 1
jne 0x140058670
add rbp, 9
add r10, rdi
sub r15, 1
jne 0x140058660
mov rbx, qword [rsp + 0x1c0]
mov r8d, dword [rsp + 0x84]
mov r9, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
inc rcx
inc r12d
add r14b, r14b
mov qword [rsp + 0x68], rcx
cmp rcx, rdx
jl 0x140058604
mov r10, qword [rsp + 0x58]
add rbx, qword [rsp + 0x110]
add rax, rdi
sub r10, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x58], r10
jne 0x1400585f0
jmp 0x140058b22
mov r10, qword [rsp + 0x70]
mov r11, rdx
mov qword [rsp + 0x110], rcx
mov r15d, 1
mov qword [rsp + 0x58], rdx
nop
mov edx, r13d
mov rcx, r13
mov dword [rsp + 0x54], edx
mov qword [rsp + 0x68], rcx
test r10, r10
je 0x140058842
test dl, 7
jne 0x140058752
mov ecx, edx
shr rcx, 3
movzx r14d, byte [rcx + rbx]
mov rcx, qword [rsp + 0x68]
mov byte [rsp + 0x78], r14b
test r14b, r14b
jns 0x14005881e
mov ebp, r8d
mov word [rax + rcx*2], r15w
lea ecx, [r8 + 1]
neg ebp
mov dword [rsp + 0x90], ecx
cmp ebp, ecx
jge 0x140058819
mov r14d, dword [rsp + 0x90]
mov ecx, ebp
mov ebx, dword [rsp + 0x54]
mov r12d, r14d
imul ecx, edi
mov r15, r9
sub r12d, ebp
movsxd r11, ecx
nop word [rax + rax]
lea r8d, [rsi + rbp]
mov r10d, r14d
add r8d, ebx
mov r9, r15
sub r10d, ebp
cmp byte [r9], 0
je 0x1400587cc
lea edx, [r8 + r8]
add rdx, rax
cmp word [rdx + r11], 0
jne 0x1400587cc
mov word [rdx + r11], 1
inc r9
inc r8d
sub r10, 1
jne 0x1400587b0
mov esi, dword [rsp + 0x98]
add r15, 9
add r11, rdi
sub r12, 1
jne 0x1400587a0
mov rbx, qword [rsp + 0x1c0]
mov r15d, 1
movzx r14d, byte [rsp + 0x78]
mov r8d, dword [rsp + 0x84]
mov edx, dword [rsp + 0x54]
mov r9, qword [rsp + 0xa8]
mov r10, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
inc edx
inc rcx
add r14b, r14b
mov dword [rsp + 0x54], edx
mov qword [rsp + 0x68], rcx
mov byte [rsp + 0x78], r14b
cmp rcx, r10
jl 0x140058738
mov r11, qword [rsp + 0x58]
add rbx, qword [rsp + 0x110]
add rax, rdi
sub r11, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x58], r11
jne 0x140058720
jmp 0x140058b22
cmp cl, 8
mov ecx, r10d
jne 0x1400589c3
mov r10, qword [rsp + 0x70]
mov r9, rdx
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x58], rdx
nop word [rax + rax]
mov edx, r13d
mov rcx, r13
mov dword [rsp + 0x54], edx
mov qword [rsp + 0x68], rcx
test r10, r10
je 0x14005899c
test dl, 7
jne 0x1400588c2
mov ecx, edx
shr rcx, 3
movzx r14d, byte [rcx + rbx]
mov rcx, qword [rsp + 0x68]
mov byte [rsp + 0x78], r14b
test r14b, r14b
jns 0x140058978
lea r9d, [r8 + 1]
mov byte [rax + rcx], 1
mov r11d, r8d
mov dword [rsp + 0x90], r9d
neg r11d
cmp r11d, r9d
jge 0x140058978
mov r14d, dword [rsp + 0x54]
mov ecx, r11d
imul ecx, edi
mov ebx, r9d
sub ebx, r11d
mov r12d, r13d
movsxd r10, ecx
nop dword [rax]
nop word [rax + rax]
movsxd r8, r12d
lea edx, [rsi + r11]
add edx, r14d
add r8, rbp
sub r9d, r11d
cmp byte [r8], 0
je 0x140058935
mov ecx, edx
add rcx, r10
cmp byte [rcx + rax], 0
jne 0x140058935
mov byte [rcx + rax], 1
inc edx
inc r8
sub r9, 1
jne 0x140058920
mov r9d, dword [rsp + 0x90]
add r10, rdi
add r12d, r15d
sub rbx, 1
jne 0x140058910
mov rbx, qword [rsp + 0x1c0]
movzx r14d, byte [rsp + 0x78]
mov r8d, dword [rsp + 0x84]
mov edx, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x68]
mov r10, qword [rsp + 0x70]
inc edx
inc rcx
add r14b, r14b
mov dword [rsp + 0x54], edx
mov qword [rsp + 0x68], rcx
mov byte [rsp + 0x78], r14b
cmp rcx, r10
jl 0x1400588a8
mov r9, qword [rsp + 0x58]
add rbx, qword [rsp + 0x110]
add rax, rdi
sub r9, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x58], r9
jne 0x140058890
jmp 0x140058b22
mov r9, qword [rsp + 0x70]
mov r10, rdx
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x60], rdx
nop dword [rax + rax]
mov edx, r13d
mov rcx, r13
mov dword [rsp + 0x54], edx
mov qword [rsp + 0x68], rcx
test r9, r9
je 0x140058b00
test dl, 7
jne 0x140058a12
mov ecx, edx
shr rcx, 3
movzx r14d, byte [rcx + rbx]
mov rcx, qword [rsp + 0x68]
mov byte [rsp + 0x78], r14b
test r14b, r14b
jns 0x140058adc
lea r10d, [r8 + 1]
mov word [rax + rcx*2], 1
mov r12d, r8d
mov dword [rsp + 0x90], r10d
neg r12d
cmp r12d, r10d
jge 0x140058adc
mov r14d, dword [rsp + 0x54]
mov edx, r10d
mov ecx, r12d
mov ebx, r13d
imul ecx, r11d
sub edx, r12d
mov qword [rsp + 0x58], rdx
movsxd r11, ecx
nop dword [rax]
movsxd r9, ebx
lea r8d, [rsi + r12]
add r8d, r14d
add r9, rbp
sub r10d, r12d
cmp byte [r9], 0
je 0x140058a8c
lea edx, [r8 + r8]
add rdx, rax
cmp word [rdx + r11], 0
jne 0x140058a8c
mov word [rdx + r11], 1
inc r8d
inc r9
sub r10, 1
jne 0x140058a70
mov esi, dword [rsp + 0x98]
add r11, rdi
mov r10d, dword [rsp + 0x90]
add ebx, r15d
sub qword [rsp + 0x58], 1
jne 0x140058a60
mov rbx, qword [rsp + 0x1c0]
mov r11d, edi
movzx r14d, byte [rsp + 0x78]
mov r8d, dword [rsp + 0x84]
mov edx, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x70]
inc edx
inc rcx
add r14b, r14b
mov dword [rsp + 0x54], edx
mov qword [rsp + 0x68], rcx
mov byte [rsp + 0x78], r14b
cmp rcx, r9
jl 0x1400589f8
mov r10, qword [rsp + 0x60]
add rbx, qword [rsp + 0x110]
add rax, rdi
sub r10, 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x60], r10
jne 0x1400589e0
mov r12, qword [rsp + 0x88]
movsxd r9, dword [rsp + 0xc8]
mov r14, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x50]
mov r15d, dword [rsp + 0xcc]
add edx, r15d
movsxd r8, edi
mov eax, r8d
imul eax, r9d
movsxd rcx, eax
sub r14, rcx
cmp byte [r12 + 0x121dad], 8
jne 0x140058c63
sub r14, r9
cmp dword [r12 + 0x121dcc], 0xf
jne 0x140058beb
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov r9, r14
add eax, r15d
mov edi, edx
movsxd r10, eax
neg r9
mov rbx, r8
test r10, r10
jle 0x140058bda
mov eax, esi
mov rcx, r14
lea r11, [rax + r14]
lea r8, [r14 + rax*2]
cmp byte [rcx], 0
je 0x140058bb4
mov byte [rcx], 0xf
xor dl, dl
jmp 0x140058bc3
mov byte [rcx], 0
movzx eax, word [r8]
neg ax
sbb dl, dl
and dl, 0xf
lea rax, [r9 + r11]
add r8, 2
mov byte [rax + rcx], dl
inc rcx
lea rax, [r9 + rcx]
cmp rax, r10
jl 0x140058ba8
add r14, rbx
sub r9, rbx
sub rdi, 1
jne 0x140058b96
jmp 0x140054bd0
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov r9, r14
add eax, r15d
mov edi, edx
movsxd r10, eax
neg r9
mov rbx, r8
nop dword [rax + rax]
test r10, r10
jle 0x140058c52
mov eax, esi
mov rcx, r14
lea r11, [rax + r14]
lea r8, [r14 + rax*2]
cmp byte [rcx], 0
je 0x140058c2e
mov byte [rcx], 0xff
xor dl, dl
jmp 0x140058c3a
mov byte [rcx], 0
movzx eax, word [r8]
neg ax
sbb dl, dl
lea rax, [r9 + rcx]
add r8, 2
inc rcx
mov byte [rax + r11], dl
lea rax, [r9 + rcx]
cmp rax, r10
jl 0x140058c22
add r14, rbx
sub r9, rbx
sub rdi, 1
jne 0x140058c10
jmp 0x140054bd0
lea eax, [r9 + r9]
movsxd rcx, eax
sub r14, rcx
cmp dword [r12 + 0x1221f4], 0
je 0x140058ceb
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov r11, r8
mov ebp, dword [rsp + 0xc0]
add eax, r15d
movsxd r10, eax
mov r9d, edx
nop word [rax + rax]
test r10, r10
jle 0x140058cdd
mov edx, esi
mov rax, r14
add rdx, rdx
mov r8, r10
cmp word [rax], 0
je 0x140058cbf
mov word [rax], bp
movzx ecx, r13w
jmp 0x140058ccf
mov word [rax], r13w
mov ecx, r13d
cmp word [rax + rdx], 0
cmovne cx, bp
mov word [rax + rdx], cx
add rax, 2
sub r8, 1
jne 0x140058cb0
add r14, r11
sub r9, 1
jne 0x140058ca0
jmp 0x140054bd0
test edx, edx
jle 0x140054bd0
mov eax, dword [rsp + 0x80]
mov r11, r8
mov ebp, dword [rsp + 0xc0]
add eax, r15d
mov r12d, dword [rsp + 0xc4]
movsxd r10, eax
mov r9d, edx
test r10, r10
jle 0x140058d4f
mov edx, esi
mov rax, r14
add rdx, rdx
mov r8, r10
cmp word [rax], 0
movzx ecx, r12w
je 0x140058d34
mov word [rax], bp
jmp 0x140058d41
mov word [rax], r12w
cmp word [rax + rdx], 0
cmovne cx, bp
mov word [rax + rdx], cx
add rax, 2
sub r8, 1
jne 0x140058d25
add r14, r11
sub r9, 1
jne 0x140058d15
mov r12, qword [rsp + 0x88]
jmp 0x140054bd0
mov r12, rcx
jmp 0x140058d6d
mov r12, rax
mov rdi, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xcc]
mov r9d, dword [rsp + 0xec]
mov r10d, dword [rsp + 0xf8]
add word [rdi + 0xe], cx
add word [rdi + 0x10], cx
add word [rdi + 0x12], cx
xor r13d, r13d
lea r11d, [r13 + 1]
mov eax, 0xffff
cmp r9d, eax
ja 0x140058dcf
test r10d, r10d
jne 0x140058dcf
mov ecx, r9d
shl rcx, 4
add rcx, 0x1bbd8
add rcx, r12
mov dword [rcx], r11d
mov qword [rcx + 8], rdi
mov qword [rdi + 0x30], rcx
jmp 0x140058e60
mov qword [rdi + 0x30], r13
cmp dword [r12 + 0x11bbd8], 0x400
jne 0x140058e48
lea rax, [r12 + 0x11bbe0]
cmp qword [rax], rdi
jne 0x140058dfc
nop
inc r13d
lea rax, [rax + 8]
cmp qword [rax], rdi
je 0x140058df0
movsxd rax, r13d
add rax, 0x2377c
lea rcx, [r12 + rax*8]
mov rax, qword [r12 + rax*8]
mov byte [rax + 8], 0
mov eax, dword [r12 + 0x11bbd8]
dec eax
mov dword [r12 + 0x11bbd8], eax
sub eax, r13d
test eax, eax
jle 0x140058e48
movsxd r8, eax
lea eax, [r13 + 1]
movsxd rdx, eax
add rdx, 0x2377c
shl r8, 3
lea rdx, [r12 + rdx*8]
call fcn.140075140
movsxd rax, dword [r12 + 0x11bbd8]
mov qword [r12 + rax*8 + 0x11bbe0], rdi
inc dword [r12 + 0x11bbd8]
mov word [rdi + 8], 1
xor eax, eax
movaps xmm6, xmmword [rsp + 0x140]
mov rsi, qword [rsp + 0x150]
mov rbp, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.140107200
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret