Function at 0x140008660
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 0x14000881b
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 0x1400094c5
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 0x14000886a
cmp dword [rsp + 0xf0], 0
je 0x1400088af
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 0x140008fb9
mov eax, 3
cmp edx, 4
cmovb eax, edx
sub edx, eax
movzx r12d, word [rdi + 2]
cmp r11d, 0x1000000
jae 0x1400088f1
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 0x140008921
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 0x140008945
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 0x14000896f
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 0x1400089a5
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 0x1400089cb
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 0x1400089fc
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 0x140008a32
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 0x140008a58
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 0x140008a89
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 0x140008abf
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 0x140008ae5
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 0x140008b16
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 0x140008b4c
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 0x140008b72
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 0x140008ba3
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 0x140008bd9
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 0x140008bff
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 0x140008c30
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 0x140008c66
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 0x140008c8c
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 0x140008cbd
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 0x140008d1b
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 0x140008d58
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x140008d36
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov word [r15], ax
jmp 0x140008ce7
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 0x140008d4b
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 0x140008e4a
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 0x14000a540
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 0x140008e30
mov dword [rsp + 0x6c], r11d
jmp 0x140008eca
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 0x140008ee9
cmp r9, qword [rsp + 0x150]
jb 0x1400087cc
cmp r11d, 0x1000000
jae 0x140008f09
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 0x14000a594
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 0x14000903e
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 0x14000907c
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 0x14000909f
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 0x1400090e7
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 0x140009121
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 0x140009144
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 0x14000918c
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 0x1400091c6
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 0x1400091e9
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 0x140009231
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 0x14000926b
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 0x14000928e
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 0x1400092d6
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 0x140009310
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 0x140009333
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 0x14000937b
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 0x1400093b5
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 0x1400093d8
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 0x140009420
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 0x14000945a
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 0x14000947d
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 0x140008cf3
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
jmp 0x140008cf3
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 0x14000950b
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 0x140009e5b
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 0x140009585
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 0x1400095af
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 0x14000a187
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 0x14000960c
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 0x14000963d
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 0x140009661
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 0x14000968b
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 0x1400096bf
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 0x1400096e2
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 0x140009710
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 0x140009744
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 0x140009767
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 0x140009791
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 0x140009933
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x14000a1d6
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 0x1400097f9
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 0x14000982a
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 0x14000984e
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 0x140009878
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 0x1400098ac
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 0x1400098cf
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 0x1400098fd
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 0x140009773
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 0x140009e15
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 0x140009990
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 0x1400099c2
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 0x1400099e7
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 0x140009a12
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 0x140009a49
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 0x140009a6d
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 0x140009a9c
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 0x140009ad3
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 0x140009af7
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 0x140009b26
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 0x140009b5d
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 0x140009b81
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 0x140009bb0
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 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 0x140009c0b
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 0x140009c3a
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 0x140009c71
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 0x140009c95
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 0x140009da3
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 0x14000a2af
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 0x140009d1a
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 0x140009d60
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 0x140009d8d
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 0x140009cef
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 0x14000a523
add esi, 2
mov r10, qword [rsp + 0x148]
sub r10, r8
mov r13, r10
test r10, r10
je 0x14000a523
mov r10d, esi
cmp r13, r10
jae 0x140009e4f
mov r10d, r13d
mov dword [rsp + 0xa0], r10d
mov dword [rsp + 0xa4], r10d
jmp 0x140008d7b
mov dword [rsp + 0xa4], esi
jmp 0x140008d7b
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 0x140009ead
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 0x140009fb4
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 0x140009f28
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 0x140008e51
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 0x14000954b
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 0x14000954b
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 0x14000a006
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 0x14000a0a0
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 0x140009f79
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 0x140009f79
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 0x14000a0f2
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 0x14000a148
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 0x14000a060
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 0x14000a060
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 0x14000979b
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
jmp 0x14000979b
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 0x14000a228
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 0x14000a267
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 0x14000a290
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 0x14000a1fd
add esi, 0xffffff10
jmp 0x140009791
sub ecx, 4
nop dword [rax + rax]
nop word [rax + rax]
cmp r11d, 0x1000000
jae 0x14000a2e0
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 0x14000a2c0
mov rax, qword [rsp + 0x88]
mov rdi, rax
movzx r12d, word [rdi + 2]
cmp r11d, 0x1000000
jae 0x14000a32c
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 0x14000a35c
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 0x14000a380
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 0x14000a3aa
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 0x14000a3dc
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 0x14000a401
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 0x14000a42b
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 0x14000a45d
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 0x14000a482
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 0x14000a4ac
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 0x14000a4de
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 0x14000a4fd
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 0x140009da3
sub edx, 0xc
mov esi, 0x112
jmp 0x140008ee9
mov rax, qword [rsp + 0x140]
mov qword [rax + 0x28], r8
mov eax, 1
jmp 0x14000a594
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 0x14000a540
jmp 0x140008e4a
add rsp, 0x100
pop r13
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret