Function at 0x140008ba0
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 0x140008d5b
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 0x140009a05
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 0x140008daa
cmp dword [rsp + 0xf0], 0
je 0x140008def
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 0x1400094f9
mov eax, 3
cmp edx, 4
cmovb eax, edx
sub edx, eax
movzx r12d, word [rdi + 2]
cmp r11d, 0x1000000
jae 0x140008e31
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 0x140008e61
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 0x140008e85
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 0x140008eaf
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 0x140008ee5
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 0x140008f0b
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 0x140008f3c
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 0x140008f72
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 0x140008f98
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 0x140008fc9
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 0x140008fff
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 0x140009025
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 0x140009056
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 0x14000908c
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 0x1400090b2
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 0x1400090e3
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 0x140009119
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 0x14000913f
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 0x140009170
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 0x1400091a6
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 0x1400091cc
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 0x1400091fd
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 0x14000925b
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 0x140009298
mov eax, r11d
shr eax, 0xb
mov r14d, eax
imul r14d, r12d
cmp ebx, r14d
jae 0x140009276
mov eax, r12d
neg eax
add eax, 0x800
shr eax, 5
add eax, r12d
mov word [r15], ax
jmp 0x140009227
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 0x14000928b
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 0x14000938a
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 0x14000aa80
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 0x140009370
mov dword [rsp + 0x6c], r11d
jmp 0x14000940a
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 0x140009429
cmp r9, qword [rsp + 0x150]
jb 0x140008d0c
cmp r11d, 0x1000000
jae 0x140009449
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 0x14000aad4
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 0x14000957e
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 0x1400095bc
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 0x1400095df
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 0x140009627
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 0x140009661
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 0x140009684
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 0x1400096cc
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 0x140009706
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 0x140009729
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 0x140009771
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 0x1400097ab
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 0x1400097ce
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 0x140009816
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 0x140009850
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 0x140009873
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 0x1400098bb
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 0x1400098f5
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 0x140009918
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 0x140009960
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 0x14000999a
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 0x1400099bd
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 0x140009233
shl r11d, 8
add r9, 1
mov eax, ebx
shl eax, 8
movzx r10d, byte [r9 - 1]
mov ebx, eax
or ebx, r10d
jmp 0x140009233
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 0x140009a4b
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 0x14000a39b
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 0x140009ac5
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 0x140009aef
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 0x14000a6c7
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 0x140009b4c
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 0x140009b7d
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 0x140009ba1
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 0x140009bcb
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 0x140009bff
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 0x140009c22
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 0x140009c50
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 0x140009c84
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 0x140009ca7
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 0x140009cd1
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 0x140009e73
mov ecx, r11d
shr ecx, 0xb
mov r14d, ecx
imul r14d, r12d
cmp ebx, r14d
jae 0x14000a716
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 0x140009d39
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 0x140009d6a
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 0x140009d8e
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 0x140009db8
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 0x140009dec
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 0x140009e0f
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 0x140009e3d
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 0x140009cb3
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 0x14000a355
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 0x140009ed0
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 0x140009f02
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 0x140009f27
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 0x140009f52
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 0x140009f89
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 0x140009fad
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 0x140009fdc
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 0x14000a013
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 0x14000a037
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 0x14000a066
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 0x14000a09d
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 0x14000a0c1
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 0x14000a0f0
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 0x14000a127
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 0x14000a14b
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 0x14000a17a
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 0x14000a1b1
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 0x14000a1d5
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 0x14000a2e3
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 0x14000a7ef
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 0x14000a25a
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 0x14000a2a0
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 0x14000a2cd
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 0x14000a22f
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 0x14000aa63
add esi, 2
mov r10, qword [rsp + 0x148]
sub r10, r8
mov r13, r10
test r10, r10
je 0x14000aa63
mov r10d, esi
cmp r13, r10
jae 0x14000a38f
mov r10d, r13d
mov dword [rsp + 0xa0], r10d
mov dword [rsp + 0xa4], r10d
jmp 0x1400092bb
mov dword [rsp + 0xa4], esi
jmp 0x1400092bb
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 0x14000a3ed
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 0x14000a4f4
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 0x14000a468
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 0x140009391
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 0x140009a8b
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 0x140009a8b
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 0x14000a546
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 0x14000a5e0
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 0x14000a4b9
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 0x14000a4b9
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 0x14000a632
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 0x14000a688
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 0x14000a5a0
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 0x14000a5a0
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 0x140009cdb
shl r11d, 8
add r9, 1
mov r10d, ebx
shl r10d, 8
movzx r13d, byte [r9 - 1]
mov ebx, r10d
or ebx, r13d
jmp 0x140009cdb
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 0x14000a768
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 0x14000a7a7
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 0x14000a7d0
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 0x14000a73d
add esi, 0xffffff10
jmp 0x140009cd1
sub ecx, 4
nop dword [rax + rax]
nop word [rax + rax]
cmp r11d, 0x1000000
jae 0x14000a820
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 0x14000a800
mov rax, qword [rsp + 0x88]
mov rdi, rax
movzx r12d, word [rdi + 2]
cmp r11d, 0x1000000
jae 0x14000a86c
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 0x14000a89c
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 0x14000a8c0
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 0x14000a8ea
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 0x14000a91c
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 0x14000a941
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 0x14000a96b
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 0x14000a99d
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 0x14000a9c2
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 0x14000a9ec
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 0x14000aa1e
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 0x14000aa3d
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 0x14000a2e3
sub edx, 0xc
mov esi, 0x112
jmp 0x140009429
mov rax, qword [rsp + 0x140]
mov qword [rax + 0x28], r8
mov eax, 1
jmp 0x14000aad4
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 0x14000aa80
jmp 0x14000938a
add rsp, 0x100
pop r13
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret