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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x188
mov rax, qword [0x14015f0e8]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x1f0]
mov r11, rcx
mov r15, qword [rsp + 0x1f8]
mov rbp, rdx
mov qword [rsp + 0x48], rcx
xor ebx, ebx
mov qword [rsp + 0x50], rax
lea rcx, [r8 + 0x70]
mov rdi, qword [rax + 0x60]
mov esi, r9d
movzx eax, byte [rax + 0x40]
mov r12, r8
mov qword [rsp + 0xd8], rcx
mov rcx, qword [r11]
mov qword [rsp + 0x98], rcx
imul rcx, rax, 0x68
mov rax, qword [r8 + 8]
add rcx, 8
mov qword [rsp + 0x40], rdx
add rax, rcx
mov dword [rsp + 0x84], r9d
lea rcx, [r8 + 0x258]
mov qword [rsp + 0x70], r8
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], rbx
mov r14d, dword [rax + 0x44]
mov edx, r14d
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xd0], rax
mov dword [rsp + 0x58], r14d
call fcn.140098d50
mov r10, qword [rsp + 0x50]
not rax
and rax, r15
mov ecx, esi
mov qword [r10 + 0x68], rax
mov r15, qword [r12 + 0x68]
shr r15, cl
mov rcx, r11
and r15d, 1
mov qword [rsp + 0xa8], r15
call fcn.1400eac30
mov r13d, eax
mov dword [r10 + 0x10], eax
mov dword [r10 + 0xc], eax
call fcn.1400eac30
mov dword [rsp + 0xb4], eax
mov dword [r10 + 0x18], eax
cmp byte [r10 + 0x40], bl
jbe 0x14009b98d
mov rax, qword [rsp + 0xd0]
test byte [rax + 0x3c], 8
je 0x14009b98d
mov r9d, dword [r11 + 0x38]
lea edx, [rbx + 0x47]
inc r9d
xor r8d, r8d
mov dword [r11 + 0x38], r9d
mov rcx, rbp
mov dword [r10], r9d
call fcn.1400eb1e0
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x48]
mov edx, esi
test esi, esi
jle 0x14009b9c0
nop dword [rax]
nop word [rax + rax]
mov eax, edx
imul rcx, rax, 0x70
cmp dword [rcx + r12 + 0x360], ebx
jne 0x14009b9c0
cmp qword [rcx + r12 + 0x398], rbx
jne 0x14009b9c0
dec edx
test edx, edx
jg 0x14009b9a0
movsxd rax, edx
mov edx, 0xb
imul rcx, rax, 0x70
mov rax, qword [rsp + 0xd0]
mov r8d, dword [rax + 0x40]
mov r9d, dword [rcx + r12 + 0x36c]
test r8b, 0x20
je 0x14009ba2a
mov ebx, dword [rax + 0x34]
xor r9d, r9d
mov eax, dword [rax + 0x30]
mov r8d, ebx
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.1400eb160
mov r9d, r13d
mov r8d, ebx
mov edx, 0xc
mov rcx, rbp
call fcn.1400eb1e0
mov r10, qword [rsp + 0x50]
mov r13, rbp
mov r8, r12
mov dword [r10 + 0x48], eax
mov byte [r10 + 0x41], 9
jmp 0x14009bdf1
mov edx, dword [rdi + 0x38]
bt edx, 0xa
jae 0x14009be0c
movzx r12d, word [rdi + 0x3c]
mov rcx, r11
mov dword [rsp + 0x80], r12d
lea edx, [r12 + 2]
call fcn.1400ce790
mov ebp, dword [r10 + 0xc]
mov r13d, eax
mov dword [rsp + 0x84], eax
mov esi, ebx
test r12d, r12d
je 0x14009bb96
mov r13, qword [rsp + 0xa8]
lea r12d, [rax + 2]
mov r15, rbx
nop dword [rax]
mov rax, qword [rdi + 0x48]
mov r14, qword [r15 + rax]
test r14, r14
je 0x14009bb6e
test byte [r14 + 0x14], 1
je 0x14009bb20
cmp esi, 0x1f
ja 0x14009baac
mov ecx, esi
mov eax, 1
shl eax, cl
jmp 0x14009baae
mov eax, ebx
mov rcx, r11
test dword [rdi + 0x30], eax
je 0x14009bafa
mov edi, dword [r11 + 0x34]
mov r8d, edi
inc dword [r11 + 0x38]
mov ebx, dword [r11 + 0x38]
lea eax, [rdi + 1]
mov dword [r11 + 0x34], eax
mov rdx, qword [r14]
call fcn.1400d2ef0
mov rcx, qword [rsp + 0x40]
lea r9d, [r12 + rsi]
mov r8d, edi
mov dword [rsp + 0x20], ebx
mov edx, 0xaf
call fcn.1400eb160
mov rdi, qword [rsp + 0xa0]
xor ebx, ebx
jmp 0x14009bb64
lea eax, [r12 + rsi]
mov r9d, esi
mov dword [rsp + 0x28], eax
mov r8, r10
mov rdx, r14
mov dword [rsp + 0x20], r13d
call fcn.14009dfd0
mov r10, qword [rsp + 0x50]
mov ebp, dword [r10 + 0x10]
jmp 0x14009bb69
mov rdx, qword [r14]
lea r8d, [r12 + rsi]
mov r9d, 1
mov rcx, r11
mov rdx, qword [rdx + 0x18]
call fcn.14009dae0
cmp byte [r14 + 0x17], 0x4a
jne 0x14009bb64
test byte [rdi + 0x1c], 2
je 0x14009bb64
mov rax, qword [rsp + 0x70]
xor r8d, r8d
mov rcx, qword [rsp + 0x40]
mov rax, qword [rax + 0x20]
lea edx, [r8 + 0x47]
mov r9d, dword [rax + 0xc]
call fcn.1400eb1e0
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x48]
inc esi
add r15, 8
cmp esi, dword [rsp + 0x80]
jl 0x14009ba80
mov r13d, dword [rsp + 0x84]
mov r12d, dword [rsp + 0x80]
mov r14d, dword [rsp + 0x58]
mov r8d, dword [rdi + 0x18]
mov r9d, r13d
mov rcx, qword [rsp + 0x40]
mov edx, 0x47
call fcn.1400eb1e0
mov rcx, qword [rsp + 0x40]
lea r9d, [r13 + 1]
mov r8d, r12d
mov edx, 0x47
call fcn.1400eb1e0
test byte [rdi + 0x1c], 1
mov ecx, 0xfffffffa
mov eax, 0xffffffff
mov r9d, ebp
mov rbp, qword [rsp + 0x40]
cmovne eax, ecx
mov dword [rsp + 0x30], eax
mov r8d, r14d
mov rax, qword [rdi + 0x28]
lea edx, [rcx + 0xc]
mov qword [rsp + 0x28], rax
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.1400eaf50
mov rdx, qword [rsp + 0x98]
and dword [rdi + 0x1c], 0xfffffffe
cmp byte [rdx + 0x67], 0
je 0x14009bc15
mov qword [rdi + 0x28], 0
mov r10, qword [rsp + 0x50]
mov eax, 0x3f
mov r8, qword [rsp + 0x70]
mov rcx, rbp
mov dword [r10 + 0x44], r14d
mov r14d, 0xb9
cmp byte [r8 + 0x42], 0
cmovne eax, r14d
mov byte [r10 + 0x41], al
call fcn.1400ea9b0
xor ebx, ebx
mov dword [r10 + 0x48], eax
test r12d, r12d
je 0x14009d380
xor r15d, r15d
lea esi, [r13 + 2]
nop dword [rax]
mov rax, qword [rdi + 0x48]
mov r14, qword [r15 + rax]
cmp ebx, 0x10
jae 0x14009bc8b
movzx eax, word [rdi + 0x22]
movzx ecx, bx
shr ax, cl
test al, 1
je 0x14009bc8b
mov rdx, r14
mov rcx, r10
call fcn.14009e7f0
jmp 0x14009bdd2
test byte [r14 + 0x14], 1
je 0x14009bdda
cmp ebx, 0x1f
ja 0x14009bca6
mov ecx, ebx
mov eax, 1
shl eax, cl
jmp 0x14009bca8
xor eax, eax
test dword [rdi + 0x30], eax
jne 0x14009bdda
cmp byte [rdx + 0x67], 0
jne 0x14009bdda
mov edi, dword [r10 + 0x50]
xor r11d, r11d
test edi, edi
jle 0x14009bd25
mov r9, qword [r10 + 0x58]
add r9, 4
nop
mov edx, dword [r9]
mov rcx, rbp
call fcn.1400ea2a0
mov r10, rax
movzx ecx, byte [rax]
cmp cl, 0x5e
jne 0x14009bcef
lea eax, [rsi + rbx]
cmp dword [r10 + 0xc], eax
jmp 0x14009bcfb
cmp cl, 0x87
jne 0x14009bcfd
lea eax, [rsi + rbx]
cmp dword [r10 + 8], eax
je 0x14009bd0b
inc r11d
add r9, 0x14
cmp r11d, edi
jl 0x14009bcd0
jmp 0x14009bd25
mov eax, dword [r10 + 0xc]
mov edx, ecx
mov r9d, dword [r10 + 8]
mov rcx, rbp
mov r8d, dword [r10 + 4]
mov dword [rsp + 0x20], eax
call fcn.1400eb160
mov r13, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0x35]
call fcn.1400d5ca0
mov r9, qword [rsp + 0x98]
mov rdi, rax
cmp byte [r9 + 0x67], 0
jne 0x14009bdba
mov rax, qword [r14]
movsxd rcx, dword [r14 + 0x24]
mov rdx, qword [rax + 0x10]
test ecx, ecx
jle 0x14009bd6a
mov rax, qword [rdx + 0x20]
shl rcx, 5
mov rdx, qword [rcx + rax - 0x18]
mov qword [rdi + 0x10], rdx
xor r8d, r8d
mov edx, 0xb0
mov rcx, r9
call fcn.1400d5df0
mov qword [rdi + 0x18], rax
mov rcx, rax
test rax, rax
je 0x14009bdaa
lea eax, [rsi + rbx]
mov r9d, 0x10
mov dword [rcx + 0x2c], eax
mov rdx, rdi
mov rcx, qword [rsp + 0x50]
mov r8d, dword [rcx + 0x18]
mov rcx, r13
call fcn.1400cfc80
mov r9, qword [rsp + 0x98]
mov qword [rdi + 0x10], 0
mov rdx, rdi
mov rcx, r9
call fcn.1400d5680
mov r10, qword [rsp + 0x50]
mov rdi, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x98]
inc ebx
add r15, 8
cmp ebx, r12d
jl 0x14009bc60
mov r13, rbp
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
neg rax
lea rax, [r8 + 0x70]
sbb r12d, r12d
add r12d, 2
jmp 0x14009d395
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x14009bee8
mov rax, qword [rdi + 0x48]
xor r9d, r9d
mov r8, r10
mov rcx, r11
mov rdx, qword [rax]
inc dword [r11 + 0x38]
mov ebx, dword [r11 + 0x38]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r15d
call fcn.14009dfd0
mov r15, qword [rsp + 0x48]
mov edi, eax
cmp eax, ebx
je 0x14009be5c
mov edx, ebx
mov rcx, r15
call fcn.1400ce7e0
mov r14, qword [rsp + 0x50]
cmp dword [r14 + 0x34], 0
mov ebx, dword [r14 + 0x10]
je 0x14009bebc
mov r9d, ebx
mov r8d, edi
mov edx, 0xd
mov rcx, rbp
call fcn.1400eb1e0
mov r8d, dword [r14 + 0x34]
mov eax, 1
mov dword [rsp + 0x28], eax
mov r9d, ebx
mov rcx, rbp
mov dword [rsp + 0x20], edi
lea edx, [rax + 0x3f]
call fcn.1400eb0e0
mov rax, qword [rsp + 0xe0]
mov r9d, ebx
mov r8d, esi
mov qword [rsp + 0x20], rax
mov rdx, r12
mov rcx, r15
call fcn.14009d8d0
mov r8d, dword [rsp + 0x58]
mov r9d, ebx
mov edx, 0x1e
mov dword [rsp + 0x20], edi
mov rcx, rbp
call fcn.1400eb160
mov r10, r14
mov byte [r14 + 0x41], 0xb9
mov r8, r12
mov r13, rbp
jmp 0x14009bdf1
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x14009c105
xor eax, eax
mov r14d, 0xb9
mov ebp, r14d
mov r12d, ebx
mov ecx, eax
test dl, 0x20
je 0x14009bf1e
mov rax, qword [rdi + 0x48]
mov r8d, 8
mov rcx, qword [rax]
jmp 0x14009bf21
mov r8, rax
test dl, 0x10
je 0x14009bf2e
mov rax, qword [rdi + 0x48]
mov rbx, qword [r8 + rax]
test r15d, r15d
mov rdi, rcx
cmove rdi, rbx
cmove rbx, rcx
test rbx, rbx
je 0x14009bff4
mov rsi, qword [rbx]
mov dword [rsp + 0x5c], 0x17151618
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
call fcn.1400d66a0
mov rcx, r11
test eax, eax
je 0x14009bf93
call fcn.1400ce800
mov rdx, qword [rsi + 0x18]
mov r8d, eax
mov r9d, 1
mov ebx, eax
mov r15d, eax
call fcn.14009dae0
movzx ecx, byte [rsi]
inc rcx
and ecx, 2
or rcx, 1
movzx eax, byte [rsp + rcx + 0x5c]
jmp 0x14009bfc1
lea r8, [rsp + 0x84]
call fcn.1400d0860
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
mov r15d, eax
call fcn.14009e7f0
movzx r10d, byte [rsi]
mov ebx, dword [rsp + 0x84]
movzx eax, byte [rsp + r10 + 0x26]
mov rsi, qword [rsp + 0x40]
mov r9d, r13d
mov r8d, dword [rsp + 0x58]
mov rcx, rsi
movzx edx, al
mov dword [rsp + 0x20], r15d
call fcn.1400eb160
mov rcx, qword [rsp + 0x48]
mov edx, ebx
call fcn.1400ce7e0
mov r15, qword [rsp + 0xa8]
jmp 0x14009c018
mov rsi, qword [rsp + 0x40]
mov edx, r15d
mov r8d, dword [rsp + 0x58]
xor edx, 1
mov rcx, rsi
lea edx, [rdx*4 + 0x20]
call fcn.1400eb1e0
mov rcx, qword [rsp + 0x48]
test rdi, rdi
je 0x14009c087
mov rbx, qword [rdi]
mov r9d, 1
inc dword [rcx + 0x38]
mov r12d, dword [rcx + 0x38]
mov r8d, r12d
mov rdx, qword [rbx + 0x18]
call fcn.14009dae0
mov rdx, qword [rbx + 0x18]
mov rcx, rdx
call fcn.1400d66a0
test eax, eax
jne 0x14009c061
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
jne 0x14009c061
mov eax, r15d
xor eax, 1
lea ebp, [rax*2 + 0x37]
jmp 0x14009c069
lea ebp, [r15*2 + 0x36]
mov rcx, rdx
call fcn.1400d66a0
mov r10, qword [rsp + 0x50]
test eax, eax
jne 0x14009c08c
mov rdx, rdi
mov rcx, r10
call fcn.14009e7f0
jmp 0x14009c08c
mov r10, qword [rsp + 0x50]
mov rcx, rsi
call fcn.1400ea9b0
mov edi, dword [rsp + 0x58]
mov ecx, eax
test r15d, r15d
mov dword [r10 + 0x44], edi
mov dword [r10 + 0x48], ecx
sete al
add al, 0x26
mov byte [r10 + 0x41], al
cmp ebp, r14d
je 0x14009d305
mov rax, qword [rsp + 0x48]
mov r8d, edi
mov edx, 0x87
mov rcx, rsi
inc dword [rax + 0x38]
mov ebx, dword [rax + 0x38]
mov r9d, ebx
call fcn.1400eb1e0
mov r9d, r13d
mov dword [rsp + 0x20], ebx
mov r13, qword [rsp + 0x40]
mov r8d, r12d
mov rcx, r13
mov edx, ebp
call fcn.1400eb160
mov edx, 0x53
mov rcx, r13
call fcn.1400ea7a0
mov r10, qword [rsp + 0x50]
jmp 0x14009bdec
bt edx, 9
jae 0x14009cb0a
movzx r14d, word [rdi + 0x18]
xor ecx, ecx
movzx r9d, word [rdi + 0x1c]
xor sil, sil
mov r11, qword [rsp + 0xa0]
mov eax, r14d
movzx ebp, word [rdi + 0x1a]
mov edi, ecx
mov r12d, dword [r10 + 8]
mov r13, rbx
mov qword [rsp + 0xb8], rcx
mov r15, rbx
mov byte [rsp + 0x7c], cl
mov r8d, r14d
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x80], ecx
mov rcx, qword [r11 + 0x20]
mov qword [rsp + 0x60], rcx
mov word [rsp + 0xb0], r9w
mov qword [rsp + 0xc0], rbx
mov dword [rsp + 0x88], r12d
mov dword [rsp + 0x5c], eax
test dl, 0x20
je 0x14009c18b
mov rax, qword [r11 + 0x48]
inc r8d
mov ebx, ebp
mov r13, qword [rax + r14*8]
test dl, 0x10
je 0x14009c261
mov rax, qword [r11 + 0x48]
cmp ebx, r9d
mov ecx, r8d
mov edi, r9d
cmova edi, ebx
mov r15, qword [rax + rcx*8]
mov eax, 0x100
mov qword [rsp + 0xc0], r15
test word [r15 + 0x12], ax
je 0x14009c222
mov rcx, qword [rsp + 0x48]
mov edx, 0x47
mov r9d, dword [rcx + 0x38]
lea r8d, [rdx - 0x46]
inc r9d
mov dword [rcx + 0x38], r9d
mov rcx, qword [rsp + 0x40]
mov dword [r10 + 0x2c], r9d
call fcn.1400eb1e0
mov rcx, qword [rsp + 0x40]
call fcn.1400ea9b0
mov r10, qword [rsp + 0x50]
xor ecx, ecx
mov r9, qword [rsp + 0x60]
mov r11, qword [rsp + 0xa0]
shl dword [r10 + 0x2c], 1
mov dword [r10 + 0x30], eax
mov rax, qword [r9 + 0x38]
cmp byte [r14 + rax], 1
sete cl
xor ecx, dword [rsp + 0xa8]
or dword [r10 + 0x2c], ecx
jmp 0x14009c227
mov r9, qword [rsp + 0x60]
mov rdx, r14
mov ebx, edi
test r13, r13
jne 0x14009c25d
mov rax, qword [r9 + 8]
movsx r8, word [rax + rdx*2]
test r8d, r8d
js 0x14009c252
mov rax, qword [r9 + 0x18]
lea rdx, [r8 + r8*2]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
je 0x14009c258
cmp r8d, 0xfffffffe
jne 0x14009c25d
mov sil, 1
mov ebx, edi
mov edi, dword [rsp + 0x68]
mov eax, dword [r11 + 0x38]
test al, 0x30
jne 0x14009c2c1
bt eax, 0x13
jae 0x14009c2c1
mov rax, qword [rsp + 0x48]
mov ebx, 1
movzx esi, bl
inc dword [rax + 0x38]
cmp dword [r10], 0
mov edi, dword [rax + 0x38]
mov dword [rsp + 0x68], edi
mov dword [r10 + 0x24], edi
je 0x14009c2b5
mov rcx, qword [rsp + 0x40]
lea edx, [rbx + 0x46]
mov r9d, edi
xor r8d, r8d
call fcn.1400eb1e0
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x48]
mov rcx, rax
call fcn.1400eac30
mov dword [r10 + 0x28], eax
mov rax, qword [rsp + 0x60]
cmp r14w, word [rax + 0x60]
jae 0x14009c310
mov rax, qword [rax + 0x38]
xor edx, edx
cmp byte [r14 + rax], dl
sete dl
cmp dword [rsp + 0xa8], edx
jne 0x14009c310
mov rax, r15
mov qword [rsp + 0xc0], r13
mov r15, r13
mov byte [rsp + 0x7c], sil
mov r13, rax
xor sil, sil
movzx eax, bpl
movzx ebp, word [rsp + 0xb0]
mov word [rsp + 0xb0], ax
cmp dword [rsp + 0x84], 0
jle 0x14009c336
test dword [r11 + 0x38], 0x100000
je 0x14009c336
mov rcx, qword [rsp + 0x40]
mov r8d, r12d
mov edx, 0x88
call fcn.1400eb200
mov r8d, dword [rsp + 0xa8]
lea rax, [rsp + 0xc8]
mov rcx, qword [rsp + 0x48]
mov r9d, ebx
mov rbx, qword [rsp + 0x50]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14009dd00
mov rdx, qword [rsp + 0xc8]
mov ecx, eax
mov dword [rsp + 0x90], eax
test rdx, rdx
je 0x14009c3a0
cmp word [rsp + 0xb0], 0
je 0x14009c3a0
mov rcx, qword [rsp + 0x98]
add rdx, r14
call fcn.14010f400
mov ecx, dword [rsp + 0x90]
mov qword [rsp + 0xb8], rax
test edi, edi
je 0x14009c3a9
mov eax, dword [rbx + 0x28]
jmp 0x14009c3ac
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x78], eax
test r13, r13
je 0x14009c3c8
test byte [r13 + 0x14], 0x28
jne 0x14009c3c8
xor r8d, r8d
mov r12d, r8d
lea edx, [r8 + 1]
jmp 0x14009c3d3
mov edx, 1
xor r8d, r8d
mov r12d, edx
test r15, r15
je 0x14009c3e7
test byte [r15 + 0x14], 0x28
mov dword [rsp + 0x94], r8d
je 0x14009c3ee
mov dword [rsp + 0x94], edx
test r13, r13
jne 0x14009c430
test r14w, r14w
jne 0x14009c430
mov r15d, r8d
mov edx, r14d
mov edi, edx
test sil, sil
je 0x14009c4eb
mov r12d, r8d
lea r9d, [r14 + rcx]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
lea edx, [r8 + 0x4b]
call fcn.1400eb1e0
mov ebp, dword [rsp + 0x68]
mov dword [rsp + 0x5c], r14d
jmp 0x14009c513
mov r15d, edx
mov edx, r14d
mov edi, r14d
test r13, r13
je 0x14009c3ff
mov rax, qword [r13]
movzx esi, bp
lea ebp, [rcx + r14]
mov rcx, qword [rsp + 0x48]
mov r9d, esi
mov r8d, ebp
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.14009dae0
mov r10, qword [rsp + 0x40]
mov r8, r13
mov rdx, qword [rsp + 0x50]
mov rcx, r10
call fcn.14009dcc0
test byte [r13 + 0x12], 0x80
jne 0x14009c49d
mov rcx, rbx
call fcn.1400d3e60
test eax, eax
je 0x14009c49d
mov r9d, dword [rsp + 0x78]
mov r8d, ebp
mov edx, 0x32
mov rcx, r10
call fcn.1400eb1e0
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x14009c4b8
lea r8, [rcx + r14]
mov edx, esi
mov rcx, rbx
call fcn.14009e6e0
mov rcx, rbx
add edi, esi
call fcn.1400d66a0
test eax, eax
jne 0x14009c4dc
mov rcx, qword [rsp + 0x50]
mov rdx, r13
call fcn.14009e7f0
mov ebp, dword [rsp + 0x68]
xor sil, sil
jmp 0x14009c51b
mov ebp, dword [rsp + 0x68]
mov r12d, 1
xor sil, sil
jmp 0x14009c51b
mov ebp, dword [rsp + 0x68]
mov ebx, r14d
mov dword [rsp + 0x5c], ebx
test ebp, ebp
je 0x14009c51b
xor r8d, r8d
lea r9d, [r14 + rcx]
mov rcx, qword [rsp + 0x40]
lea edx, [r8 + 0x4b]
call fcn.1400eb1e0
mov dword [rsp + 0x5c], ebx
inc edi
mov r15d, 1
mov ebx, dword [rsp + 0x90]
mov r8d, edi
mov r9, qword [rsp + 0xc8]
mov edx, ebx
mov rcx, qword [rsp + 0x48]
movzx esi, sil
sub r8d, esi
mov dword [rsp + 0x8c], esi
call fcn.14009e770
mov rcx, qword [rsp + 0xa0]
lea r14, [0x140000000]
movzx eax, word [rcx + 0x3e]
test ax, ax
je 0x14009c567
cmp edi, eax
je 0x14009c708
test ebp, ebp
je 0x14009c581
mov rcx, qword [rsp + 0x40]
mov edx, 0x47
mov r9d, ebp
lea r8d, [rdx - 0x46]
call fcn.1400eb1e0
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 0x34]
test r8d, r8d
je 0x14009c5d8
mov eax, dword [rsp + 0x5c]
mov edx, 0x40
mov r9d, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.1400eb0e0
mov rax, qword [rsp + 0xe0]
mov r9d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.14009d8d0
mov rcx, qword [rsp + 0xa8]
lea eax, [r12 + r15*2]
lea ecx, [rcx + rax*2]
mov rax, qword [rsp + 0xa0]
movzx ebx, byte [rcx + r14 + 0x1327f8]
test dword [rax + 0x38], 0x100000
je 0x14009c679
cmp ebx, 0x17
jne 0x14009c679
mov rcx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x40]
mov rax, qword [rcx + 0x10]
movsx ecx, word [rax]
mov eax, 0x66666667
add ecx, 9
imul ecx
mov rcx, r15
sar edx, 2
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
lea edx, [rbx + 0x65]
call fcn.1400eb200
mov dword [rsp + 0x80], eax
mov r9d, eax
test r13, r13
jne 0x14009c652
cmp qword [rsp + 0xc0], r13
je 0x14009c679
mov edx, 1
mov rcx, r15
call fcn.1400ea7a0
call fcn.1400ea9b0
mov edx, r9d
lea r8d, [rax + 1]
call fcn.1400ea7f0
xor eax, eax
mov dword [rsp + 0x80], eax
mov r13d, dword [rsp + 0x78]
mov edx, ebx
mov rbx, qword [rsp + 0x40]
mov r9d, r13d
mov r15d, dword [rsp + 0x90]
mov rcx, rbx
mov r8d, dword [rsp + 0x88]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r15d
call fcn.1400eb0e0
test ebp, ebp
je 0x14009c710
mov rcx, rbx
call fcn.1400ea9b0
xor r8d, r8d
lea r9d, [rax + 2]
lea edx, [r8 + 9]
call fcn.1400eb1e0
mov r8d, dword [rsp + 0x88]
mov eax, 2
mov edx, 6
mov ecx, edi
sub ecx, r12d
mov r9d, r13d
mov dword [rsp + 0x28], ecx
cmp edi, 1
mov rcx, rbx
mov dword [rsp + 0x20], r15d
cmova eax, edx
add eax, dword [rsp + 0xa8]
movzx edx, byte [rax + r14 + 0x1327f8]
call fcn.1400eb0e0
jmp 0x14009c710
mov r13d, dword [rsp + 0x78]
mov r15d, ebx
mov r12, qword [rsp + 0xc0]
mov ebp, dword [rsp + 0x5c]
mov ebx, ebp
test r12, r12
je 0x14009c8cf
mov rax, qword [r12]
add ebp, r15d
movzx esi, word [rsp + 0xb0]
mov r8d, ebp
mov rcx, qword [rsp + 0x48]
mov r9d, esi
mov rdi, qword [rax + 0x18]
mov rdx, rdi
call fcn.14009dae0
mov r10, qword [rsp + 0x40]
mov r8, r12
mov rdx, qword [rsp + 0x50]
mov rcx, r10
call fcn.14009dcc0
test byte [r12 + 0x12], 0x80
jne 0x14009c789
mov rcx, rdi
call fcn.1400d3e60
test eax, eax
je 0x14009c789
mov r9d, r13d
mov r8d, ebp
mov edx, 0x32
mov rcx, r10
call fcn.1400eb1e0
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x14009c7ba
mov r8, rax
mov edx, esi
mov rcx, rdi
call fcn.14009e6e0
mov r9, qword [rsp + 0xb8]
mov r8d, esi
mov rcx, qword [rsp + 0x48]
mov edx, ebp
call fcn.14009e770
mov rcx, rdi
add ebx, esi
call fcn.1400d66a0
test eax, eax
jne 0x14009c8b9
mov rcx, qword [rsp + 0x50]
mov rdx, r12
call fcn.14009e7f0
mov esi, dword [rsp + 0x8c]
mov ebp, dword [rsp + 0x5c]
mov r12d, dword [rsp + 0x94]
mov edi, dword [rsp + 0x68]
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x14009c80d
mov rcx, qword [rsp + 0x98]
mov rdx, rax
call fcn.14010f990
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x14009c82a
mov rcx, qword [rsp + 0x98]
mov rdx, rax
call fcn.14010f990
mov r10, qword [rsp + 0x40]
mov rcx, r10
call fcn.1400ea9b0
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x48], eax
test ebx, ebx
je 0x14009c90f
test edi, edi
je 0x14009c869
mov rcx, r10
call fcn.1400ea9b0
mov r8d, edi
mov edx, 0x11
lea r9d, [rax + 3]
call fcn.1400eb1e0
mov r10, qword [rsp + 0x40]
mov rax, qword [rsp + 0xa8]
mov r9d, r13d
mov dword [rsp + 0x28], ebx
mov rcx, r10
mov dword [rsp + 0x20], r15d
lea eax, [r12 + rax*2]
mov r12d, dword [rsp + 0x88]
movzx edx, byte [rax + r14 + 0x1342c8]
mov r8d, r12d
call fcn.1400eb0e0
mov eax, dword [rsp + 0x80]
mov r10, qword [rsp + 0x40]
test eax, eax
je 0x14009c917
mov edx, eax
mov rcx, r10
call fcn.1400ea750
jmp 0x14009c917
mov esi, dword [rsp + 0x8c]
mov r12d, 1
mov ebp, dword [rsp + 0x5c]
jmp 0x14009c7ec
cmp byte [rsp + 0x7c], 0
je 0x14009c7e4
mov edi, dword [rsp + 0x68]
test edi, edi
jne 0x14009c900
mov rcx, qword [rsp + 0x40]
lea r9d, [r15 + rbp]
xor r8d, r8d
lea edx, [rdi + 0x4b]
call fcn.1400eb1e0
xor r12d, r12d
inc ebx
jmp 0x14009c7f0
mov r12d, dword [rsp + 0x94]
inc ebx
jmp 0x14009c7f0
mov r12d, dword [rsp + 0x88]
test edi, edi
je 0x14009c96b
mov rcx, r10
call fcn.1400ea9b0
mov r8d, edi
mov edx, 0x10
lea r9d, [rax + 2]
call fcn.1400eb1e0
mov rax, qword [rsp + 0xa8]
lea r8d, [rsi + rbx]
mov dword [rsp + 0x28], r8d
mov r9d, r13d
mov r13, qword [rsp + 0x40]
mov r8d, r12d
mov rcx, r13
mov dword [rsp + 0x20], r15d
lea eax, [rsi + rax*2]
movzx edx, byte [rax + r14 + 0x1342c8]
call fcn.1400eb0e0
jmp 0x14009c970
mov r13, qword [rsp + 0x40]
mov rbx, qword [rsp + 0xa0]
mov eax, dword [rbx + 0x38]
bt eax, 0x12
jae 0x14009c99b
mov r9d, ebp
mov dword [rsp + 0x20], ebp
mov r8d, r12d
mov edx, 0x7d
mov rcx, r13
call fcn.1400eb160
mov eax, dword [rbx + 0x38]
test al, 0x40
mov rax, qword [rsp + 0x70]
je 0x14009c9be
mov ecx, 0x1020
test word [rax + 0x3c], cx
jne 0x14009c9be
mov r14d, dword [rsp + 0x58]
mov ebp, 1
jmp 0x14009ca88
mov rdx, qword [rsp + 0x60]
xor r10d, r10d
mov r14d, dword [rsp + 0x58]
mov ebp, r10d
mov rcx, qword [rdx + 0x18]
test byte [rcx + 0x30], 0x80
jne 0x14009c9eb
mov r9d, r12d
mov r8d, r14d
mov rcx, rax
call fcn.14009dba0
jmp 0x14009ca88
cmp r14d, r12d
je 0x14009ca8d
call fcn.1400c75b0
mov rcx, qword [rsp + 0x48]
mov rdi, rax
movzx edx, word [rax + 0x5e]
call fcn.1400ce790
mov esi, eax
mov ebx, r10d
movzx eax, word [rdi + 0x5e]
cmp r10w, ax
jae 0x14009ca5d
mov r14, qword [rsp + 0x60]
nop
mov rax, qword [rdi + 8]
movsxd rcx, ebx
movzx edx, word [rax + rcx*2]
mov rcx, r14
call fcn.1400c7580
movsx r9d, ax
mov r8d, r12d
lea eax, [rbx + rsi]
mov edx, 0x5e
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.1400eb160
movzx eax, word [rdi + 0x5e]
inc ebx
cmp ebx, eax
jl 0x14009ca20
mov r14d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0xb4]
mov r8d, r14d
movzx eax, ax
mov edx, 0x1c
mov dword [rsp + 0x28], eax
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.1400eb0e0
mov rbx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
cmp dword [r10], 0
jne 0x14009cab6
mov rcx, qword [rdx + 0x48]
test rcx, rcx
je 0x14009cab6
mov r8, qword [rsp + 0xd8]
mov edx, r14d
call fcn.14009da40
mov r10, qword [rsp + 0x50]
mov eax, 0x1000
test dword [rbx + 0x38], eax
je 0x14009cac7
mov byte [r10 + 0x41], 0xb9
jmp 0x14009cad8
cmp dword [rsp + 0xa8], 0
sete al
add al, 0x26
mov byte [r10 + 0x41], al
mov dword [r10 + 0x44], r12d
movzx eax, byte [rbx + 0x3a]
and al, 1
mov byte [r10 + 0x42], al
test byte [rbx + 0x38], 0xf
jne 0x14009caf1
mov byte [r10 + 0x43], 1
test ebp, ebp
je 0x14009bdec
mov r8, qword [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x60], rcx
jmp 0x14009bdf6
bt edx, 0xd
jae 0x14009d30f
mov eax, dword [r11 + 0x34]
mov rcx, r11
inc dword [r11 + 0x38]
mov r14, rbx
mov edx, dword [r11 + 0x38]
mov dword [rsp + 0x94], eax
inc eax
mov dword [r11 + 0x34], eax
mov qword [rsp + 0xa0], rbx
mov dword [rsp + 0x84], edx
mov dword [rsp + 0x78], ebx
mov dword [rsp + 0x80], ebx
call fcn.1400eac30
mov dword [rsp + 0x90], eax
mov r12, rbx
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x88], ebx
mov qword [rsp + 0xc0], rbx
mov r15, qword [rax + 0x20]
mov rax, qword [rdi + 0x48]
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0xc8], r15
mov r13, qword [rax]
mov qword [rsp + 0x110], r13
mov rcx, qword [r13 + 0x20]
mov qword [rsp + 0xf0], rcx
mov byte [r10 + 0x41], 0x43
mov dword [r10 + 0x44], edx
movzx ecx, byte [rdi + 0x40]
cmp cl, 1
jbe 0x14009ccf5
mov ebx, ecx
sub ebx, esi
dec ebx
movsxd rcx, ebx
imul rdx, rcx, 0x68
mov rcx, qword [rsp + 0x98]
add rdx, 0x70
call fcn.14010f5d0
mov qword [rsp + 0xb8], rax
mov rdx, rax
test rax, rax
jne 0x14009cbf0
mov rax, qword [rsp + 0xe0]
jmp 0x14009d89d
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rsp + 0xd0]
mov dword [rdx + 4], ecx
mov dword [rdx], ecx
movups xmm0, xmmword [rax]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x38], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x48], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x58], xmm1
movsd xmm0, qword [rax + 0x60]
movsd qword [rdx + 0x68], xmm0
mov r10, qword [rdi + 8]
cmp ebx, 1
jl 0x14009ccbe
mov r8, qword [rsp + 0x50]
add rdx, 0x70
add r8, 0xb0
mov r9d, ebx
nop dword [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x68]
imul rcx, rax, 0x68
lea r8, [r8 + 0x70]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x68], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x58], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x48], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x38], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x28], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x18], xmm1
movsd xmm0, qword [rcx + r10 + 0x68]
movsd qword [rdx - 8], xmm0
sub r9, 1
jne 0x14009cc60
mov r11, qword [rsp + 0x48]
test byte [rdi + 0x3c], 0x10
jne 0x14009cd5b
test byte [r15 + 0x30], 0x80
jne 0x14009cd03
inc dword [r11 + 0x38]
xor r8d, r8d
mov r13d, dword [r11 + 0x38]
mov rcx, rbp
mov r9d, r13d
mov dword [rsp + 0x78], r13d
lea edx, [r8 + 0x4b]
call fcn.1400eb1e0
jmp 0x14009cd41
mov rax, qword [rdi + 8]
mov qword [rsp + 0xb8], rax
jmp 0x14009ccc3
mov rcx, r15
call fcn.1400c75b0
mov r13d, dword [r11 + 0x34]
mov edx, 0x76
mov r8d, r13d
mov dword [rsp + 0x78], r13d
mov rbx, rax
lea ecx, [r13 + 1]
mov dword [r11 + 0x34], ecx
mov rcx, rbp
movzx r9d, word [rax + 0x5e]
call fcn.1400eb1e0
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
call fcn.1400ea2d0
mov rax, qword [rsp + 0x48]
mov r13, qword [rsp + 0x110]
inc dword [rax + 0x38]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x80], eax
mov r9d, dword [rsp + 0x84]
xor r8d, r8d
mov rcx, rbp
lea edx, [r8 + 0x47]
call fcn.1400eb1e0
cmp dword [rdi + 0x84], 1
mov esi, eax
mov dword [rsp + 0xa8], eax
jle 0x14009ce59
mov r14, qword [rsp + 0x48]
xor eax, eax
mov r15, qword [rsp + 0x98]
mov ebx, eax
mov rbp, qword [rsp + 0xd8]
mov edi, eax
mov r8d, 0x8006
mov r10d, 0x3fff
nop
mov rdx, qword [rbp + 0x20]
movsxd rax, ebx
imul rcx, rax, 0x38
mov r9, qword [rdx + rdi]
add rcx, rdx
cmp rcx, r13
je 0x14009ce0c
test word [rdx + rdi + 0x12], r8w
jne 0x14009ce0c
test word [rdx + rdi + 0x14], r10w
je 0x14009ce0c
test dword [r9 + 4], 0x400000
jne 0x14009ce0c
xor r8d, r8d
mov rdx, r9
mov rcx, r15
call fcn.1400d5030
mov r8, rax
mov rdx, r12
mov rcx, r14
call fcn.1400d5a80
mov r12, rax
mov r8d, 0x8006
mov r10d, 0x3fff
inc ebx
add rdi, 0x38
cmp ebx, dword [rbp + 0x14]
jl 0x14009cdb0
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xa0]
mov qword [rsp + 0xc0], r12
test r12, r12
je 0x14009ce59
mov rcx, qword [rsp + 0x48]
mov r9, r12
xor r8d, r8d
mov edx, 0x1002c
call fcn.1400d5ca0
mov r12, rax
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0x48]
lea r8, str.MULTI_INDEX_OR
mov edx, 1
call fcn.1400ead30
mov rax, qword [rsp + 0xf0]
xor edi, edi
mov dword [rsp + 0x8c], edi
cmp dword [rax + 0x14], edi
jle 0x14009d246
mov ecx, dword [rsp + 0x58]
xor esi, esi
mov qword [rsp + 0x108], rsi
nop word [rax + rax]
mov rax, qword [rax + 0x20]
cmp dword [rsi + rax + 0x1c], ecx
je 0x14009ceba
mov edx, 0x400
test word [rsi + rax + 0x14], dx
je 0x14009d211
mov rdx, qword [rsi + rax]
xor r8d, r8d
mov rcx, qword [rsp + 0x98]
xor r13d, r13d
call fcn.1400d5030
mov rbx, rax
mov qword [rsp + 0x100], rax
mov r14, rax
mov rax, qword [rsp + 0x98]
cmp byte [rax + 0x67], r13b
je 0x14009cef8
mov rdx, rbx
mov rcx, rax
jmp 0x14009d208
test r12, r12
je 0x14009cf05
mov qword [r12 + 0x10], rbx
mov rbx, r12
mov rcx, qword [rsp + 0x48]
lea r9d, [rdi + 1]
lea r8, str.INDEX__d
mov edx, 1
call fcn.1400ead30
mov eax, dword [rsp + 0x94]
xor r9d, r9d
mov rdx, qword [rsp + 0xb8]
mov r8, rbx
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x38], eax
mov eax, 0x20
mov word [rsp + 0x30], ax
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.1400921e0
mov qword [rsp + 0xf8], rax
mov rbx, rax
test rax, rax
je 0x14009d1fd
mov rdx, qword [rsp + 0xb8]
lea r8, [rax + 0x360]
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
call fcn.14009ea10
mov rax, qword [rsp + 0x70]
test byte [rax + 0x3c], 0x10
jne 0x14009d140
mov rcx, qword [rsp + 0xf0]
mov r14d, edi
mov eax, 0xffffffff
mov ecx, dword [rcx + 0x14]
dec ecx
cmp edi, ecx
cmove r14d, eax
test byte [r15 + 0x30], 0x80
mov dword [rsp + 0x5c], r14d
jne 0x14009d004
mov r13d, dword [rsp + 0x80]
mov r9d, eax
mov r8d, dword [rsp + 0x58]
mov rdx, r15
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.1400d2150
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov dword [rsp + 0x28], r14d
mov rcx, rbp
mov dword [rsp + 0x20], r13d
lea edx, [r9 + 0x2f]
call fcn.1400eb0e0
mov r13d, eax
jmp 0x14009d138
mov rcx, r15
call fcn.1400c75b0
mov rcx, qword [rsp + 0x48]
mov rsi, rax
movzx r12d, word [rax + 0x5e]
mov edx, r12d
call fcn.1400ce790
xor ebx, ebx
mov dword [rsp + 0x68], eax
mov r15d, eax
mov ebp, r12d
test r12d, r12d
je 0x14009d089
mov r14, qword [rsp + 0x40]
mov edi, eax
mov r12, qword [rsp + 0xc8]
mov r15d, dword [rsp + 0x58]
nop word [rax + rax]
mov rcx, qword [rsi + 8]
mov r8d, r15d
mov rdx, r12
mov dword [rsp + 0x20], edi
movsx r9d, word [rcx + rbx*2]
mov rcx, r14
call fcn.1400d2150
inc edi
inc rbx
cmp rbx, rbp
jl 0x14009d050
mov r14d, dword [rsp + 0x5c]
mov r12d, ebp
mov r15d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x8c]
mov rbp, qword [rsp + 0x40]
test r14d, r14d
je 0x14009d0b9
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov dword [rsp + 0x28], r12d
mov rcx, rbp
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x1d]
call fcn.1400eb0e0
mov r13d, eax
test r14d, r14d
js 0x14009d108
mov ebx, dword [rsp + 0x80]
mov r9d, r12d
mov r8d, r15d
mov dword [rsp + 0x20], ebx
mov edx, 0x61
mov rcx, rbp
call fcn.1400eb160
mov r8d, dword [rsp + 0x78]
mov r9d, ebx
mov edx, 0x8a
mov dword [rsp + 0x28], r12d
mov rcx, rbp
mov dword [rsp + 0x20], r15d
call fcn.1400eb0e0
test r14d, r14d
je 0x14009d108
mov edx, 0x10
mov rcx, rbp
call fcn.1400ea7a0
mov rcx, qword [rsp + 0x48]
mov r8d, r12d
mov edx, r15d
call fcn.1400ce770
mov rbx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x108]
mov r15, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x100]
mov r9d, dword [rsp + 0x90]
mov edx, 0xa
mov r8d, dword [rsp + 0x84]
mov rcx, rbp
call fcn.1400eb1e0
test r13d, r13d
je 0x14009d16d
mov edx, r13d
mov rcx, rbp
call fcn.1400ea750
test byte [rbx + 0x44], 2
mov ecx, 1
mov eax, dword [rsp + 0x88]
mov rdx, qword [rbx + 0x3c0]
cmovne eax, ecx
mov dword [rsp + 0x88], eax
test dword [rdx + 0x38], 0x200
je 0x14009d1cd
test edi, edi
je 0x14009d1a9
mov rax, qword [rsp + 0xa0]
cmp qword [rdx + 0x20], rax
jne 0x14009d1cd
test byte [r15 + 0x30], 0x80
je 0x14009d1bf
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x14009d1cd
mov rdx, qword [rdx + 0x20]
mov qword [rsp + 0xa0], rdx
jmp 0x14009d1d9
mov qword [rsp + 0xa0], 0
mov rcx, rbx
call fcn.140098ed0
test eax, eax
je 0x14009d1ee
mov rax, qword [rsp + 0x70]
or dword [rax + 0x44], 1
call fcn.140091b30
mov rcx, qword [rsp + 0x48]
call fcn.1400ead10
mov rcx, qword [rsp + 0x98]
mov rdx, r14
call fcn.1400d5680
mov ecx, dword [rsp + 0x58]
mov rax, qword [rsp + 0xf0]
inc edi
add rsi, 0x38
mov dword [rsp + 0x8c], edi
mov qword [rsp + 0x108], rsi
cmp edi, dword [rax + 0x14]
jl 0x14009cea0
mov r14, qword [rsp + 0xa0]
mov esi, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x48]
call fcn.1400ead10
mov rbx, qword [rsp + 0x50]
mov qword [rbx + 0x50], r14
test r14, r14
je 0x14009d268
mov eax, dword [rsp + 0x94]
mov dword [rbx + 8], eax
mov rdi, qword [rsp + 0x98]
test r12, r12
je 0x14009d289
mov rdx, r12
mov qword [r12 + 0x10], 0
mov rcx, rdi
call fcn.1400d5680
mov rcx, rbp
call fcn.1400ea9b0
mov r8d, eax
mov edx, esi
call fcn.1400ea810
mov edx, dword [rbx + 0xc]
mov rcx, rbp
call fcn.1400eb0b0
mov edx, dword [rsp + 0x90]
mov rcx, rbp
call fcn.1400eab40
mov rcx, rbp
call fcn.1400ea9b0
mov r8, qword [rsp + 0x70]
mov r10, rbx
mov dword [rbx + 0x48], eax
cmp byte [r8 + 0x40], 1
jbe 0x14009d2e7
mov rdx, qword [rsp + 0xb8]
mov rcx, rdi
call fcn.14010f9f0
mov r8, qword [rsp + 0x70]
mov r10, rbx
cmp dword [rsp + 0x88], 0
jne 0x14009d376
mov rdx, qword [rsp + 0x110]
mov rcx, r10
call fcn.14009e7f0
mov r13, qword [rsp + 0x40]
jmp 0x14009bdec
test r8b, 0x40
je 0x14009d328
mov byte [r10 + 0x41], 0xb9
mov r13, rbp
mov r8, r12
mov rcx, rbx
jmp 0x14009bdf6
mov edi, dword [rsp + 0x58]
lea r14, [0x140000000]
movzx eax, byte [r15 + r14 + 0x1327e4]
mov r8d, edi
movzx edx, byte [r15 + r14 + 0x136cd8]
mov rcx, rbp
mov byte [r10 + 0x41], al
mov dword [r10 + 0x44], edi
call fcn.1400eb1e0
mov r10, qword [rsp + 0x50]
inc eax
mov r13, rbp
mov r8, r12
mov rcx, rbx
mov dword [r10 + 0x48], eax
mov byte [r10 + 0x43], 1
jmp 0x14009bdf6
mov r13, qword [rsp + 0x40]
jmp 0x14009bdf1
mov r13, rcx
mov rcx, rbx
jmp 0x14009bdf6
mov r10, qword [rsp + 0x50]
mov r15d, dword [rax + 0x14]
xor r14d, r14d
mov rbx, qword [rax + 0x20]
test r15d, r15d
jle 0x14009d4eb
jmp 0x14009d3b5
mov r10, qword [rsp + 0x50]
movzx r11d, word [rbx + 0x12]
xor ebp, ebp
test r11b, 6
jne 0x14009d4ca
mov rsi, qword [r10 + 0x68]
test qword [rbx + 0x30], rsi
je 0x14009d3da
or dword [r8 + 0x44], 2
jmp 0x14009d4ca
mov rax, qword [rsp + 0xd0]
mov rdi, qword [rbx]
movzx eax, byte [rax + 0x3c]
test al, 0x58
je 0x14009d428
mov ecx, dword [rdi + 4]
test cl, 3
je 0x14009d4c5
test al, 8
je 0x14009d406
test cl, 1
je 0x14009d4c5
mov edx, dword [rdi + 0x34]
lea rcx, [r8 + 0x258]
call fcn.140098d50
mov rcx, qword [rsp + 0x60]
test rsi, rax
jne 0x14009d4ca
mov r10, qword [rsp + 0x50]
cmp r12d, 1
jne 0x14009d448
mov edx, dword [r10 + 4]
mov r8, rcx
mov rcx, rdi
call fcn.1400cf160
test eax, eax
jne 0x14009d44e
lea r14d, [r12 + 1]
jmp 0x14009d4c5
cmp r12d, 3
jge 0x14009d46d
movzx r11d, word [rbx + 0x12]
bt r11w, 0xc
jae 0x14009d46d
mov rcx, qword [rsp + 0x60]
test r14d, r14d
jne 0x14009d4ca
mov r14d, 3
jmp 0x14009d4ca
bt r11w, 9
jae 0x14009d497
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + 0x2c]
test edx, edx
je 0x14009d497
mov r8d, edx
mov rcx, r13
and edx, 1
shr r8d, 1
or edx, 0x10
call fcn.1400eb200
mov ebp, eax
mov r8d, dword [rsp + 0xb4]
mov r9d, 0x10
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
call fcn.1400cfc80
test ebp, ebp
je 0x14009d4c0
mov edx, ebp
mov rcx, r13
call fcn.1400ea750
or word [rbx + 0x12], 4
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
dec r15d
add rbx, 0x38
test r15d, r15d
jg 0x14009d3b0
mov rax, qword [rsp + 0xd8]
mov rbx, qword [rax + 0x20]
mov r8, qword [rsp + 0x70]
mov r12d, r14d
test r14d, r14d
jg 0x14009d390
mov r14, qword [rsp + 0xd8]
mov esi, dword [r14 + 0x1c]
test esi, esi
jle 0x14009d644
mov r15, qword [rsp + 0xd0]
lea rdi, [rbx + 0x14]
mov r12, qword [rsp + 0xe0]
mov r13d, 0xb
nop word [rax + rax]
test byte [rdi - 2], 6
jne 0x14009d636
movzx eax, word [rdi]
test al, 0x82
setne cl
bt ax, r13w
setb al
test al, cl
je 0x14009d636
mov eax, dword [rsp + 0x58]
cmp dword [rdi + 8], eax
jne 0x14009d636
test byte [r15 + 0x3c], 0x58
jne 0x14009d636
mov r8d, dword [rdi + 0xc]
mov r9, r12
mov rbp, qword [rdi - 0x14]
mov edx, eax
mov qword [rsp + 0x28], 0
mov rcx, r14
mov dword [rsp + 0x20], 0x83
call fcn.140098860
mov rbx, rax
test rax, rax
je 0x14009d636
test byte [rax + 0x12], 4
jne 0x14009d636
test byte [rax + 0x14], 1
je 0x14009d5c5
mov rax, qword [rax]
test dword [rax + 4], 0x1000
je 0x14009d5c5
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
jg 0x14009d636
mov rax, qword [rbx]
lea rdx, [rsp + 0x120]
mov r8d, dword [rsp + 0xb4]
mov r9d, 0x10
mov rcx, qword [rsp + 0x48]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x120], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x130], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x140], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x150], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rsp + 0x160], xmm0
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x130], rax
call fcn.1400cfc80
or word [rbx + 0x12], 4
dec esi
add rdi, 0x38
test esi, esi
jg 0x14009d530
mov r15, qword [rsp + 0x50]
mov r13, qword [r15 + 0x38]
mov qword [rsp + 0xf8], r13
test r13, r13
je 0x14009d7cd
movzx eax, byte [r15 + 0x40]
imul rcx, rax, 0x68
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov rsi, qword [rcx + rax + 0x28]
test byte [rsi + 0x30], 0x80
jne 0x14009d6b3
mov rcx, qword [rsp + 0x48]
mov edx, 2
call fcn.1400ce790
mov r8d, dword [r15 + 4]
lea r9d, [rdx - 3]
mov rdx, rsi
mov r14d, eax
mov rsi, qword [rsp + 0x40]
lea ecx, [rax + 1]
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.1400d2150
mov ebp, 1
jmp 0x14009d72a
mov rcx, rsi
call fcn.1400c75b0
mov rcx, qword [rsp + 0x48]
mov r15, rax
movzx ebp, word [rax + 0x5e]
lea edx, [rbp + 1]
call fcn.1400ce790
mov r14d, eax
mov r12d, ebp
test ebp, ebp
je 0x14009d720
mov r13, qword [rsp + 0x40]
lea edi, [rax + 1]
mov ebp, dword [rsp + 0x58]
xor ebx, ebx
nop word [rax + rax]
mov rax, qword [r15 + 8]
mov r8d, ebp
mov rdx, rsi
mov dword [rsp + 0x20], edi
mov rcx, r13
movsx r9d, word [rax + rbx*2]
call fcn.1400d2150
inc edi
inc rbx
cmp rbx, r12
jl 0x14009d6f0
mov r13, qword [rsp + 0xf8]
mov ebp, r12d
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
mov r8d, dword [r13]
lea ebx, [r14 + 1]
xor r9d, r9d
mov dword [rsp + 0x28], ebp
mov rcx, rsi
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x1d]
call fcn.1400eb0e0
mov r9d, ebp
mov dword [rsp + 0x20], r14d
mov r8d, ebx
mov edx, 0x61
mov rcx, rsi
mov edi, eax
call fcn.1400eb160
mov r8d, dword [r13]
mov r9d, r14d
mov edx, 0x8a
mov dword [rsp + 0x28], ebp
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.1400eb0e0
mov r8d, dword [r13 + 4]
xor r9d, r9d
mov edx, 0xb5
mov dword [rsp + 0x28], ebp
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.1400eb0e0
mov edx, 0x10
mov rcx, rsi
call fcn.1400ea7a0
mov edx, edi
call fcn.1400ea750
mov rdi, qword [rsp + 0x48]
lea r8d, [rbp + 1]
mov rcx, rdi
mov edx, r14d
call fcn.1400ce770
mov r14, qword [rsp + 0xd8]
jmp 0x14009d7d7
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r9d, dword [r15]
test r9d, r9d
je 0x14009d806
mov rcx, rsi
call fcn.1400ea9b0
mov edx, 0x47
mov dword [r15 + 0x1c], eax
lea r8d, [rdx - 0x46]
call fcn.1400eb1e0
cmp qword [r15 + 0x38], 0
je 0x14009d834
mov rbx, qword [r15 + 0x38]
jmp 0x14009d813
mov rbx, qword [r15 + 0x38]
test rbx, rbx
je 0x14009d899
mov r9d, dword [rbx + 8]
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0x4a]
call fcn.1400eb1e0
mov rcx, rsi
call fcn.1400ea9b0
mov dword [rbx + 0xc], eax
inc byte [rdi + 0x26]
cmp dword [r14 + 0x1c], 0
mov rbx, qword [r14 + 0x20]
jle 0x14009d899
xor eax, eax
test byte [rbx + 0x12], 6
jne 0x14009d885
mov rax, qword [rbx + 0x30]
test qword [r15 + 0x68], rax
jne 0x14009d87d
mov rax, qword [rsp + 0xd0]
test byte [rax + 0x3c], 0x40
jne 0x14009d87d
mov r8d, dword [rsp + 0xb4]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1400cfc80
or word [rbx + 0x12], 4
mov rax, qword [rsp + 0xe8]
inc eax
add rbx, 0x38
mov qword [rsp + 0xe8], rax
cmp eax, dword [r14 + 0x1c]
jl 0x14009d841
mov rax, qword [r15 + 0x68]
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.14004b440
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret