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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x288
mov ebp, r8d
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x14027c048]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0xa0], xmm0
mov edx, dword [rdx]
call fcn.1401402d0
mov rbx, rax
movzx eax, byte [rsi + 0x220]
mov r14d, eax
and r14b, 0x20
or al, 0x20
mov byte [rsi + 0x220], al
lea r15, [rsp + 0x88]
mov rcx, rsi
mov rdx, r15
call fcn.14012db10
movzx eax, byte [rsi + 0x220]
and al, 0xdf
or al, r14b
mov byte [rsi + 0x220], al
mov r13, qword [rsi + 0x148]
mov r14, qword [rsi + 0x150]
movzx eax, word [rsp + 0x98]
cmp eax, 2
jne 0x14015145e
mov ax, 2
test bpl, bpl
je 0x1401517dc
mov rax, qword [rsi + 0x438]
mov ecx, dword [rdi]
movzx r8d, word [rdi + 0x10]
lea edx, [r8 - 7]
cmp dx, 6
jae 0x1401514aa
xor edx, edx
jmp 0x1401514ba
movzx ecx, word [rsp + 0x9a]
test cl, 2
jne 0x140151497
cmp ax, 0x15
jne 0x1401514c6
or byte [rbx + 0x24], 2
lea r8, [rsp + 0xa0]
mov rcx, rsi
mov rdx, rbx
call fcn.140150740
test al, al
je 0x140151511
xor ebx, ebx
jmp 0x1401526f1
and ecx, 0xfffd
mov word [rsp + 0x9a], cx
jmp 0x1401517a8
xor edx, edx
lea r9d, [r8 - 0xd]
cmp r9d, 6
jae 0x1401516a4
mov qword [rax + 0x30], rdx
mov dword [rax + 0x3c], ecx
jmp 0x1401517a8
mov rcx, qword [rsi + 0x38]
movzx ecx, word [rcx]
test ecx, 0x401
je 0x1401515b1
mov rdi, qword [rsi + 0x30]
mov eax, dword [rsp + 0x88]
mov dword [rdi + 0x148], eax
mov dword [rdi + 0x14c], 0x413
cmp qword [rdi + 0x140], 0x10
jb 0x1401515f6
mov rbp, r14
mov rax, qword [rdi + 0x128]
jmp 0x140151600
test byte [rbx + 0x24], 4
je 0x140151575
mov ecx, dword [r13]
mov eax, 0x80000000
mov edx, 0x80000000
test ecx, 0x1a000000
jne 0x140151542
mov r8d, dword [r13 + 4]
test r8b, 0x10
jne 0x140151542
and r8d, 0xffffffe0
shl r8d, 0x1a
mov edx, r8d
and ecx, 0x5fffffff
or ecx, edx
mov dword [r13], ecx
mov ecx, dword [r14]
test ecx, 0x1a000000
jne 0x14015156a
mov edx, dword [r14 + 4]
test dl, 0x10
jne 0x14015156a
and edx, 0xffffffe0
shl edx, 0x1a
mov eax, edx
and ecx, 0x5fffffff
or ecx, eax
mov dword [r14], ecx
movzx eax, byte [rsi + 0x220]
mov edi, eax
and dil, 0x20
or al, 0x20
mov byte [rsi + 0x220], al
lea rdx, [rsp + 0x88]
mov rcx, rsi
call fcn.14012db10
movzx eax, byte [rsi + 0x220]
and al, 0xdf
or al, dil
mov byte [rsi + 0x220], al
jmp 0x1401517a8
cmp eax, 0x48
je 0x1401515be
test eax, eax
jne 0x1401516b7
mov rdi, qword [rsi + 0x30]
mov eax, dword [rsp + 0x88]
mov dword [rdi + 0x148], eax
mov dword [rdi + 0x14c], 0x422
cmp qword [rdi + 0x140], 0x10
jb 0x1401516e2
mov rbp, r14
mov rax, qword [rdi + 0x128]
jmp 0x1401516ec
mov rbp, r14
lea rax, [rdi + 0x128]
mov qword [rdi + 0x138], 0
mov byte [rax], 0
mov byte [rdi + 0x150], 0
mov dword [rdi + 0x2f8], 0
mov r14d, dword [rdi + 0x368]
test r14, r14
je 0x140151791
mov r12, qword [rdi + 0x360]
shl r14, 6
jmp 0x140151671
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1401a5ac8
mov qword [r12 + r14 - 0x18], 0
mov qword [r12 + r14 - 0x10], 0xf
mov byte [r12 + r14 - 0x28], 0
add r14, 0xffffffffffffffc0
je 0x140151791
mov rax, qword [r12 + r14 - 0x10]
cmp rax, 0x10
jb 0x14015164f
mov rcx, qword [r12 + r14 - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14015164a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x140151640
jmp 0x14015253b
cmp r8d, 1
je 0x1401514ba
mov rdx, qword [rdi + 8]
jmp 0x1401514ba
lea rdi, [rsp + 0x68]
lea r8, [rsp + 0x88]
mov rcx, rsi
mov rdx, rdi
mov r9d, 0x49a
call fcn.140141060
mov rcx, rdi
call fcn.14003c0b0
jmp 0x1401517a8
mov rbp, r14
lea rax, [rdi + 0x128]
mov qword [rdi + 0x138], 0
mov byte [rax], 0
mov byte [rdi + 0x150], 0
mov dword [rdi + 0x2f8], 0
mov r14d, dword [rdi + 0x368]
test r14, r14
je 0x140151791
mov r12, qword [rdi + 0x360]
shl r14, 6
jmp 0x140151753
call fcn.1401a5ac8
mov qword [r12 + r14 - 0x18], 0
mov qword [r12 + r14 - 0x10], 0xf
mov byte [r12 + r14 - 0x28], 0
add r14, 0xffffffffffffffc0
je 0x140151791
mov rax, qword [r12 + r14 - 0x10]
cmp rax, 0x10
jb 0x140151735
mov rcx, qword [r12 + r14 - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140151730
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14015253b
add rax, 0x28
mov rdx, rax
mov rcx, r8
jmp 0x140151730
mov dword [rdi + 0x368], 0
mov rcx, rdi
xor edx, edx
call fcn.1400332c0
mov r14, rbp
movzx ecx, word [rsp + 0x98]
mov ax, 2
cmp cx, 2
je 0x1401517dc
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0xa0], xmm0
mov eax, ecx
mov rdi, r14
lea rcx, [rsp + 0x100]
mov qword [rsp + 0xf0], rcx
movabs rcx, 0x1000000000
mov qword [rsp + 0xf8], rcx
test byte [rbx + 0x24], 2
jne 0x140151940
cmp ax, 2
je 0x14015243d
lea r14, [rsp + 0x88]
lea r15, [rsp + 0xf0]
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0xa0], xmm0
mov ecx, dword [rsp + 0xf8]
mov r12, r14
cmp ecx, dword [rsp + 0xfc]
jae 0x1401518d6
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xf8]
lea rcx, [rcx + rcx*2]
mov rdx, qword [r12 + 0x10]
mov qword [rax + rcx*8 + 0x10], rdx
movups xmm0, xmmword [r12]
movups xmmword [rax + rcx*8], xmm0
inc dword [rsp + 0xf8]
movzx eax, byte [rsi + 0x220]
mov ebp, eax
and bpl, 0x20
or al, 0x20
mov byte [rsi + 0x220], al
mov rcx, rsi
mov rdx, r14
call fcn.14012db10
movzx eax, byte [rsi + 0x220]
and al, 0xdf
or al, bpl
mov byte [rsi + 0x220], al
cmp word [rsp + 0x98], 2
jne 0x140151830
jmp 0x14015243d
lea r8, [rcx + 1]
mov rax, qword [rsp + 0xf0]
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
cmp rcx, r14
seta cl
cmp rax, r14
ja 0x1401518f9
test cl, cl
jne 0x140151917
mov r9d, 0x18
mov rcx, r15
lea rdx, [rsp + 0x100]
call fcn.140021710
mov r12, r14
jmp 0x140151863
mov r12, r14
sub r12, rax
mov r9d, 0x18
mov rcx, r15
lea rdx, [rsp + 0x100]
call fcn.140021710
add r12, qword [rsp + 0xf0]
jmp 0x140151863
lea r14, [rsp + 0xc8]
mov qword [rsp + 0xb8], r14
movabs rcx, 0x800000000
mov qword [rsp + 0xc0], rcx
mov rcx, qword [rsi + 0x150]
mov qword [rsp + 0xe8], rcx
lea rbp, [rsp + 0xa0]
jmp 0x140151a09
mov word [rsp + 0x98], 0
mov ecx, dword [rsp + 0xf8]
mov r12, r15
cmp ecx, dword [rsp + 0xfc]
jae 0x140152024
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xf8]
lea rcx, [rcx + rcx*2]
mov rdx, qword [r12 + 0x10]
mov qword [rax + rcx*8 + 0x10], rdx
movups xmm0, xmmword [r12]
movups xmmword [rax + rcx*8], xmm0
inc dword [rsp + 0xf8]
movzx eax, byte [rsi + 0x220]
mov r12d, eax
and r12b, 0x20
or al, 0x20
mov byte [rsi + 0x220], al
mov rcx, rsi
mov rdx, r15
call fcn.14012db10
movzx eax, byte [rsi + 0x220]
and al, 0xdf
or al, r12b
mov byte [rsi + 0x220], al
movzx eax, word [rsp + 0x98]
cmp ax, 2
je 0x1401523f2
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rcx
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0xa0], xmm0
movzx ecx, ax
lea edx, [rcx - 0x43]
cmp edx, 2
jae 0x140151b30
mov rcx, qword [rsi + 0x38]
test byte [rcx + 0xe], 2
jne 0x140151980
cmp ax, 0x43
jne 0x140151b47
movzx eax, byte [rsi + 0x220]
mov r12d, eax
and r12b, 0x20
or al, 0x20
mov byte [rsi + 0x220], al
mov rcx, rsi
mov rdx, r15
call fcn.14012db10
movzx eax, byte [rsi + 0x220]
and al, 0xdf
or al, r12b
mov byte [rsi + 0x220], al
movzx ecx, word [rsp + 0x98]
mov eax, dword [rsp + 0xf8]
cmp ecx, 2
je 0x1401523b2
test rax, rax
je 0x140151ae2
lea edx, [rcx - 7]
cmp dx, 6
jb 0x140151abf
lea edx, [rcx - 0xd]
cmp edx, 6
jae 0x140151efc
xor edx, edx
cmp rdx, qword [rsi + 0x148]
jne 0x140151ae2
lea rcx, [rax + rax*2]
mov rdx, qword [rsp + 0xf0]
cmp word [rdx + rcx*8 - 8], 0x41
jne 0x140151ae2
or byte [rbx + 0x24], 0x20
mov r12, rbp
cmp eax, dword [rsp + 0xfc]
jb 0x140151bfd
lea r8, [rax + 1]
mov rcx, qword [rsp + 0xf0]
lea rax, [rax + rax*2]
lea rax, [rcx + rax*8]
cmp rax, rbp
seta al
cmp rcx, rbp
ja 0x1401520df
test al, al
je 0x1401520df
mov r12, rbp
sub r12, rcx
jmp 0x140152290
cmp ecx, 0x42
jne 0x140151c40
mov rax, qword [rsi + 0x38]
test byte [rax + 0xe], 2
jne 0x140151980
movzx eax, byte [rsi + 0x220]
mov r12d, eax
and r12b, 0x20
or al, 0x20
mov byte [rsi + 0x220], al
mov rcx, rsi
mov rdx, r15
call fcn.14012db10
movzx eax, byte [rsi + 0x220]
and al, 0xdf
or al, r12b
mov byte [rsi + 0x220], al
mov rdx, qword [rsp + 0xe8]
movzx eax, word [rsp + 0x98]
lea ecx, [rax - 7]
test rdx, rdx
je 0x140151bb2
cmp cx, 6
jb 0x140151ba6
lea r8d, [rax - 0xd]
cmp r8d, 6
jae 0x140151ec4
xor r8d, r8d
cmp r8, rdx
je 0x140151f2a
cmp cx, 6
jb 0x140151bc4
lea ecx, [rax - 0xd]
cmp ecx, 6
jae 0x140151e61
mov rcx, qword [rsi + 0x38]
test byte [rcx + 3], 0x40
je 0x140152342
cmp ax, 2
je 0x140152342
mov word [rsp + 0xb0], 0
mov ecx, dword [rsp + 0xf8]
mov r12, rbp
cmp ecx, dword [rsp + 0xfc]
jae 0x1401520b8
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xf8]
lea rcx, [rcx + rcx*2]
mov rdx, qword [r12 + 0x10]
mov qword [rax + rcx*8 + 0x10], rdx
movups xmm0, xmmword [r12]
movups xmmword [rax + rcx*8], xmm0
inc dword [rsp + 0xf8]
movzx eax, word [rsp + 0x98]
jmp 0x140151a09
mov ecx, dword [rsp + 0xf8]
mov r12, r15
cmp ecx, dword [rsp + 0xfc]
jae 0x14015206e
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xf8]
lea rcx, [rcx + rcx*2]
mov rdx, qword [r12 + 0x10]
mov qword [rax + rcx*8 + 0x10], rdx
movups xmm0, xmmword [r12]
movups xmmword [rax + rcx*8], xmm0
mov eax, dword [rsp + 0xf8]
inc eax
mov dword [rsp + 0xf8], eax
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x140151cc3
movzx edx, word [rsp + 0x98]
lea r8d, [rdx - 7]
cmp r8w, 6
jb 0x140151cbb
lea r8d, [rdx - 0xd]
cmp r8d, 6
jae 0x140151ee0
xor r8d, r8d
cmp r8, rcx
je 0x140151d1e
mov r8d, dword [rsp + 0xc0]
test r8, r8
je 0x1401519ce
movzx ecx, word [rsp + 0x98]
cmp ecx, 0x15
je 0x140151e30
cmp ecx, 0x16
jne 0x1401519ce
dec r8d
mov dword [rsp + 0xc0], r8d
jne 0x1401519ce
mov eax, eax
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0xf0]
cmp word [rcx + rax*8 - 0x20], 0x43
jne 0x1401519ce
jmp 0x140152a52
cmp dword [rsp + 0xc0], 0
jne 0x1401527bd
movzx eax, byte [rsi + 0x220]
mov r12d, eax
and r12b, 0x20
or al, 0x20
mov byte [rsi + 0x220], al
mov rcx, rsi
mov rdx, r15
call fcn.14012db10
movzx eax, byte [rsi + 0x220]
and al, 0xdf
or al, r12b
mov byte [rsi + 0x220], al
cmp word [rsp + 0x98], 0x15
jne 0x1401527eb
mov ecx, dword [rsp + 0xf8]
mov r12, r15
cmp ecx, dword [rsp + 0xfc]
jae 0x14015214c
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xf8]
lea rcx, [rcx + rcx*2]
mov rdx, qword [r12 + 0x10]
mov qword [rax + rcx*8 + 0x10], rdx
movups xmm0, xmmword [r12]
movups xmmword [rax + rcx*8], xmm0
inc dword [rsp + 0xf8]
mov r12d, dword [rsp + 0x88]
mov r8d, dword [rsp + 0xc0]
cmp r8d, dword [rsp + 0xc4]
jae 0x140152196
mov rax, qword [rsp + 0xb8]
mov ecx, r8d
mov dword [rax + rcx*4], r12d
inc dword [rsp + 0xc0]
movzx eax, byte [rsi + 0x220]
mov r12d, eax
and r12b, 0x20
or al, 0x20
mov byte [rsi + 0x220], al
mov rcx, rsi
mov rdx, r15
call fcn.14012db10
movzx eax, byte [rsi + 0x220]
and al, 0xdf
or al, r12b
mov byte [rsi + 0x220], al
movzx eax, word [rsp + 0x98]
cmp ax, 0x43
jne 0x140151a09
jmp 0x140152820
mov r12d, dword [rsp + 0x88]
cmp r8d, dword [rsp + 0xc4]
jae 0x140152208
mov rax, qword [rsp + 0xb8]
mov ecx, r8d
mov dword [rax + rcx*4], r12d
inc dword [rsp + 0xc0]
jmp 0x1401519ce
cmp eax, 1
je 0x140151bc4
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x140151bc4
cmp ax, 0xe
ja 0x140151e8d
mov edx, 0x6002
bt edx, eax
jae 0x140151e8d
xor ecx, ecx
mov edx, dword [rbx + 0x18]
test rdx, rdx
je 0x140151bc4
mov r8, qword [rbx + 8]
shl rdx, 3
xor r9d, r9d
nop word cs:[rax + rax]
cmp qword [r8 + r9], rcx
je 0x140151f17
add r9, 8
cmp rdx, r9
jne 0x140151eb0
jmp 0x140151bc4
mov r8d, 0
cmp eax, 1
je 0x140151ba9
mov r8, qword [rsp + 0x90]
jmp 0x140151ba9
mov r8d, 0
cmp edx, 1
je 0x140151cbe
mov r8, qword [rsp + 0x90]
jmp 0x140151cbe
mov edx, 0
cmp ecx, 1
je 0x140151ac1
mov rdx, qword [rsp + 0x90]
jmp 0x140151ac1
movabs rcx, 0x7fffffff8
cmp r9, rcx
je 0x140151bc4
mov ecx, dword [rsp + 0xf8]
mov r12, rbp
cmp ecx, dword [rsp + 0xfc]
jae 0x140152102
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xf8]
lea rcx, [rcx + rcx*2]
mov rdx, qword [r12 + 0x10]
mov qword [rax + rcx*8 + 0x10], rdx
movups xmm0, xmmword [r12]
movups xmmword [rax + rcx*8], xmm0
mov eax, dword [rsp + 0xf8]
inc eax
mov dword [rsp + 0xf8], eax
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x140151fad
movzx edx, word [rsp + 0x98]
lea r8d, [rdx - 7]
cmp r8w, 6
jb 0x140151fa1
lea r8d, [rdx - 0xd]
cmp r8d, 6
jae 0x14015200f
xor r8d, r8d
cmp r8, rcx
je 0x140151c2a
mov r12, r15
cmp eax, dword [rsp + 0xfc]
jae 0x1401521bc
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xf8]
lea rcx, [rcx + rcx*2]
mov rdx, qword [r12 + 0x10]
mov qword [rax + rcx*8 + 0x10], rdx
movups xmm0, xmmword [r12]
movups xmmword [rax + rcx*8], xmm0
inc dword [rsp + 0xf8]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1401519ce
mov r8d, 0
cmp edx, 1
je 0x140151fa4
mov r8, qword [rsp + 0x90]
jmp 0x140151fa4
lea r8, [rcx + 1]
mov rax, qword [rsp + 0xf0]
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
cmp rcx, r15
seta cl
cmp rax, r15
ja 0x14015204b
test cl, cl
jne 0x14015222e
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
mov r12, r15
jmp 0x1401519a1
lea r8, [rcx + 1]
mov rax, qword [rsp + 0xf0]
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
cmp rcx, r15
seta cl
cmp rax, r15
ja 0x140152095
test cl, cl
jne 0x14015225c
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
mov r12, r15
jmp 0x140151c57
lea r8, [rcx + 1]
mov rax, qword [rsp + 0xf0]
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
cmp rcx, rbp
seta cl
cmp rax, rbp
ja 0x1401520df
test cl, cl
jne 0x14015228a
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
mov r12, rbp
jmp 0x140151bfd
lea r8, [rcx + 1]
mov rax, qword [rsp + 0xf0]
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
cmp rcx, rbp
seta cl
cmp rax, rbp
ja 0x140152129
test cl, cl
jne 0x1401522b8
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
mov r12, rbp
jmp 0x140151f41
lea r8, [rcx + 1]
mov rax, qword [rsp + 0xf0]
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
cmp rcx, r15
seta cl
cmp rax, r15
ja 0x140152173
test cl, cl
jne 0x1401522e6
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
mov r12, r15
jmp 0x140151d85
inc r8
mov r9d, 4
lea rcx, [rsp + 0xb8]
mov rdx, r14
call fcn.140021710
mov r8d, dword [rsp + 0xc0]
jmp 0x140151dd0
mov ecx, eax
lea r8, [rcx + 1]
mov rax, qword [rsp + 0xf0]
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
cmp rcx, r15
seta cl
cmp rax, r15
ja 0x1401521e5
test cl, cl
jne 0x140152314
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
mov r12, r15
jmp 0x140151fbd
inc r8
mov r9d, 4
lea rcx, [rsp + 0xb8]
mov rdx, r14
call fcn.140021710
mov r8d, dword [rsp + 0xc0]
jmp 0x140151e46
mov r12, r15
sub r12, rax
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
add r12, qword [rsp + 0xf0]
jmp 0x1401519a1
mov r12, r15
sub r12, rax
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
add r12, qword [rsp + 0xf0]
jmp 0x140151c57
mov r12, rbp
sub r12, rax
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
add r12, qword [rsp + 0xf0]
jmp 0x140151bfd
mov r12, rbp
sub r12, rax
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
add r12, qword [rsp + 0xf0]
jmp 0x140151f41
mov r12, r15
sub r12, rax
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
add r12, qword [rsp + 0xf0]
jmp 0x140151d85
mov r12, r15
sub r12, rax
mov r9d, 0x18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140021710
add r12, qword [rsp + 0xf0]
jmp 0x140151fbd
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x88]
mov rcx, rsi
mov r9d, 0x3f3
call fcn.140141060
movzx ebx, word [rsp + 0xb0]
mov rax, qword [rsp + 0x28]
test rax, rax
jne 0x14015237e
mov rcx, qword [rsp + 0x30]
call fcn.140035810
mov qword [rsp + 0x28], rax
xor ecx, ecx
cmp bx, 0x44
sete cl
movzx edx, byte [rax]
mov byte [rax + rdx + 1], 2
mov rax, qword [rsp + 0x28]
movzx edx, byte [rax]
lea r8d, [rdx + 1]
mov byte [rax], r8b
mov qword [rax + rdx*8 + 0x10], rcx
lea rcx, [rsp + 0x28]
call fcn.14003c0b0
jmp 0x1401526be
cmp eax, dword [rsp + 0xfc]
jae 0x140152a78
lea r15, [rsp + 0xa0]
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xf8]
lea rcx, [rcx + rcx*2]
mov rdx, qword [r15 + 0x10]
mov qword [rax + rcx*8 + 0x10], rdx
movups xmm0, xmmword [r15]
movups xmmword [rax + rcx*8], xmm0
inc dword [rsp + 0xf8]
cmp dword [rsp + 0xc0], 0
je 0x14015242a
mov rbx, qword [rsi + 0x30]
mov eax, dword [rsp + 0x88]
mov dword [rbx + 0x148], eax
mov dword [rbx + 0x14c], 0x3c3
cmp qword [rbx + 0x140], 0x10
jb 0x140152496
mov rax, qword [rbx + 0x128]
jmp 0x14015249d
mov rcx, qword [rsp + 0xb8]
cmp rcx, r14
je 0x14015243d
call qword [0x140276c98]
mov eax, dword [rsp + 0xa0]
mov dword [rbx + 4], eax
mov eax, dword [rsp + 0xf8]
test rax, rax
je 0x1401526d3
mov r14, qword [rsp + 0xf0]
lea rcx, [rsi + 0x80]
mov dword [rbx + 0x1c], eax
shl rax, 3
lea r15, [rax + rax*2]
mov rdx, r15
mov r8b, 3
call fcn.14003a610
mov r12, rax
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.1401a77c0
mov qword [rbx + 0x10], r12
jmp 0x1401526d3
lea rax, [rbx + 0x128]
mov qword [rbx + 0x138], 0
mov byte [rax], 0
mov byte [rbx + 0x150], 0
mov dword [rbx + 0x2f8], 0
mov r15d, dword [rbx + 0x368]
test r15, r15
je 0x14015254a
mov r12, qword [rbx + 0x360]
shl r15, 6
jmp 0x14015250d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1401a5ac8
mov qword [r12 + r15 - 0x18], 0
mov qword [r12 + r15 - 0x10], 0xf
mov byte [r12 + r15 - 0x28], 0
add r15, 0xffffffffffffffc0
je 0x140152541
mov rax, qword [r12 + r15 - 0x10]
cmp rax, 0x10
jb 0x1401524ef
mov rcx, qword [r12 + r15 - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1401524ea
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x1401524e0
call qword [0x140276bc8]
movzx eax, byte [rbx + 0x150]
jmp 0x14015254c
xor eax, eax
mov dword [rbx + 0x368], 0
movzx ecx, word [rsp + 0xb0]
movzx eax, al
mov byte [rbx + rax + 0x151], 4
lea edx, [rax + 1]
mov qword [rbx + rax*8 + 0x160], rcx
movzx ecx, dl
mov byte [rbx + rcx + 0x151], 4
add al, 2
mov byte [rbx + 0x150], al
mov qword [rbx + rcx*8 + 0x160], 0x16
xor ebp, ebp
mov rcx, rbx
xor edx, edx
call fcn.1400332c0
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rsp + 0xc0]
mov eax, dword [rax + rcx*4 - 4]
mov rbx, qword [rsi + 0x30]
mov dword [rbx + 0x148], eax
mov dword [rbx + 0x14c], 0x66
cmp qword [rbx + 0x140], 0x10
jb 0x1401525d9
mov rax, qword [rbx + 0x128]
jmp 0x1401525e0
lea rax, [rbx + 0x128]
mov qword [rbx + 0x138], 0
mov byte [rax], 0
mov byte [rbx + 0x150], 0
mov dword [rbx + 0x2f8], 0
mov r15d, dword [rbx + 0x368]
test r15, r15
je 0x140152688
mov r12, qword [rbx + 0x360]
shl r15, 6
jmp 0x140152643
call fcn.1401a5ac8
mov qword [r12 + r15 - 0x18], 0
mov qword [r12 + r15 - 0x10], 0xf
mov byte [r12 + r15 - 0x28], 0
add r15, 0xffffffffffffffc0
je 0x140152681
mov rax, qword [r12 + r15 - 0x10]
cmp rax, 0x10
jb 0x140152625
mov rcx, qword [r12 + r15 - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140152620
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14015253b
add rax, 0x28
mov rdx, rax
mov rcx, r8
jmp 0x140152620
movzx ebp, byte [rbx + 0x150]
mov dword [rbx + 0x368], 0
movzx eax, bpl
mov byte [rbx + rax + 0x151], 4
mov ecx, eax
inc cl
mov byte [rbx + 0x150], cl
mov qword [rbx + rax*8 + 0x160], 0x15
mov rcx, rbx
xor edx, edx
call fcn.1400332c0
mov rcx, qword [rsp + 0xb8]
cmp rcx, r14
je 0x1401526d1
call qword [0x140276c98]
xor ebx, ebx
mov r14, rdi
mov rcx, qword [rsp + 0xf0]
lea rax, [rsp + 0x100]
cmp rcx, rax
je 0x1401526f1
call qword [0x140276c98]
or byte [r13 + 3], 0xa0
or byte [r14 + 3], 0xa0
mov rax, qword [rsi + 0x430]
cmp byte [rax + 0x18], 0
je 0x140152796
movzx eax, byte [rsi + 0x220]
mov edi, eax
and dil, 0x20
or al, 0x20
mov byte [rsi + 0x220], al
lea rdx, [rsp + 0xf0]
mov rcx, rsi
call fcn.14012db10
movzx eax, byte [rsi + 0x220]
and al, 0xdf
or al, dil
mov byte [rsi + 0x220], al
cmp word [rsp + 0x100], 2
je 0x140152796
lea rdi, [rsp + 0xf0]
nop word cs:[rax + rax]
mov ebp, eax
and bpl, 0x20
or al, 0x20
mov byte [rsi + 0x220], al
mov rcx, rsi
mov rdx, rdi
call fcn.14012db10
movzx eax, byte [rsi + 0x220]
and al, 0xdf
or al, bpl
mov byte [rsi + 0x220], al
cmp word [rsp + 0x100], 2
jne 0x140152760
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.1401a5de0
mov rax, rbx
add rsp, 0x288
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, qword [rsi + 0x30]
mov eax, dword [rsp + 0x88]
mov dword [rbx + 0x148], eax
mov dword [rbx + 0x14c], 0x3fa
cmp qword [rbx + 0x140], 0x10
jb 0x140152855
mov rax, qword [rbx + 0x128]
jmp 0x14015285c
mov rbx, qword [rsi + 0x30]
mov eax, dword [rsp + 0x88]
mov dword [rbx + 0x148], eax
mov dword [rbx + 0x14c], 0x3e6
cmp qword [rbx + 0x140], 0x10
jb 0x1401528fd
mov rax, qword [rbx + 0x128]
jmp 0x140152904
mov rbx, qword [rsi + 0x30]
mov eax, dword [rsp + 0x88]
mov dword [rbx + 0x148], eax
mov dword [rbx + 0x14c], 0x40e
cmp qword [rbx + 0x140], 0x10
jb 0x1401529a4
mov rax, qword [rbx + 0x128]
jmp 0x1401529ab
lea rax, [rbx + 0x128]
mov qword [rbx + 0x138], 0
mov byte [rax], 0
mov byte [rbx + 0x150], 0
mov dword [rbx + 0x2f8], 0
mov r15d, dword [rbx + 0x368]
test r15, r15
je 0x140152a43
mov r12, qword [rbx + 0x360]
shl r15, 6
jmp 0x1401528bf
call fcn.1401a5ac8
mov qword [r12 + r15 - 0x18], 0
mov qword [r12 + r15 - 0x10], 0xf
mov byte [r12 + r15 - 0x28], 0
add r15, 0xffffffffffffffc0
je 0x140152a43
mov rax, qword [r12 + r15 - 0x10]
cmp rax, 0x10
jb 0x14015289d
mov rcx, qword [r12 + r15 - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140152898
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14015253b
add rax, 0x28
mov rdx, rax
mov rcx, r8
jmp 0x140152898
lea rax, [rbx + 0x128]
mov qword [rbx + 0x138], 0
mov byte [rax], 0
mov byte [rbx + 0x150], 0
mov dword [rbx + 0x2f8], 0
mov r15d, dword [rbx + 0x368]
test r15, r15
je 0x140152a43
mov r12, qword [rbx + 0x360]
shl r15, 6
jmp 0x140152971
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1401a5ac8
mov qword [r12 + r15 - 0x18], 0
mov qword [r12 + r15 - 0x10], 0xf
mov byte [r12 + r15 - 0x28], 0
add r15, 0xffffffffffffffc0
je 0x140152a43
mov rax, qword [r12 + r15 - 0x10]
cmp rax, 0x10
jb 0x14015294f
mov rcx, qword [r12 + r15 - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14015294a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x140152940
jmp 0x14015253b
lea rax, [rbx + 0x128]
mov qword [rbx + 0x138], 0
mov byte [rax], 0
mov byte [rbx + 0x150], 0
mov dword [rbx + 0x2f8], 0
mov r15d, dword [rbx + 0x368]
test r15, r15
je 0x140152a43
mov r12, qword [rbx + 0x360]
shl r15, 6
jmp 0x140152a10
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1401a5ac8
mov qword [r12 + r15 - 0x18], 0
mov qword [r12 + r15 - 0x10], 0xf
mov byte [r12 + r15 - 0x28], 0
add r15, 0xffffffffffffffc0
je 0x140152a43
mov rax, qword [r12 + r15 - 0x10]
cmp rax, 0x10
jb 0x1401529f2
mov rcx, qword [r12 + r15 - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1401529ed
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x1401529e3
jmp 0x14015253b
mov dword [rbx + 0x368], 0
jmp 0x1401526b4
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x88]
mov rcx, rsi
mov rdx, rbx
mov r9d, 0x40d
call fcn.140141060
mov rcx, rbx
jmp 0x1401523a8
lea r8, [rax + 1]
mov rcx, qword [rsp + 0xf0]
lea rax, [rax + rax*2]
lea rax, [rcx + rax*8]
lea r15, [rsp + 0xa0]
cmp rax, r15
seta al
cmp rcx, r15
ja 0x140152aa3
test al, al
jne 0x140152ac3
lea rcx, [rsp + 0xf0]
mov r9d, 0x18
lea rdx, [rsp + 0x100]
call fcn.140021710
jmp 0x1401523c7
sub r15, rcx
lea rcx, [rsp + 0xf0]
mov r9d, 0x18
lea rdx, [rsp + 0x100]
call fcn.140021710
add r15, qword [rsp + 0xf0]
jmp 0x1401523c7