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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x98
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x28]
mov dword [rsp + 0x14], eax
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x10], eax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa8]
add rax, rcx
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x10]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x48]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 8]
mov eax, 1
shl eax, cl
mov ecx, eax
sub ecx, 1
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x40]
and eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x20]
shl eax, 4
mov ecx, eax
mov rax, qword [rsp + 8]
lea rcx, [rax + rcx*2]
mov eax, dword [rsp + 0x28]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x140009f2c
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x140009ef3
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a2d6
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
mov rax, qword [rsp + 8]
add rax, 0xe6c
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa0]
cmp dword [rax + 0x44], 0
jne 0x140009f82
mov rax, qword [rsp + 0xa0]
cmp dword [rax + 0x40], 0
je 0x14000a032
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x30], 0
jne 0x140009fa4
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x78], rax
jmp 0x140009fb5
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 4]
mov eax, 1
shl eax, cl
mov ecx, eax
sub ecx, 1
mov rax, qword [rsp + 0xa0]
mov r8d, dword [rax + 0x40]
and r8d, ecx
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax]
mov cl, al
shl r8d, cl
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x78]
movzx edx, byte [rcx + rax - 1]
mov rcx, qword [rsp + 0xa0]
mov eax, 8
sub eax, dword [rcx]
mov cl, al
mov eax, edx
sar eax, cl
mov ecx, eax
mov eax, r8d
add eax, ecx
imul eax, eax, 0x300
mov ecx, eax
mov rax, qword [rsp + 0x30]
lea rax, [rax + rcx*2]
mov qword [rsp + 0x30], rax
cmp dword [rsp + 0x20], 7
jae 0x14000a120
mov dword [rsp + 0x38], 1
mov ecx, dword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + rcx*2]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a0af
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a076
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a0e1
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x38]
add eax, ecx
mov dword [rsp + 0x38], eax
jmp 0x14000a10d
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x38]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0x100
jb 0x14000a045
jmp 0x14000a2ca
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 0x4c]
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x30], rcx
jae 0x14000a14f
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x80], rax
jmp 0x14000a15b
mov qword [rsp + 0x80], 0
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx + 0x30]
sub rcx, rax
add rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x18]
movzx eax, byte [rax + rcx]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], 0x100
mov dword [rsp + 0x3c], 1
mov eax, dword [rsp + 0x40]
shl eax, 1
mov dword [rsp + 0x40], eax
mov ecx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x40]
and eax, ecx
mov dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0x44]
mov rax, qword [rsp + 0x30]
lea rcx, [rax + rcx*2]
mov eax, dword [rsp + 0x50]
lea rcx, [rcx + rax*2]
mov eax, dword [rsp + 0x3c]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a240
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a207
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a282
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x3c]
add eax, ecx
mov dword [rsp + 0x3c], eax
mov ecx, dword [rsp + 0x50]
not ecx
mov eax, dword [rsp + 0x44]
and eax, ecx
mov dword [rsp + 0x44], eax
jmp 0x14000a2bc
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x3c]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x3c], eax
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x44]
and eax, ecx
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x3c], 0x100
jb 0x14000a1a1
mov dword [rsp], 1
jmp 0x14000ad50
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov ecx, dword [rsp + 0x20]
mov rax, qword [rsp + 8]
lea rax, [rax + rcx*2 + 0x180]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a36d
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a334
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a3b3
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 8]
add rax, 0x664
mov qword [rsp + 0x30], rax
mov dword [rsp], 2
jmp 0x14000a754
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov dword [rsp], 3
mov ecx, dword [rsp + 0x20]
mov rax, qword [rsp + 8]
lea rax, [rax + rcx*2 + 0x198]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a451
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a418
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a5a7
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
mov eax, dword [rsp + 0x20]
shl eax, 4
mov ecx, eax
mov rax, qword [rsp + 8]
lea rcx, [rax + rcx*2 + 0x1e0]
mov eax, dword [rsp + 0x28]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a4ff
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a4c6
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a586
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a57a
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a541
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, 3
jmp 0x14000ada9
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
jmp 0x14000a73c
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov ecx, dword [rsp + 0x20]
mov rax, qword [rsp + 8]
lea rax, [rax + rcx*2 + 0x1b0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a63e
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a605
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a665
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
jmp 0x14000a73c
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov ecx, dword [rsp + 0x20]
mov rax, qword [rsp + 8]
lea rax, [rax + rcx*2 + 0x1c8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a6fc
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a6c3
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a720
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
jmp 0x14000a73c
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov dword [rsp + 0x20], 0xc
mov rax, qword [rsp + 8]
add rax, 0xa68
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a7c3
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a78a
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a812
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
mov eax, dword [rsp + 0x28]
shl eax, 3
mov ecx, eax
mov rax, qword [rsp + 0x30]
lea rax, [rax + rcx*2 + 4]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x64], 8
jmp 0x14000a92c
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x30]
add rax, 2
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a8a1
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a868
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a8f0
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
mov eax, dword [rsp + 0x28]
shl eax, 3
mov ecx, eax
mov rax, qword [rsp + 0x30]
lea rax, [rax + rcx*2 + 0x104]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], 8
mov dword [rsp + 0x64], 8
jmp 0x14000a92c
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x30]
add rax, 0x204
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], 0x10
mov dword [rsp + 0x64], 0x100
mov dword [rsp + 0x54], 1
mov ecx, dword [rsp + 0x54]
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + rcx*2]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000a99e
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000a965
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000a9d0
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
add eax, ecx
mov dword [rsp + 0x54], eax
jmp 0x14000a9fc
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x64]
cmp dword [rsp + 0x54], eax
jb 0x14000a934
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x54]
sub eax, ecx
mov dword [rsp + 0x54], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x54]
add eax, ecx
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x20], 4
jae 0x14000ad50
cmp dword [rsp + 0x54], 4
jae 0x14000aa45
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x88], eax
jmp 0x14000aa50
mov dword [rsp + 0x88], 3
mov eax, dword [rsp + 0x88]
shl eax, 6
mov ecx, eax
mov rax, qword [rsp + 8]
lea rax, [rax + rcx*2 + 0x360]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x68], 1
mov ecx, dword [rsp + 0x68]
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + rcx*2]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000aae0
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000aaa7
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000ab12
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x68]
add eax, ecx
mov dword [rsp + 0x68], eax
jmp 0x14000ab3e
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x68]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0x40
jb 0x14000aa76
mov eax, dword [rsp + 0x68]
sub eax, 0x40
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 4
jb 0x14000ad50
mov eax, dword [rsp + 0x68]
shr eax, 1
sub eax, 1
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x68], 0xe
jae 0x14000abae
mov edx, dword [rsp + 0x68]
and edx, 1
or edx, 2
mov eax, dword [rsp + 0x6c]
mov cl, al
mov eax, edx
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 8]
lea rax, [rax + rcx*2 + 0x560]
mov ecx, dword [rsp + 0x68]
shl rcx, 1
sub rax, rcx
sub rax, 2
mov qword [rsp + 0x30], rax
jmp 0x14000ac6a
mov eax, dword [rsp + 0x6c]
sub eax, 4
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000ac12
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000abd9
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 1
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x14]
mov eax, dword [rsp + 0x10]
sub eax, ecx
shr eax, 0x1f
sub eax, 1
mov ecx, dword [rsp + 0x14]
and ecx, eax
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x6c]
sub eax, 1
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0
jne 0x14000abb9
mov rax, qword [rsp + 8]
add rax, 0x644
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x6c], 4
mov dword [rsp + 0x70], 1
mov ecx, dword [rsp + 0x70]
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + rcx*2]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000acdc
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000aca3
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x14]
shr eax, 0xb
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x10], eax
jae 0x14000ad0e
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x70]
add eax, ecx
mov dword [rsp + 0x70], eax
jmp 0x14000ad3a
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x14]
sub eax, ecx
mov dword [rsp + 0x14], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x10]
sub eax, ecx
mov dword [rsp + 0x10], eax
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x70]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x6c]
sub eax, 1
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0
jne 0x14000ac72
cmp dword [rsp + 0x14], 0x1000000
jae 0x14000ada6
mov rax, qword [rsp + 0x18]
cmp qword [rsp + 0xa8], rax
jb 0x14000ad6d
xor eax, eax
jmp 0x14000ada9
mov eax, dword [rsp + 0x14]
shl eax, 8
mov dword [rsp + 0x14], eax
mov edx, dword [rsp + 0x10]
shl edx, 8
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
mov eax, edx
or eax, ecx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0xa8]
add rax, 1
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp]
add rsp, 0x98
ret