Function at 0x1400080e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r14
push r15
push r13
sub rsp, 0x100
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x150], r8
mov rax, qword [rsp + 0x140]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x140]
mov edx, dword [rax + 0x58]
mov rax, qword [rsp + 0x140]
mov eax, dword [rax + 0x48]
mov dword [rsp + 0xd4], eax
mov rax, qword [rsp + 0x140]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0xe4], eax
mov rax, qword [rsp + 0x140]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x140]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0xec], eax
mov rax, qword [rsp + 0x140]
movzx ecx, byte [rax + 2]
mov eax, 1
shl eax, cl
sub eax, 1
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0x140]
movzx eax, byte [rax]
mov dword [rsp + 0xf4], eax
mov eax, 0x100
mov ecx, dword [rsp + 0xf4]
mov r8d, eax
shr r8d, cl
mov rax, qword [rsp + 0x140]
movzx ecx, byte [rax + 1]
mov eax, 0x100
shl eax, cl
sub eax, r8d
mov dword [rsp + 0xfc], eax
mov rax, qword [rsp + 0x140]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x140]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x140]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0x140]
mov eax, dword [rax + 0x40]
mov dword [rsp + 0xac], eax
mov rax, qword [rsp + 0x140]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x140]
mov r9, qword [rax + 0x30]
mov rax, qword [rsp + 0x140]
mov r11d, dword [rax + 0x38]
mov rax, qword [rsp + 0x140]
mov ebx, dword [rax + 0x3c]
xor esi, esi
mov eax, dword [rsp + 0xac]
and eax, dword [rsp + 0xf8]
shl eax, 4
mov dword [rsp + 0xe0], eax
add eax, edx
mov eax, eax
mov rcx, qword [rsp + 0x88]
lea rdi, [rcx + rax*2 - 0x200]
movzx r12d, word [rdi]
cmp r11d, 0x1000000
jae 0x14000829b
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx ecx, byte [r9 - 1]
mov ebx, eax
or ebx, ecx
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x140008f45
mov r11d, r14d
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov word [rdi], ax
mov rax, qword [rsp + 0x88]
lea rdi, [rax + 0x280]
cmp dword [rsp + 0xac], 0
jne 0x1400082ea
cmp dword [rsp + 0xf0], 0
je 0x14000832f
test r8, r8
cmovne rax, r8
cmove rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xc8]
movzx eax, byte [rcx + rax - 1]
mov ecx, dword [rsp + 0xac]
shl ecx, 8
add ecx, eax
mov eax, ecx
and eax, dword [rsp + 0xfc]
mov ecx, dword [rsp + 0xf4]
shl eax, cl
lea eax, [eax + eax*2]
mov eax, eax
lea rdi, [rdi + rax*2]
add dword [rsp + 0xac], 1
cmp edx, 7
jae 0x140008a39
mov eax, 3
cmp edx, 4
cmovb eax, edx
sub edx, eax
movzx r12d, word [rdi + 2]
cmp r11d, 0x1000000
jae 0x140008371
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx ecx, byte [r9 - 1]
mov ebx, eax
or ebx, ecx
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x1400083a1
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov word [rdi + 2], ax
mov eax, r14d
mov ecx, 2
jmp 0x1400083c5
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rdi + 2], r10w
mov eax, r11d
mov ecx, 3
mov r11d, eax
mov eax, ecx
movzx r12d, word [rdi + rax*2]
cmp r11d, 0x1000000
jae 0x1400083ef
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x140008425
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
add ecx, ecx
mov dword [rsp + 0xc4], r14d
jmp 0x14000844b
sub r11d, r14d
sub ebx, r14d
mov eax, r12d
shr eax, 5
neg eax
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
lea ecx, [ecx + ecx + 1]
mov dword [rsp + 0xc4], r11d
mov eax, dword [rsp + 0xc4]
mov r11d, eax
mov eax, ecx
movzx r12d, word [rdi + rax*2]
cmp r11d, 0x1000000
jae 0x14000847c
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x1400084b2
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
add ecx, ecx
mov dword [rsp + 0xc0], r14d
jmp 0x1400084d8
sub r11d, r14d
sub ebx, r14d
mov eax, r12d
shr eax, 5
neg eax
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
lea ecx, [ecx + ecx + 1]
mov dword [rsp + 0xc0], r11d
mov eax, dword [rsp + 0xc0]
mov r11d, eax
mov eax, ecx
movzx r12d, word [rdi + rax*2]
cmp r11d, 0x1000000
jae 0x140008509
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x14000853f
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
add ecx, ecx
mov dword [rsp + 0xbc], r14d
jmp 0x140008565
sub r11d, r14d
sub ebx, r14d
mov eax, r12d
shr eax, 5
neg eax
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
lea ecx, [ecx + ecx + 1]
mov dword [rsp + 0xbc], r11d
mov eax, dword [rsp + 0xbc]
mov r11d, eax
mov eax, ecx
movzx r12d, word [rdi + rax*2]
cmp r11d, 0x1000000
jae 0x140008596
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x1400085cc
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
add ecx, ecx
mov dword [rsp + 0xb8], r14d
jmp 0x1400085f2
sub r11d, r14d
sub ebx, r14d
mov eax, r12d
shr eax, 5
neg eax
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
lea ecx, [ecx + ecx + 1]
mov dword [rsp + 0xb8], r11d
mov eax, dword [rsp + 0xb8]
mov r11d, eax
mov eax, ecx
movzx r12d, word [rdi + rax*2]
cmp r11d, 0x1000000
jae 0x140008623
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x140008659
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
add ecx, ecx
mov dword [rsp + 0xb4], r14d
jmp 0x14000867f
sub r11d, r14d
sub ebx, r14d
mov eax, r12d
shr eax, 5
neg eax
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
lea ecx, [ecx + ecx + 1]
mov dword [rsp + 0xb4], r11d
mov eax, dword [rsp + 0xb4]
mov r11d, eax
mov eax, ecx
movzx r12d, word [rdi + rax*2]
cmp r11d, 0x1000000
jae 0x1400086b0
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x1400086e6
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
add ecx, ecx
mov dword [rsp + 0xb0], r14d
jmp 0x14000870c
sub r11d, r14d
sub ebx, r14d
mov eax, r12d
shr eax, 5
neg eax
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
lea ecx, [ecx + ecx + 1]
mov dword [rsp + 0xb0], r11d
mov eax, dword [rsp + 0xb0]
mov r11d, eax
mov eax, ecx
movzx r12d, word [rdi + rax*2]
cmp r11d, 0x1000000
jae 0x14000873d
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x14000879b
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
add ecx, ecx
mov dword [rsp + 0xa8], r14d
jmp 0x1400087d8
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x1400087b6
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov word [r15], ax
jmp 0x140008767
sub r11d, r14d
sub ebx, r14d
mov eax, r12d
shr eax, 5
neg eax
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
jmp 0x1400087cb
sub r11d, r14d
sub ebx, r14d
mov eax, r12d
shr eax, 5
neg eax
add eax, r12d
mov word [r15], ax
lea ecx, [ecx + ecx + 1]
mov dword [rsp + 0xa8], r11d
mov eax, dword [rsp + 0xa8]
mov r11d, eax
add r8, 1
mov rax, qword [rsp + 0xc8]
mov r10b, cl
mov byte [rax + r8 - 1], r10b
jmp 0x1400088ca
mov eax, dword [rsp + 0xa4]
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0xd4]
mov qword [rsp + 0x90], rax
xor eax, eax
cmp r8, qword [rsp + 0x90]
cmovb rax, qword [rsp + 0xd8]
mov r10, r8
sub r10, qword [rsp + 0x90]
add r10, rax
mov qword [rsp + 0x60], r10
mov eax, dword [rsp + 0x9c]
add dword [rsp + 0xac], eax
sub esi, dword [rsp + 0x9c]
mov eax, dword [rsp + 0x9c]
mov r10, qword [rsp + 0xd8]
sub r10, qword [rsp + 0x60]
cmp rax, r10
ja 0x140009fc0
mov rax, qword [rsp + 0xc8]
add rax, r8
mov r10, qword [rsp + 0x60]
sub r10, r8
mov qword [rsp + 0x80], r10
mov r10d, dword [rsp + 0x9c]
lea r13, [rax + r10]
mov qword [rsp + 0x78], r13
add r8, r10
nop
nop word [rax + rax]
mov r10, qword [rsp + 0x80]
mov r10b, byte [rax + r10]
mov byte [rax], r10b
add rax, 1
cmp rax, qword [rsp + 0x78]
jne 0x1400088b0
mov dword [rsp + 0x6c], r11d
jmp 0x14000894a
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov word [rdi], ax
mov eax, dword [rsp + 0xd4]
mov qword [rsp + 0x70], 0
mov r13, r8
sub r13, rax
cmp r8, rax
cmovb rax, qword [rsp + 0xd8]
cmovae rax, qword [rsp + 0x70]
add r13, rax
mov rax, qword [rsp + 0xc8]
mov al, byte [rax + r13]
mov r10, qword [rsp + 0xc8]
mov byte [r10 + r8], al
add r8, 1
add dword [rsp + 0xac], 1
cmp edx, 7
mov edx, 9
mov r10d, 0xb
cmovae edx, r10d
mov dword [rsp + 0x6c], r14d
mov eax, dword [rsp + 0x6c]
mov r11d, eax
cmp r8, qword [rsp + 0x148]
jae 0x140008969
cmp r9, qword [rsp + 0x150]
jb 0x14000824c
cmp r11d, 0x1000000
jae 0x140008989
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov rax, qword [rsp + 0x140]
mov qword [rax + 0x30], r9
mov rax, qword [rsp + 0x140]
mov dword [rax + 0x38], r11d
mov rax, qword [rsp + 0x140]
mov dword [rax + 0x3c], ebx
mov rax, qword [rsp + 0x140]
mov dword [rax + 0x5c], esi
mov rax, qword [rsp + 0x140]
mov qword [rax + 0x28], r8
mov rax, qword [rsp + 0x140]
mov r10d, dword [rsp + 0xac]
mov dword [rax + 0x40], r10d
mov rax, qword [rsp + 0x140]
mov r10d, dword [rsp + 0xd4]
mov dword [rax + 0x48], r10d
mov rax, qword [rsp + 0x140]
mov r10d, dword [rsp + 0xe4]
mov dword [rax + 0x4c], r10d
mov rax, qword [rsp + 0x140]
mov r10d, dword [rsp + 0xe8]
mov dword [rax + 0x50], r10d
mov rax, qword [rsp + 0x140]
mov r10d, dword [rsp + 0xec]
mov dword [rax + 0x54], r10d
mov rax, qword [rsp + 0x140]
mov dword [rax + 0x58], edx
xor eax, eax
jmp 0x14000a014
cmp edx, 0xa
mov eax, 3
mov r10d, 6
cmovae eax, r10d
sub edx, eax
mov eax, dword [rsp + 0xd4]
xor r10, r10
mov r13, r8
sub r13, rax
cmp r8, rax
cmovb rax, qword [rsp + 0xd8]
cmovae rax, r10
add r13, rax
mov rax, qword [rsp + 0xc8]
movzx eax, byte [rax + r13]
add eax, eax
mov dword [rsp + 0x5c], eax
and eax, 0x100
lea r10d, [eax + 0x101]
mov r10d, r10d
lea r15, [rdi + r10*2]
movzx r12d, word [r15]
cmp r11d, 0x1000000
jae 0x140008abe
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140008afc
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov word [r15], r10w
xor eax, 0x100
mov r10d, r14d
mov ecx, 2
jmp 0x140008b1f
sub r11d, r14d
sub ebx, r14d
mov r13d, r12d
shr r13d, 5
neg r13d
add r13d, r12d
mov r13w, r13w
mov word [r15], r13w
mov r10d, r11d
mov ecx, 3
mov r11d, r10d
shl dword [rsp + 0x5c], 1
mov dword [rsp + 0x58], eax
and eax, dword [rsp + 0x5c]
mov r10d, eax
add r10d, dword [rsp + 0x58]
add r10d, ecx
mov r10d, r10d
lea r15, [rdi + r10*2]
movzx r12d, word [r15]
cmp r11d, 0x1000000
jae 0x140008b67
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140008ba1
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov word [r15], r10w
add ecx, ecx
xor eax, dword [rsp + 0x58]
mov r10d, r14d
jmp 0x140008bc4
sub r11d, r14d
sub ebx, r14d
mov r13d, r12d
shr r13d, 5
neg r13d
add r13d, r12d
mov r13w, r13w
mov word [r15], r13w
lea ecx, [ecx + ecx + 1]
mov r10d, r11d
mov r11d, r10d
shl dword [rsp + 0x5c], 1
mov dword [rsp + 0x58], eax
and eax, dword [rsp + 0x5c]
mov r10d, eax
add r10d, dword [rsp + 0x58]
add r10d, ecx
mov r10d, r10d
lea r15, [rdi + r10*2]
movzx r12d, word [r15]
cmp r11d, 0x1000000
jae 0x140008c0c
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140008c46
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov word [r15], r10w
add ecx, ecx
xor eax, dword [rsp + 0x58]
mov r10d, r14d
jmp 0x140008c69
sub r11d, r14d
sub ebx, r14d
mov r13d, r12d
shr r13d, 5
neg r13d
add r13d, r12d
mov r13w, r13w
mov word [r15], r13w
lea ecx, [ecx + ecx + 1]
mov r10d, r11d
mov r11d, r10d
shl dword [rsp + 0x5c], 1
mov dword [rsp + 0x58], eax
and eax, dword [rsp + 0x5c]
mov r10d, eax
add r10d, dword [rsp + 0x58]
add r10d, ecx
mov r10d, r10d
lea r15, [rdi + r10*2]
movzx r12d, word [r15]
cmp r11d, 0x1000000
jae 0x140008cb1
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140008ceb
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov word [r15], r10w
add ecx, ecx
xor eax, dword [rsp + 0x58]
mov r10d, r14d
jmp 0x140008d0e
sub r11d, r14d
sub ebx, r14d
mov r13d, r12d
shr r13d, 5
neg r13d
add r13d, r12d
mov r13w, r13w
mov word [r15], r13w
lea ecx, [ecx + ecx + 1]
mov r10d, r11d
mov r11d, r10d
shl dword [rsp + 0x5c], 1
mov dword [rsp + 0x58], eax
and eax, dword [rsp + 0x5c]
mov r10d, eax
add r10d, dword [rsp + 0x58]
add r10d, ecx
mov r10d, r10d
lea r15, [rdi + r10*2]
movzx r12d, word [r15]
cmp r11d, 0x1000000
jae 0x140008d56
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140008d90
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov word [r15], r10w
add ecx, ecx
xor eax, dword [rsp + 0x58]
mov r10d, r14d
jmp 0x140008db3
sub r11d, r14d
sub ebx, r14d
mov r13d, r12d
shr r13d, 5
neg r13d
add r13d, r12d
mov r13w, r13w
mov word [r15], r13w
lea ecx, [ecx + ecx + 1]
mov r10d, r11d
mov r11d, r10d
shl dword [rsp + 0x5c], 1
mov dword [rsp + 0x58], eax
and eax, dword [rsp + 0x5c]
mov r10d, eax
add r10d, dword [rsp + 0x58]
add r10d, ecx
mov r10d, r10d
lea r15, [rdi + r10*2]
movzx r12d, word [r15]
cmp r11d, 0x1000000
jae 0x140008dfb
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140008e35
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov word [r15], r10w
add ecx, ecx
xor eax, dword [rsp + 0x58]
mov r10d, r14d
jmp 0x140008e58
sub r11d, r14d
sub ebx, r14d
mov r13d, r12d
shr r13d, 5
neg r13d
add r13d, r12d
mov r13w, r13w
mov word [r15], r13w
lea ecx, [ecx + ecx + 1]
mov r10d, r11d
mov r11d, r10d
shl dword [rsp + 0x5c], 1
mov dword [rsp + 0x58], eax
and eax, dword [rsp + 0x5c]
mov r10d, eax
add r10d, dword [rsp + 0x58]
add r10d, ecx
mov r10d, r10d
lea r15, [rdi + r10*2]
movzx r12d, word [r15]
cmp r11d, 0x1000000
jae 0x140008ea0
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140008eda
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov word [r15], r10w
add ecx, ecx
xor eax, dword [rsp + 0x58]
mov r10d, r14d
jmp 0x140008efd
sub r11d, r14d
sub ebx, r14d
mov r13d, r12d
shr r13d, 5
neg r13d
add r13d, r12d
mov r13w, r13w
mov word [r15], r13w
lea ecx, [ecx + ecx + 1]
mov r10d, r11d
mov r11d, r10d
mov r10d, dword [rsp + 0x5c]
add r10d, r10d
and r10d, eax
add r10d, eax
add r10d, ecx
mov eax, r10d
lea r15, [rdi + rax*2]
movzx r12d, word [r15]
cmp r11d, 0x1000000
jae 0x140008773
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
jmp 0x140008773
sub r11d, r14d
sub ebx, r14d
mov eax, r12d
shr eax, 5
neg eax
add eax, r12d
mov word [rdi], ax
mov rax, qword [rsp + 0x88]
mov ecx, edx
lea rdi, [rax + rcx*2 + 0x20]
movzx r12d, word [rdi]
cmp r11d, 0x1000000
jae 0x140008f8b
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx ecx, byte [r9 - 1]
mov ebx, eax
or ebx, ecx
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x1400098db
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov word [rdi], ax
add edx, 0xc
mov rax, qword [rsp + 0x88]
lea rdi, [rax - 0x600]
mov eax, r14d
jmp 0x140009005
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0xe4], ecx
mov ecx, dword [rsp + 0x2c]
mov dword [rsp + 0xd4], ecx
cmp edx, 7
mov edx, 8
mov r10d, 0xb
cmovae edx, r10d
mov rcx, qword [rsp + 0x88]
lea rdi, [rcx - 0xa00]
mov eax, r11d
mov r11d, eax
mov rax, rdi
movzx r12d, word [rax]
cmp r11d, 0x1000000
jae 0x14000902f
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x140009c07
mov r11d, r14d
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov word [rax], cx
mov ecx, dword [rsp + 0xe0]
lea rax, [rdi + rcx*2]
movzx r12d, word [rax + 2]
cmp r11d, 0x1000000
jae 0x14000908c
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x1400090bd
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov word [rax + 2], cx
mov ecx, r14d
mov esi, 2
jmp 0x1400090e1
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rax + 2], r10w
mov ecx, r11d
mov esi, 3
mov r11d, ecx
mov ecx, esi
movzx r12d, word [rax + rcx*2]
cmp r11d, 0x1000000
jae 0x14000910b
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x14000913f
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov r10d, esi
mov word [rax + r10*2], cx
add esi, esi
mov dword [rsp + 0x54], r14d
jmp 0x140009162
sub r11d, r14d
sub ebx, r14d
mov ecx, r12d
shr ecx, 5
neg ecx
add ecx, r12d
mov r10d, esi
mov word [rax + r10*2], cx
lea esi, [esi + esi + 1]
mov dword [rsp + 0x54], r11d
mov ecx, dword [rsp + 0x54]
mov r11d, ecx
mov ecx, esi
movzx r12d, word [rax + rcx*2]
cmp r11d, 0x1000000
jae 0x140009190
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x1400091c4
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov r10d, esi
mov word [rax + r10*2], cx
add esi, esi
mov dword [rsp + 0x50], r14d
jmp 0x1400091e7
sub r11d, r14d
sub ebx, r14d
mov ecx, r12d
shr ecx, 5
neg ecx
add ecx, r12d
mov r10d, esi
mov word [rax + r10*2], cx
lea esi, [esi + esi + 1]
mov dword [rsp + 0x50], r11d
mov ecx, dword [rsp + 0x50]
mov r11d, ecx
sub esi, 8
jmp 0x140009211
sub r11d, r14d
sub ebx, r14d
mov ecx, r12d
shr ecx, 5
neg ecx
add ecx, r12d
mov r10d, esi
mov word [rax + r10*2], cx
lea esi, [esi + esi + 1]
mov dword [rsp + 0x4c], r11d
jmp 0x1400093b3
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x140009c56
mov r11d, r14d
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov word [rax], cx
mov ecx, dword [rsp + 0xe0]
lea rax, [rdi + rcx*2 + 0x10]
movzx r12d, word [rax + 2]
cmp r11d, 0x1000000
jae 0x140009279
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x1400092aa
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov word [rax + 2], cx
mov ecx, r14d
mov esi, 2
jmp 0x1400092ce
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rax + 2], r10w
mov ecx, r11d
mov esi, 3
mov r11d, ecx
mov ecx, esi
movzx r12d, word [rax + rcx*2]
cmp r11d, 0x1000000
jae 0x1400092f8
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x14000932c
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov r10d, esi
mov word [rax + r10*2], cx
add esi, esi
mov dword [rsp + 0x48], r14d
jmp 0x14000934f
sub r11d, r14d
sub ebx, r14d
mov ecx, r12d
shr ecx, 5
neg ecx
add ecx, r12d
mov r10d, esi
mov word [rax + r10*2], cx
lea esi, [esi + esi + 1]
mov dword [rsp + 0x48], r11d
mov ecx, dword [rsp + 0x48]
mov r11d, ecx
mov ecx, esi
movzx r12d, word [rax + rcx*2]
cmp r11d, 0x1000000
jae 0x14000937d
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x1400091f3
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov r10d, esi
mov word [rax + r10*2], cx
add esi, esi
mov dword [rsp + 0x4c], r14d
mov ecx, dword [rsp + 0x4c]
mov r11d, ecx
cmp edx, 0xc
jb 0x140009895
mov rcx, qword [rsp + 0x88]
mov r10d, 3
cmp esi, 4
cmovb r15d, esi
cmovae r15d, r10d
mov r10d, r15d
shl r10d, 6
lea rdi, [rcx + r10*2 + 0x80]
movzx r12d, word [rdi + 2]
cmp r11d, 0x1000000
jae 0x140009410
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x140009442
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov word [rdi + 2], cx
mov ecx, r14d
mov r15d, 2
jmp 0x140009467
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rdi + 2], r10w
mov ecx, r11d
mov r15d, 3
mov r11d, ecx
mov ecx, r15d
movzx r12d, word [rdi + rcx*2]
cmp r11d, 0x1000000
jae 0x140009492
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x1400094c9
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov r10d, r15d
mov word [rdi + r10*2], cx
add r15d, r15d
mov ecx, r14d
mov dword [rsp + 0x40], ecx
jmp 0x1400094ed
sub r11d, r14d
sub ebx, r14d
mov ecx, r12d
shr ecx, 5
neg ecx
add ecx, r12d
mov r10d, r15d
mov word [rdi + r10*2], cx
lea r15d, [r15d + r15d + 1]
mov dword [rsp + 0x40], r11d
mov ecx, dword [rsp + 0x40]
mov r11d, ecx
mov ecx, r15d
movzx r12d, word [rdi + rcx*2]
cmp r11d, 0x1000000
jae 0x14000951c
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x140009553
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov r10d, r15d
mov word [rdi + r10*2], cx
add r15d, r15d
mov ecx, r14d
mov dword [rsp + 0x3c], ecx
jmp 0x140009577
sub r11d, r14d
sub ebx, r14d
mov ecx, r12d
shr ecx, 5
neg ecx
add ecx, r12d
mov r10d, r15d
mov word [rdi + r10*2], cx
lea r15d, [r15d + r15d + 1]
mov dword [rsp + 0x3c], r11d
mov ecx, dword [rsp + 0x3c]
mov r11d, ecx
mov ecx, r15d
movzx r12d, word [rdi + rcx*2]
cmp r11d, 0x1000000
jae 0x1400095a6
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x1400095dd
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov r10d, r15d
mov word [rdi + r10*2], cx
add r15d, r15d
mov ecx, r14d
mov dword [rsp + 0x38], ecx
jmp 0x140009601
sub r11d, r14d
sub ebx, r14d
mov ecx, r12d
shr ecx, 5
neg ecx
add ecx, r12d
mov r10d, r15d
mov word [rdi + r10*2], cx
lea r15d, [r15d + r15d + 1]
mov dword [rsp + 0x38], r11d
mov ecx, dword [rsp + 0x38]
mov r11d, ecx
mov ecx, r15d
movzx r12d, word [rdi + rcx*2]
cmp r11d, 0x1000000
jae 0x140009630
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x140009667
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov r10d, r15d
mov word [rdi + r10*2], cx
add r15d, r15d
mov ecx, r14d
mov dword [rsp + 0x34], ecx
jmp 0x14000968b
sub r11d, r14d
sub ebx, r14d
mov ecx, r12d
shr ecx, 5
neg ecx
add ecx, r12d
mov r10d, r15d
mov word [rdi + r10*2], cx
lea r15d, [r15d + r15d + 1]
mov dword [rsp + 0x34], r11d
mov ecx, dword [rsp + 0x34]
mov r11d, ecx
mov ecx, r15d
movzx r12d, word [rdi + rcx*2]
cmp r11d, 0x1000000
jae 0x1400096ba
shl r11d, 8
add r9, 1
mov ecx, ebx
shl ecx, 8
movzx r10d, byte [r9 - 1]
mov ebx, ecx
or ebx, r10d
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x1400096f1
mov ecx, r12d
neg ecx
add ecx, 0x800
shr ecx, 5
add ecx, r12d
mov r10d, r15d
mov word [rdi + r10*2], cx
add r15d, r15d
mov ecx, r14d
mov dword [rsp + 0x30], ecx
jmp 0x140009715
sub r11d, r14d
sub ebx, r14d
mov ecx, r12d
shr ecx, 5
neg ecx
add ecx, r12d
mov r10d, r15d
mov word [rdi + r10*2], cx
lea r15d, [r15d + r15d + 1]
mov dword [rsp + 0x30], r11d
mov ecx, dword [rsp + 0x30]
mov r11d, ecx
sub r15d, 0x40
cmp r15d, 4
jb 0x140009823
mov r10d, r15d
mov ecx, r15d
shr ecx, 1
sub ecx, 1
mov r13d, r15d
and r13d, 1
mov r15d, r13d
or r15d, 2
cmp r10d, 0xe
jae 0x140009d2f
mov r10, qword [rsp + 0x88]
lea rdi, [r10 - 0xd00]
mov r10d, r15d
shl r10d, cl
lea r15d, [r10d + 1]
mov dword [rsp + 0x28], 1
mov r10d, r15d
movzx r12d, word [rdi + r10*2]
cmp r11d, 0x1000000
jae 0x14000979a
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x1400097e0
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov r13d, r15d
mov word [rdi + r13*2], r10w
add r15d, dword [rsp + 0x28]
shl dword [rsp + 0x28], 1
mov r10d, r14d
mov dword [rsp + 0x24], r10d
jmp 0x14000980d
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov r13d, r15d
mov word [rdi + r13*2], r10w
shl dword [rsp + 0x28], 1
add r15d, dword [rsp + 0x28]
mov dword [rsp + 0x24], r11d
mov r10d, dword [rsp + 0x24]
mov r11d, r10d
sub ecx, 1
jne 0x14000976f
sub r15d, dword [rsp + 0x28]
mov r10d, dword [rsp + 0xe8]
mov dword [rsp + 0xec], r10d
mov r10d, dword [rsp + 0xe4]
mov dword [rsp + 0xe8], r10d
mov r10d, dword [rsp + 0xd4]
mov dword [rsp + 0xe4], r10d
lea r10d, [r15d + 1]
mov dword [rsp + 0xd4], r10d
cmp edx, 0x13
mov edx, 7
mov r10d, 0xa
cmovae edx, r10d
cmp dword [rsp + 0xf0], 0
cmovne r13d, dword [rsp + 0xf0]
cmove r13d, dword [rsp + 0xac]
cmp r15d, r13d
jae 0x140009fa3
add esi, 2
mov r10, qword [rsp + 0x148]
sub r10, r8
mov r13, r10
test r10, r10
je 0x140009fa3
mov r10d, esi
cmp r13, r10
jae 0x1400098cf
mov r10d, r13d
mov dword [rsp + 0xa0], r10d
mov dword [rsp + 0xa4], r10d
jmp 0x1400087fb
mov dword [rsp + 0xa4], esi
jmp 0x1400087fb
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rdi], r10w
mov r10, qword [rsp + 0x88]
mov r13d, edx
lea rdi, [r10 + r13*2 + 0x38]
movzx r12d, word [rdi]
cmp r11d, 0x1000000
jae 0x14000992d
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140009a34
mov r11d, r14d
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov word [rdi], r10w
mov r10d, dword [rsp + 0xe0]
add r10d, edx
mov r10d, r10d
mov r13, qword [rsp + 0x88]
lea rdi, [r13 + r10*2 - 0xc00]
movzx r12d, word [rdi]
cmp r11d, 0x1000000
jae 0x1400099a8
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jb 0x1400088d1
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rdi], r10w
mov r10d, dword [rsp + 0xd4]
mov dword [rsp + 0x2c], r10d
mov r10d, dword [rsp + 0xe4]
mov dword [rsp + 0x44], r10d
jmp 0x140008fcb
mov r10d, dword [rsp + 0x20]
mov dword [rsp + 0x14], r10d
mov r10d, dword [rsp + 0x1c]
mov r11d, r10d
mov r10d, dword [rsp + 0x18]
mov dword [rsp + 0xe8], r10d
mov r10d, dword [rsp + 0x14]
mov dword [rsp + 0x2c], r10d
mov r10d, dword [rsp + 0xd4]
mov dword [rsp + 0x44], r10d
jmp 0x140008fcb
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rdi], r10w
mov r10, qword [rsp + 0x88]
mov r13d, edx
lea rdi, [r10 + r13*2 + 0x50]
movzx r12d, word [rdi]
cmp r11d, 0x1000000
jae 0x140009a86
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140009b20
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov word [rdi], r10w
mov r10d, dword [rsp + 0xe8]
mov dword [rsp + 0x18], r10d
mov r10d, r14d
mov dword [rsp + 0x1c], r10d
mov r10d, dword [rsp + 0xe4]
mov dword [rsp + 0x20], r10d
jmp 0x1400099f9
mov r10d, dword [rsp + 0x10]
mov dword [rsp + 0x14], r10d
mov r10d, dword [rsp + 0xc]
mov r11d, r10d
mov r10d, dword [rsp + 8]
mov dword [rsp + 0xec], r10d
mov r10d, dword [rsp + 0xe4]
mov dword [rsp + 0x18], r10d
mov dword [rsp + 0x1c], r11d
mov r10d, dword [rsp + 0x14]
mov dword [rsp + 0x20], r10d
jmp 0x1400099f9
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rdi], r10w
mov r10, qword [rsp + 0x88]
mov r13d, edx
lea rdi, [r10 + r13*2 + 0x68]
movzx r12d, word [rdi]
cmp r11d, 0x1000000
jae 0x140009b72
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140009bc8
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov word [rdi], r10w
mov r10d, dword [rsp + 0xec]
mov dword [rsp + 8], r10d
mov r10d, r14d
mov dword [rsp + 0xc], r10d
mov r10d, dword [rsp + 0xe8]
mov dword [rsp + 0x10], r10d
jmp 0x140009ae0
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rdi], r10w
mov r10d, dword [rsp + 0xe8]
mov dword [rsp + 8], r10d
mov dword [rsp + 0xc], r11d
mov r10d, dword [rsp + 0xec]
mov dword [rsp + 0x10], r10d
jmp 0x140009ae0
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rax], r10w
lea rax, [rdi + 0x10]
movzx r12d, word [rax]
cmp r11d, 0x1000000
jae 0x14000921b
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
jmp 0x14000921b
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rax], r10w
lea rax, [rdi + 0x200]
mov esi, 1
mov r10d, esi
movzx r12d, word [rax + r10*2]
cmp r11d, 0x1000000
jae 0x140009ca8
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
mov r10d, r11d
shr r10d, 0xb
mov r14d, r10d
imul r14d, r12d
cmp ebx, r14d
jae 0x140009ce7
mov r10d, r12d
neg r10d
add r10d, 0x800
shr r10d, 5
add r10d, r12d
mov r10w, r10w
mov r13d, esi
mov word [rax + r13*2], r10w
add esi, esi
mov r10d, r14d
mov dword [rsp + 4], r10d
jmp 0x140009d10
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov r13d, esi
mov word [rax + r13*2], r10w
lea esi, [esi + esi + 1]
mov dword [rsp + 4], r11d
mov r10d, dword [rsp + 4]
mov r11d, r10d
cmp esi, 0x100
jb 0x140009c7d
add esi, 0xffffff10
jmp 0x140009211
sub ecx, 4
nop dword [rax + rax]
nop word [rax + rax]
cmp r11d, 0x1000000
jae 0x140009d60
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
shr r11d, 1
sub ebx, r11d
mov eax, ebx
shr eax, 0x1f
neg eax
lea r15d, [eax + r15d*2 + 1]
and eax, r11d
add ebx, eax
sub ecx, 1
jne 0x140009d40
mov rax, qword [rsp + 0x88]
mov rdi, rax
movzx r12d, word [rdi + 2]
cmp r11d, 0x1000000
jae 0x140009dac
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx ecx, byte [r9 - 1]
mov ebx, eax
or ebx, ecx
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x140009ddc
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov word [rdi + 2], ax
mov eax, r14d
mov ecx, 2
jmp 0x140009e00
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov word [rdi + 2], r10w
mov eax, r11d
mov ecx, 3
mov r11d, eax
mov eax, ecx
movzx r12d, word [rdi + rax*2]
cmp r11d, 0x1000000
jae 0x140009e2a
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x140009e5c
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
add ecx, 2
mov eax, r14d
jmp 0x140009e81
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov r13d, ecx
mov word [rdi + r13*2], r10w
add ecx, 4
mov eax, r11d
mov r11d, eax
mov eax, ecx
movzx r12d, word [rdi + rax*2]
cmp r11d, 0x1000000
jae 0x140009eab
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x140009edd
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
add ecx, 4
mov eax, r14d
jmp 0x140009f02
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
neg r10d
add r10d, r12d
mov r10w, r10w
mov r13d, ecx
mov word [rdi + r13*2], r10w
add ecx, 8
mov eax, r11d
mov r11d, eax
mov eax, ecx
movzx r12d, word [rdi + rax*2]
cmp r11d, 0x1000000
jae 0x140009f2c
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x140009f5e
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov r10d, ecx
mov word [rdi + r10*2], ax
sub ecx, 8
mov eax, r14d
jmp 0x140009f7d
sub r11d, r14d
sub ebx, r14d
mov r10d, r12d
shr r10d, 5
sub r12d, r10d
mov r10w, r12w
mov r12d, ecx
mov word [rdi + r12*2], r10w
mov eax, r11d
mov r11d, eax
mov eax, r15d
shl eax, 4
mov r15d, eax
or r15d, ecx
cmp r15d, 0xffffffff
jne 0x140009823
sub edx, 0xc
mov esi, 0x112
jmp 0x140008969
mov rax, qword [rsp + 0x140]
mov qword [rax + 0x28], r8
mov eax, 1
jmp 0x14000a014
add r8, 1
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x60]
mov al, byte [rax + rcx]
mov rcx, qword [rsp + 0xc8]
mov byte [rcx + r8 - 1], al
mov rax, qword [rsp + 0x60]
add rax, 1
xor ecx, ecx
cmp rax, qword [rsp + 0xd8]
cmove rax, rcx
mov qword [rsp + 0x60], rax
sub dword [rsp + 0x9c], 1
cmp dword [rsp + 0x9c], 0
jne 0x140009fc0
jmp 0x1400088ca
add rsp, 0x100
pop r13
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret