Function at 0x1400080c0
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 0x14000827b
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 0x140008f25
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 0x1400082ca
cmp dword [rsp + 0xf0], 0
je 0x14000830f
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 0x140008a19
mov eax, 3
cmp edx, 4
cmovb eax, edx
sub edx, eax
movzx r12d, word [rdi + 2]
cmp r11d, 0x1000000
jae 0x140008351
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 0x140008381
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 0x1400083a5
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 0x1400083cf
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 0x140008405
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 0x14000842b
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 0x14000845c
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 0x140008492
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 0x1400084b8
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 0x1400084e9
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 0x14000851f
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 0x140008545
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 0x140008576
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 0x1400085ac
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 0x1400085d2
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 0x140008603
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 0x140008639
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 0x14000865f
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 0x140008690
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 0x1400086c6
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 0x1400086ec
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 0x14000871d
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 0x14000877b
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 0x1400087b8
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x140008796
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov word [r15], ax
jmp 0x140008747
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 0x1400087ab
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 0x1400088aa
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 0x140009fa0
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 0x140008890
mov dword [rsp + 0x6c], r11d
jmp 0x14000892a
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 0x140008949
cmp r9, qword [rsp + 0x150]
jb 0x14000822c
cmp r11d, 0x1000000
jae 0x140008969
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 0x140009ff4
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 0x140008a9e
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 0x140008adc
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 0x140008aff
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 0x140008b47
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 0x140008b81
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 0x140008ba4
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 0x140008bec
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 0x140008c26
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 0x140008c49
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 0x140008c91
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 0x140008ccb
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 0x140008cee
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 0x140008d36
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 0x140008d70
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 0x140008d93
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 0x140008ddb
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 0x140008e15
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 0x140008e38
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 0x140008e80
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 0x140008eba
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 0x140008edd
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 0x140008753
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
jmp 0x140008753
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 0x140008f6b
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 0x1400098bb
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 0x140008fe5
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 0x14000900f
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 0x140009be7
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 0x14000906c
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 0x14000909d
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 0x1400090c1
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 0x1400090eb
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 0x14000911f
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 0x140009142
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 0x140009170
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 0x1400091a4
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 0x1400091c7
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 0x1400091f1
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 0x140009393
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x140009c36
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 0x140009259
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 0x14000928a
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 0x1400092ae
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 0x1400092d8
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 0x14000930c
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 0x14000932f
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 0x14000935d
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 0x1400091d3
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 0x140009875
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 0x1400093f0
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 0x140009422
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 0x140009447
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 0x140009472
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 0x1400094a9
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 0x1400094cd
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 0x1400094fc
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 0x140009533
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 0x140009557
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 0x140009586
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 0x1400095bd
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 0x1400095e1
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 0x140009610
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 0x140009647
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 0x14000966b
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 0x14000969a
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 0x1400096d1
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 0x1400096f5
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 0x140009803
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 0x140009d0f
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 0x14000977a
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 0x1400097c0
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 0x1400097ed
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 0x14000974f
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 0x140009f83
add esi, 2
mov r10, qword [rsp + 0x148]
sub r10, r8
mov r13, r10
test r10, r10
je 0x140009f83
mov r10d, esi
cmp r13, r10
jae 0x1400098af
mov r10d, r13d
mov dword [rsp + 0xa0], r10d
mov dword [rsp + 0xa4], r10d
jmp 0x1400087db
mov dword [rsp + 0xa4], esi
jmp 0x1400087db
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 0x14000990d
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 0x140009a14
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 0x140009988
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 0x1400088b1
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 0x140008fab
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 0x140008fab
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 0x140009a66
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 0x140009b00
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 0x1400099d9
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 0x1400099d9
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 0x140009b52
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 0x140009ba8
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 0x140009ac0
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 0x140009ac0
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 0x1400091fb
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
jmp 0x1400091fb
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 0x140009c88
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 0x140009cc7
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 0x140009cf0
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 0x140009c5d
add esi, 0xffffff10
jmp 0x1400091f1
sub ecx, 4
nop dword [rax + rax]
nop word [rax + rax]
cmp r11d, 0x1000000
jae 0x140009d40
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 0x140009d20
mov rax, qword [rsp + 0x88]
mov rdi, rax
movzx r12d, word [rdi + 2]
cmp r11d, 0x1000000
jae 0x140009d8c
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 0x140009dbc
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 0x140009de0
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 0x140009e0a
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 0x140009e3c
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 0x140009e61
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 0x140009e8b
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 0x140009ebd
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 0x140009ee2
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 0x140009f0c
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 0x140009f3e
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 0x140009f5d
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 0x140009803
sub edx, 0xc
mov esi, 0x112
jmp 0x140008949
mov rax, qword [rsp + 0x140]
mov qword [rax + 0x28], r8
mov eax, 1
jmp 0x140009ff4
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 0x140009fa0
jmp 0x1400088aa
add rsp, 0x100
pop r13
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret