Function at 0x140117143
Capabilities:
Load assembly via iassembly

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb18
movaps xmmword [rsp + 0xb00], xmm6
mov r15, r9
mov r12, r8
mov r13, rdx
mov rbx, rcx
mov eax, dword [r9 + 0xa8]
lea ecx, [rax - 0x1f]
cmp cx, 4
setb dl
cmp cx, 1
setne cl
test dl, cl
jne 0x140117192
cmp ax, 0xc
jne 0x140117192
lea rbp, [r15 + 0x18]
jmp 0x1401171ee
lea r8, [0x140561850]
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], 1
lea rsi, [rsp + 0x120]
mov r9d, 1
mov rcx, rsi
mov rdx, r15
call fcn.140118a01
mov al, byte [rsi]
mov ecx, dword [rsi + 1]
mov dword [rsp + 0x5c0], ecx
mov ecx, dword [rsi + 4]
mov dword [rsp + 0x5c3], ecx
mov rbp, qword [rsi + 8]
movups xmm0, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x6b0], xmm0
cmp al, 0x13
jne 0x140117279
mov rdi, qword [r13 + 0x90]
add rdi, 0x10
mov rcx, rdi
mov dx, 5
call fcn.140114f80
mov esi, eax
movzx eax, word [rbp + 0x66]
cmp ax, 4
jne 0x140117229
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x58]
call fcn.140106dcd
mov r14w, 4
cmp ax, 0xa
je 0x14011723d
cmp ax, 5
je 0x1401172a4
movzx ecx, ax
mov r9b, 9
mov r14d, eax
cmp ecx, 4
jne 0x1401172af
mov rcx, rdi
mov dx, 4
call fcn.140114f80
mov r9b, 0xb
test al, al
je 0x1401172af
mov rax, qword [r12 + 8]
movzx eax, byte [rax + 0x18]
dec rax
cmp rax, 1
ja 0x1401172c3
mov rax, qword [r12]
cmp byte [rax + 0x140], 0
je 0x1401172c3
mov word [rbx], 0x2008
jmp 0x140117433
mov ecx, dword [rsp + 0x5c0]
mov edx, dword [rsp + 0x5c3]
mov dword [rbx + 4], edx
mov dword [rbx + 1], ecx
movaps xmm0, xmmword [rsp + 0x6b0]
movups xmmword [rbx + 0x10], xmm0
mov byte [rbx], al
mov qword [rbx + 8], rbp
jmp 0x140117433
mov r9b, 0xb
mov r14d, eax
test sil, sil
jne 0x1401172d6
mov rdx, qword [r12]
mov rcx, rbx
mov r8b, 0x13
call fcn.14010decc
jmp 0x140117433
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x58]
call fcn.140106dcd
cmp ax, 0xa
jne 0x1401172eb
cmp byte [rbp + 0x64], 0
je 0x140117302
mov rdx, qword [r12]
mov rcx, rbx
mov r8b, 0xd
mov r9b, 0x30
jmp 0x1401172f8
mov rdx, qword [r12]
mov rcx, rbx
mov r8b, 0xd
mov r9b, 0x2d
call fcn.14010de6e
jmp 0x140117433
mov byte [rsp + 0x60], sil
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], rbx
call fcn.140131c10
xorps xmm0, xmm0
lea rdi, [rsp + 0x120]
movups xmmword [rdi + 0x10], xmm0
lea rcx, [0x14059b9d0]
mov qword [rdi], rcx
and qword [rdi + 8], 0
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rdx
mov r13, qword [rbp + 0x48]
imul rbx, qword [rbp + 0x58], 0x28
lea rsi, [rsp + 0x6b0]
test rbx, rbx
je 0x140117396
mov rcx, r13
call fcn.1401039ac
mov ecx, eax
call fcn.140103cc8
mov word [rsp + 0x6b0], ax
mov rcx, rdi
mov rdx, rsi
call fcn.140100ae5
test al, al
jne 0x140117402
add r13, 0x28
movzx edx, word [rsp + 0x6b0]
mov rcx, rdi
call fcn.140100d9e
add rbx, 0xffffffffffffffd8
jmp 0x14011734d
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
call fcn.140100739
lea rax, [rsp + 0xb0]
mov word [rax], 0x23
mov r8, qword [rbp + 0x48]
mov r9, qword [rbp + 0x58]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rdx + 0x78]
mov rdx, qword [rdx + 0x88]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 1
call fcn.140118a60
mov r13, qword [r12]
test al, al
je 0x14011746f
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
mov rdx, r13
mov r8b, 0x1a
mov r9b, 0x3e
jmp 0x140117429
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
call fcn.140100739
mov rdx, qword [r12]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
mov r8b, 0x10
mov r9b, 7
call fcn.14010de6e
mov r13, qword [rsp + 0x48]
mov rcx, r15
call fcn.14010cf6c
mov rcx, r13
call fcn.14011711a
mov edx, 8
mov rcx, r13
call fcn.140015bd0
mov rax, rbx
movaps xmm6, xmmword [rsp + 0xb00]
add rsp, 0xb18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov word [r13 + 0x138], r14w
cmp r14w, 5
mov rbx, qword [rsp + 0x50]
je 0x1401174ec
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 0x90]
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x58]
mov r8w, 0x10
call fcn.140106d8d
test rax, rax
je 0x1401174bb
cmp word [rax], 4
jne 0x1401174bb
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x18]
call fcn.140106ceb
jmp 0x1401174bd
xor eax, eax
mov r8, qword [rsi + 0x68]
mov r9, qword [rsi + 0x78]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x120]
mov rcx, rsi
mov rdx, r13
call fcn.140118ae5
mov al, byte [rsi]
cmp al, 0x13
jne 0x1401175c6
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x58]
mov r8w, 0xb
call fcn.140106d8d
test rax, rax
je 0x14011750d
cmp word [rax], 0
je 0x1401175f6
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x90]
movzx r8d, word [rbp + 0x60]
movzx r9d, word [rbp + 0x62]
mov rcx, qword [rax + 0x38]
mov rdx, qword [rax + 0x48]
call fcn.140118bc3
cmp rax, 2
jne 0x14011756b
lea rsi, [rsp + 0x120]
mov rcx, rsi
mov rdx, r13
mov r8b, 6
mov r9b, 0x2f
call fcn.14010de6e
mov al, byte [rsi]
cmp al, 0x13
jne 0x140117618
mov rdi, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x130]
jmp 0x140117571
mov rdi, rax
mov rsi, rdx
xor eax, eax
test rdi, rdi
sete al
xor eax, 5
cmp r14w, ax
jne 0x1401175e5
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
cmp rax, 2
je 0x14011767b
cmp rax, rdi
jne 0x1401177c2
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 8]
test rdi, rdi
je 0x14011765c
movzx ecx, word [rax + 0x10]
movzx edx, word [rax + 0x12]
movzx r8d, word [rsi + 0x10]
movzx r9d, word [rsi + 0x12]
jmp 0x14011766e
movups xmm0, xmmword [rsp + 0x121]
movups xmm1, xmmword [rsp + 0x130]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 1], xmm0
mov byte [rbx], al
jmp 0x14011742e
mov rcx, rbx
mov rdx, r13
mov r8b, 0xd
mov r9b, 0x33
jmp 0x140117429
mov rcx, qword [rax + 8]
mov rax, qword [rax + 0x18]
add rax, rax
xor edx, edx
cmp rax, rdx
je 0x14011764b
cmp byte [rcx + rdx], 0
je 0x14011750d
add rdx, 2
jmp 0x140117603
mov ecx, dword [rsp + 0x121]
mov edx, dword [rsp + 0x124]
mov dword [rbx + 4], edx
mov dword [rbx + 1], ecx
movups xmm0, xmmword [rsp + 0x128]
mov rcx, qword [rsp + 0x138]
mov byte [rbx], al
movups xmmword [rbx + 8], xmm0
mov qword [rbx + 0x18], rcx
jmp 0x14011742e
mov rcx, rbx
mov rdx, r13
mov r8b, 6
mov r9b, 0x34
jmp 0x140117429
movzx ecx, word [rax + 8]
movzx edx, word [rax + 0xa]
movzx r8d, word [rsi + 8]
movzx r9d, word [rsi + 0xa]
call fcn.1400fdb05
test al, al
je 0x1401177c2
lea rax, [rsi + 0x10]
test rdi, rdi
mov r14, qword [rsp + 0x48]
mov qword [r14], rdi
mov qword [r14 + 8], rsi
mov qword [r13 + 0xd8], rdi
mov qword [r13 + 0xe0], rsi
movups xmm0, xmmword [r14 + 0x140]
movups xmm1, xmmword [r14 + 0x150]
lea rdx, [rsp + 0x120]
movaps xmmword [rdx + 0x10], xmm1
movaps xmmword [rdx], xmm0
mov qword [rsp + 0x80], rsi
cmovne rax, rsi
mov r8, qword [rax]
lea rsi, [rsp + 0xa10]
mov rcx, rsi
call fcn.140118c07
mov rcx, rsi
mov rdx, r15
call fcn.140118d05
movups xmm0, xmmword [r14 + 0x10]
movups xmm1, xmmword [r14 + 0x20]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0x110], xmm1
test rdi, rdi
mov qword [rsp + 0x68], rdi
je 0x1401177d3
mov r8d, dword [r14 + 0x130]
cmp r8d, 0x3b9aca00
je 0x140117885
mov r10, qword [r14 + 0x98]
lea rax, [r14 + 0xa0]
mov r9d, dword [r14 + 0x134]
lea rdx, [rsp + 0x128]
mov qword [rdx - 8], r10
mov ecx, 0xc
mov rdi, rdx
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
movups xmm0, xmmword [r14 + 0x100]
movups xmm1, xmmword [r14 + 0x110]
movups xmm2, xmmword [r14 + 0x120]
movups xmmword [rdx + 0x80], xmm2
movups xmmword [rdx + 0x70], xmm1
movups xmmword [rdx + 0x60], xmm0
mov dword [rdx + 0x90], r8d
mov dword [rdx + 0x94], r9d
cmp byte [rdx + 0x80], 2
jne 0x140117878
lea rdi, [rsp + 0x9b0]
mov ecx, 0xc
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
jmp 0x140117888
mov rcx, rbx
mov rdx, r13
mov r8b, 0xd
mov r9b, 0x2b
jmp 0x140117429
mov r12d, dword [r14 + 0x130]
mov sil, 2
cmp r12d, 0x3b9aca00
je 0x140117c31
lea rdx, [r14 + 0x98]
mov sil, byte [r14 + 0x120]
lea rbx, [r14 + 0x121]
mov eax, dword [r14 + 0x134]
mov dword [rsp + 0x58], eax
mov r14, qword [r14 + 0x128]
lea rdi, [rsp + 0x120]
mov r8d, 0x88
mov rcx, rdi
mov qword [rsp + 0x78], rdx
call fcn.1401e82d0
mov byte [rdi + 0x88], sil
mov eax, dword [rbx]
mov ecx, dword [rbx + 3]
mov dword [rdi + 0x89], eax
mov dword [rdi + 0x8c], ecx
mov qword [rdi + 0x90], r14
mov dword [rdi + 0x98], r12d
mov eax, dword [rsp + 0x58]
mov dword [rdi + 0x9c], eax
cmp sil, 2
jne 0x140117bfc
lea rcx, [rsp + 0x120]
call fcn.140114f77
jmp 0x140117c27
lea rcx, [rsp + 0x120]
call fcn.140114f77
xor r10d, r10d
mov rbx, qword [rsp + 0x48]
mov r14, qword [rbx + 0x90]
lea rdi, [rsp + 0x8a8]
mov qword [rsp + 0x88], r10
mov qword [rdi - 8], r10
lea rsi, [rsp + 0x9b0]
mov ecx, 0xc
rep movsq qword [rdi], qword [rsi]
movups xmm0, xmmword [rbx + 0x30]
movups xmm1, xmmword [rbx + 0x40]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm3, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x340], xmm3
movaps xmmword [rsp + 0x330], xmm2
movaps xmmword [rsp + 0x320], xmm1
movaps xmmword [rsp + 0x310], xmm0
lea rcx, [rsp + 0x5c0]
lea rdx, [rsp + 0xa10]
mov r8d, 0xf0
call fcn.1401e82d0
mov rax, qword [rbx + 0x160]
mov qword [rsp + 0x98], rax
lea rdx, [rbx + 0x168]
lea rcx, [rsp + 0x520]
mov r8d, 0xa0
call fcn.1401e82d0
mov rax, qword [rbx + 0x208]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1401189f6
mov rax, qword [rbx + 0x78]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x80]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x88]
mov qword [rsp + 0xa8], rax
movups xmm0, xmmword [rbx + 0x210]
movups xmm1, xmmword [rbx + 0x220]
movups xmm2, xmmword [rbx + 0x230]
movups xmm3, xmmword [rbx + 0x240]
movaps xmmword [rsp + 0x3a0], xmm3
movaps xmmword [rsp + 0x390], xmm2
movaps xmmword [rsp + 0x380], xmm1
movaps xmmword [rsp + 0x370], xmm0
mov al, byte [rbx + 0x139]
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xb8], r14
mov byte [rsp + 0x77], al
mov rsi, qword [rbp + 0x48]
mov rax, qword [rbp + 0x58]
mov qword [rsp + 0x90], rax
imul rbx, rax, 0x28
xor r14d, r14d
lea rdi, [0x140562e68]
cmp rbx, r14
je 0x140117a5e
lea rcx, [rsi + r14]
call fcn.1401039ac
mov r9d, 3
mov ecx, eax
mov r8, rdi
call fcn.1400ffa3a
add r14, 0x28
test al, al
jne 0x140117a01
lea rsi, [rsp + 0x120]
mov rcx, rsi
mov rdx, r13
mov r8b, 0x1a
mov r9b, 0x3a
call fcn.14010de6e
mov al, byte [rsi]
cmp al, 0x13
jne 0x140118550
mov rsi, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
jmp 0x140117a70
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x90]
mov rcx, rsi
mov r8w, 0x1f
call fcn.140106d8d
test rax, rax
je 0x140117a91
mov r14, rax
cmp word [rax], 5
jne 0x140117a91
add r14, 8
jmp 0x140117abc
lea rsi, [rsp + 0x120]
mov rcx, rsi
mov rdx, r13
mov r8b, 0x19
mov r9b, 0x1d
call fcn.14010de6e
mov al, byte [rsi]
cmp al, 0x13
jne 0x140117bc9
mov r14, qword [rsp + 0x128]
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 8]
cmp ax, word [r14 + 0x18]
jne 0x140117bb3
cmp ax, 0xa
jne 0x140117aea
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0xa]
cmp ax, word [r14 + 0x1a]
jne 0x140117bb3
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x58]
mov r8w, 0x15
call fcn.140106d8d
test rax, rax
je 0x140117eb3
cmp word [rax], 6
jne 0x140117eb3
cmp qword [rsp + 0x98], 0
je 0x140117eb3
cmp qword [rsp + 0x88], 0
je 0x14011865a
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
mov rdx, qword [rsp + 0x80]
mov rdx, qword [rdx]
mov cl, byte [rcx + 0x70]
cmp cl, byte [rdx + 0x70]
jne 0x140118669
movzx esi, word [rax + 2]
mov rbp, qword [r12 + 8]
movzx eax, byte [rbp + 0x18]
dec rax
cmp rax, 1
ja 0x140117b94
mov rax, qword [rsp + 0x88]
movzx ecx, word [rax + 0x10]
movzx edx, word [rax + 0x12]
mov rax, qword [rsp + 0x80]
movzx r8d, word [rax + 0x10]
movzx r9d, word [rax + 0x12]
call fcn.1400fdb05
test al, al
je 0x1401188c8
test si, si
je 0x140118897
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
mov rdx, r13
mov r8b, 0xd
mov r9b, 0x2c
jmp 0x14011867a
mov rcx, rbx
mov rdx, r13
mov r8b, 0xd
mov r9b, 0x3f
call fcn.14010de6e
jmp 0x14011857b
mov ecx, dword [rsp + 0x121]
mov edx, dword [rsp + 0x124]
mov dword [rbx + 4], edx
mov dword [rbx + 1], ecx
mov rcx, qword [rsp + 0x128]
movups xmm0, xmmword [rsp + 0x130]
movups xmmword [rbx + 0x10], xmm0
mov byte [rbx], al
mov qword [rbx + 8], rcx
jmp 0x14011857b
lea rcx, [rsp + 0x5c0]
mov r8d, 0x88
mov rdx, qword [rsp + 0x78]
call fcn.1401e82d0
mov eax, dword [rbx]
mov ecx, dword [rbx + 3]
mov dword [rsp + 0x3b0], eax
mov dword [rsp + 0x3b3], ecx
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x68]
mov rax, qword [r14 + 0x90]
mov qword [rsp + 0x58], rax
mov r12d, esi
lea rsi, [rsp + 0x140]
lea rdx, [rsp + 0x5c0]
mov r8d, 0x88
mov rcx, rsi
call fcn.1401e82d0
mov eax, dword [rsp + 0x3b0]
mov ecx, dword [rsp + 0x3b3]
mov dword [rsi + 0x89], eax
mov dword [rsi + 0x8c], ecx
movups xmm0, xmmword [r14 + 0x30]
movups xmm1, xmmword [r14 + 0x40]
movaps xmmword [rsi - 0x20], xmm0
movaps xmmword [rsi - 0x10], xmm1
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movups xmmword [rsi + 0x188], xmm0
movups xmmword [rsi + 0x198], xmm1
mov bl, byte [r14 + 0x138]
mov r14, qword [rsp + 0x58]
lea rsi, [rsp + 0x1d8]
lea rdx, [rsp + 0xa10]
mov r8d, 0xf0
mov rcx, rsi
call fcn.1401e82d0
mov qword [rsi - 8], r14
mov byte [rsp + 0x78], r12b
mov byte [rsi - 0x10], r12b
mov byte [rsi + 0x130], bl
lea rsi, [rsp + 0x6b0]
mov qword [rsi], 1
xorps xmm0, xmm0
movups xmmword [rsi + 8], xmm0
mov rcx, rbp
mov rdx, rsi
call fcn.1401013a0
cmp qword [rsi + 0x10], 0x20
jne 0x1401189fa
mov rcx, qword [rsp + 0x6b0]
mov rdx, qword [rsp + 0x6b8]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x2f8], xmm1
movups xmmword [rsp + 0x2e8], xmm0
call fcn.14001a7e7
movabs rax, 0x14452474e574f44
cmp qword [rsp + 0x300], rax
sete al
test byte [rsp + 0x60], al
mov rbx, qword [rsp + 0x50]
je 0x140117db3
mov rcx, rbx
mov rdx, r13
mov r8b, 0xd
xor r9d, r9d
call fcn.14010de6e
lea rsi, [rsp + 0x140]
lea rcx, [rsp + 0x1d0]
call fcn.140115187
mov rcx, rsi
call fcn.140100824
lea rsi, [rsp + 0x120]
mov rcx, rsi
call fcn.1400fe0a3
mov rcx, qword [rsi + 0x190]
mov rdx, qword [rsi + 0x198]
call fcn.140123092
jmp 0x1401185c6
mov rsi, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x58]
mov rcx, rsi
mov rdx, rdi
mov r8w, 0x13
call fcn.140106d8d
mov qword [rsp + 0x98], rax
test rax, rax
setne byte [rsp + 0x60]
setne byte [rsp + 0x308]
mov rcx, rsi
mov rdx, rdi
mov r8w, 0x14
call fcn.140106d8d
mov r12, rax
mov rcx, rsi
mov rdx, rdi
mov r8w, 5
call fcn.140106d8d
mov qword [rsp + 0x90], rax
mov rcx, rsi
mov rdx, rdi
mov r8w, 0x11
call fcn.140106d8d
test rax, rax
je 0x140117e4e
cmp word [rax], 9
jne 0x140117e4e
mov rsi, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rcx, rsi
mov rdx, rdi
call fcn.140118d63
test al, al
je 0x140118155
mov word [rbx], 0x1808
jmp 0x140118650
mov qword [rsp + 0x88], r12
and qword [rsp + 0x520], 0
lea r14, [rsp + 0x2c8]
cmp byte [rsp + 0x78], 2
je 0x140118009
mov rax, qword [rsp + 0x1c0]
cmp rax, qword [rbp + 0x40]
jne 0x140118009
lea r12, [rbp + 0x20]
xor ecx, ecx
xor edx, edx
cmp rax, rcx
je 0x140117ffc
cmp rcx, 0x20
je 0x1401189f6
mov r8b, byte [r12 + rcx]
xor r8b, byte [rsp + rcx + 0x1a0]
inc rcx
or dl, r8b
jmp 0x140117e8c
mov rbp, qword [r12 + 8]
mov byte [rbp + 0x18], 4
mov byte [r13 + 0x140], 0
lea r12, [rsp + 0x120]
lea rax, [rsp + 0x8a0]
mov ecx, 0xd
mov rdi, r12
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
and qword [rax], 0
mov rcx, r12
call fcn.140112dd4
xorps xmm0, xmm0
movaps xmmword [r12 + 0x30], xmm0
movaps xmmword [r12 + 0x20], xmm0
movaps xmmword [r12 + 0x10], xmm0
movaps xmmword [r12], xmm0
mov rdx, qword [rsp + 0x80]
mov rax, qword [rdx]
mov r9, qword [rax + 0x10]
cmp r9, 0x41
jae 0x1401189f6
lea rcx, [rsp + 0x908]
lea r8, [rsp + 0x120]
call fcn.14011703a
movaps xmm0, xmmword [rsp + 0x370]
movaps xmm1, xmmword [rsp + 0x380]
movaps xmm2, xmmword [rsp + 0x390]
movaps xmm3, xmmword [rsp + 0x3a0]
movaps xmmword [rsp + 0x3e0], xmm3
movaps xmmword [rsp + 0x3d0], xmm2
movaps xmmword [rsp + 0x3c0], xmm1
movaps xmmword [rsp + 0x3b0], xmm0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov r10, qword [rsp + 0x3e8]
mov rax, qword [rax]
mov rcx, qword [r10]
mov al, byte [rax + 0x28]
cmp al, byte [rcx + 0x28]
jne 0x140118571
mov r9, qword [r14]
mov rax, qword [r14 + 0x10]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x450], xmm0
movaps xmmword [rsp + 0x440], xmm0
movaps xmmword [rsp + 0x430], xmm0
mov rcx, qword [r10]
mov rsi, qword [rcx + 0x20]
cmp rsi, 0x31
jae 0x1401189f6
mov r12, r14
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x430]
lea r8, [rsp + 0x3b0]
mov rdx, rsi
call qword [r10 + 8]
test al, al
je 0x140118175
mov rbx, qword [rsp + 0x50]
jmp 0x140118571
test dl, dl
mov rbx, qword [rsp + 0x50]
je 0x1401185f1
lea rsi, [rsp + 0x6d0]
mov r8d, 0x90
mov rcx, rsi
lea rdx, [rsp + 0x140]
call fcn.1401e82d0
movaps xmm0, xmmword [rsp + 0x120]
movaps xmm1, xmmword [rsp + 0x130]
movaps xmmword [rsi - 0x20], xmm0
movaps xmmword [rsi - 0x10], xmm1
mov ecx, 0x238
mov edx, 8
call fcn.14008ab1f
mov rdi, rax
lea rdx, [rsp + 0x6b0]
mov r8d, 0xb0
mov rcx, rax
call fcn.1401e82d0
mov rax, qword [rsp + 0x58]
mov qword [rdi + 0xb0], rax
lea rcx, [rdi + 0xb8]
mov r8d, 0xf0
lea rdx, [rsp + 0x1d8]
call fcn.1401e82d0
cmp qword [rsp + 0x90], 0
mov rax, qword [rsp + 0x80]
mov qword [rdi + 0x1a8], rax
mov rax, qword [rbp + 0x40]
mov qword [rdi + 0x1d0], rax
movups xmm0, xmmword [rbp + 0x20]
movups xmm1, xmmword [rbp + 0x30]
movups xmmword [rdi + 0x1c0], xmm1
movups xmmword [rdi + 0x1b0], xmm0
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmm3, xmmword [r14 + 0x30]
movups xmmword [rdi + 0x208], xmm3
movups xmmword [rdi + 0x1f8], xmm2
movups xmmword [rdi + 0x1e8], xmm1
movups xmmword [rdi + 0x1d8], xmm0
mov rax, qword [rsp + 0x530]
movups xmm0, xmmword [rsp + 0x520]
setne byte [rdi + 0x231]
cmp qword [rsp + 0x88], 0
movups xmmword [rdi + 0x218], xmm0
mov qword [rdi + 0x228], rax
mov al, byte [rsp + 0x60]
mov byte [rdi + 0x230], al
setne byte [rdi + 0x232]
mov qword [rbx + 8], rdi
lea rax, fcn.14011dee7
mov qword [rbx + 0x10], rax
mov byte [rbx], 0x13
mov r13, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x68]
jmp 0x1401185cb
mov qword [rsp + 0x88], r12
lea rcx, [rsp + 0x520]
mov rdx, rsi
mov r8, rdi
call fcn.1400d8f42
jmp 0x140117e5f
lea rdi, [rsp + 0x120]
lea rdx, [rsp + 0x908]
mov r8d, 0xa8
mov rcx, rdi
call fcn.1401e82d0
lea rdx, [rsp + 0x430]
mov rcx, rdi
mov r8, rsi
call fcn.1400ff883
mov r14, qword [rdi]
mov al, byte [rdi + 8]
mov byte [rsp + 0x78], al
mov dil, byte [rdi + 9]
lea rdx, [rsp + 0x12a]
lea rcx, [rsp + 0x6b0]
mov r8d, 0x96
call fcn.1401e82d0
test r14, r14
mov rbx, qword [rsp + 0x50]
je 0x140118571
lea rsi, [rsp + 0x480]
lea rdx, [rsp + 0x6b0]
mov r8d, 0x96
mov rcx, rsi
call fcn.1401e82d0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0xe]
movaps xmmword [rsp + 0x350], xmm0
movups xmmword [rsp + 0x35e], xmm1
lea rdx, [rsp + 0x49e]
lea rcx, [rsp + 0x3b0]
mov r8d, pe_nt_image_headers64
call fcn.1401e82d0
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
call fcn.1400ae9f8
mov r10, rdx
movzx r8d, word [r12 + 0x18]
movzx r9d, word [r12 + 0x1a]
lea rdx, [rsp + 0xc0]
mov rcx, rax
call qword [r10 + 0x20]
lea rsi, [rsp + 0x120]
mov rcx, rsi
mov rdx, r13
call fcn.140118faa
mov al, byte [rsi]
cmp al, 0x13
jne 0x140118550
lea rbx, [rsp + 0x430]
lea rdx, [rsp + 0x5c0]
mov rcx, rbx
call fcn.140118fc2
movzx eax, byte [rbp + 0x18]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0xa0]
mov rdx, qword [rax + 0xa8]
call fcn.1400ae9f8
mov r12, rax
lea rax, [rsp + 0x6d8]
mov qword [rax - 0x28], r14
mov cl, byte [rsp + 0x78]
mov byte [rax - 0x20], cl
mov byte [rax - 0x1f], dil
movaps xmm0, xmmword [rsp + 0x350]
movups xmmword [rax - 0x1e], xmm0
movups xmm0, xmmword [rsp + 0x35e]
movups xmmword [rax - 0x10], xmm0
lea rsi, [rsp + 0x3b0]
mov ecx, 0xf
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x78], rcx
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
cmp rax, 0x41
jae 0x1401189f6
mov rbp, rdx
lea rsi, [rsp + 0x438]
lea rbx, [rsp + 0x310]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x480]
lea rdx, [rsp + 0x6b0]
mov r8b, 2
mov r9, rsi
call fcn.14011b37d
mov rax, qword [rdi + 0x10]
cmp rax, 0x41
jae 0x1401189f6
mov r14, qword [rsp + 0x90]
dec r14
lea rdi, [rsp + 0x268]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
lea r12, [rsp + 0x6b0]
mov rcx, rdi
mov rdx, r12
mov r8b, 3
mov r9, rsi
call fcn.14011b37d
lea rcx, [rsp + 0x120]
mov r8d, 0xa8
mov rdx, r12
call fcn.1401e82d0
lea rsi, [rsp + 0x1c8]
lea rdx, [rsp + 0x480]
mov r8d, 0xa0
mov rcx, rsi
call fcn.1401e82d0
mov r12, qword [rsi - 8]
mov rcx, r12
mov rdx, rdi
mov r8, r13
call fcn.14011903b
cmp r14, 2
jb 0x140118408
mov rcx, r12
mov rdx, rsi
mov r8, r13
call fcn.1401190b4
lea rsi, [rsp + 0x6b0]
lea rdi, [rsp + 0x120]
mov r8d, 0x1e8
mov rcx, rsi
mov rdx, rdi
call fcn.1401e82d0
lea rcx, [rsp + 0x77]
mov rdx, r13
call fcn.1401170b5
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rdi + 0x10], xmm1
movaps xmmword [rdi], xmm0
mov ecx, 0x3c8
mov edx, 8
call fcn.14008ab1f
mov r12, rax
movaps xmm0, xmmword [rdi]
movaps xmm1, xmmword [rdi + 0x10]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
mov rax, qword [rsp + 0xa0]
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x80]
mov qword [r12 + 0x28], rax
lea rcx, [r12 + 0x30]
lea rdx, [rsp + 0x5c0]
mov r8d, 0xf0
call fcn.1401e82d0
lea rcx, [r12 + 0x120]
mov r8d, 0x1e8
mov rdx, rsi
call fcn.1401e82d0
mov rax, qword [rsp + 0x58]
mov qword [r12 + 0x308], rax
mov rax, qword [rsp + 0x60]
mov qword [r12 + 0x310], rax
mov rax, qword [rsp + 0xa8]
mov qword [r12 + 0x318], rax
lea rdi, [r12 + 0x320]
lea rsi, [rsp + 0x8a0]
mov ecx, 0xd
rep movsq qword [rdi], qword [rsi]
movaps xmm0, xmmword [rsp + 0x310]
movaps xmm1, xmmword [rsp + 0x320]
movaps xmm2, xmmword [rsp + 0x330]
movaps xmm3, xmmword [rsp + 0x340]
movups xmmword [r12 + 0x3b8], xmm3
movups xmmword [r12 + 0x3a8], xmm2
movups xmmword [r12 + 0x398], xmm1
movups xmmword [r12 + 0x388], xmm0
mov rbx, qword [rsp + 0x50]
mov qword [rbx + 8], r12
lea rax, fcn.140119129
jmp 0x14011813f
movups xmm0, xmmword [rsp + 0x121]
movups xmm1, xmmword [rsp + 0x130]
mov rbx, qword [rsp + 0x50]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 1], xmm0
mov byte [rbx], al
jmp 0x140118576
mov word [rbx], 0x1708
mov rdi, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.1400ff028
mov rcx, qword [rsp + 0x698]
mov rdx, qword [rsp + 0x6a0]
call fcn.140123092
lea rcx, [rsp + 0xc0]
call fcn.1400fe0a3
lea rcx, [rsp + 0x8a0]
call fcn.140112dd4
lea rcx, [rsp + 0xb8]
call fcn.140115187
mov r13, qword [rsp + 0x48]
mov rcx, r15
call fcn.14010cf6c
test rdi, rdi
jne 0x140117443
mov rcx, qword [r13 + 0x78]
mov rdx, qword [r13 + 0x80]
call fcn.1400ff028
jmp 0x140117443
mov rax, qword [rsp + 0x140]
movzx ecx, word [rax + 8]
movzx edx, word [rax + 0xa]
mov rax, qword [rsp + 0x80]
movzx r8d, word [rax + 8]
movzx r9d, word [rax + 0xa]
call fcn.1400fdb05
mov cl, 0x28
test al, al
je 0x140118638
cmp qword [rsp + 0x98], 0
setne al
cmp byte [rsp + 0x78], 0
setne cl
xor cl, al
mov cl, 0x29
je 0x140118684
mov rbx, qword [rsp + 0x50]
mov byte [rbx], 8
mov byte [rbx + 1], cl
lea rcx, [rsp + 0x520]
call fcn.14006a8fe
mov rdi, qword [rsp + 0x68]
jmp 0x140117d6e
mov rbx, qword [rsp + 0x50]
mov word [rbx], 0x3208
jmp 0x140118576
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
mov rdx, r13
mov r8b, 0xd
mov r9b, 0x2a
call fcn.14010de6e
jmp 0x140118576
cmp qword [rsp + 0x170], 0x30
jne 0x1401189fa
mov rax, qword [rsp + 0x160]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
lea rsi, [rsp + 0x6b0]
movaps xmmword [rsi + 0x20], xmm2
movaps xmmword [rsi + 0x10], xmm1
movaps xmmword [rsi], xmm0
lea rdi, [rsp + 0x488]
mov rax, qword [rsp + 0x80]
mov qword [rdi - 8], rax
movups xmm3, xmmword [r14]
movups xmm4, xmmword [r14 + 0x10]
movups xmm5, xmmword [r14 + 0x20]
movups xmm6, xmmword [r14 + 0x30]
movups xmmword [rdi], xmm3
movups xmmword [rdi + 0x10], xmm4
movups xmmword [rdi + 0x20], xmm5
movups xmmword [rdi + 0x30], xmm6
lea rbx, [rsp + 0x4c8]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm2
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0xa0]
mov rdx, qword [rax + 0xa8]
call fcn.1400ae9f8
mov r10, rdx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 0x30
mov qword [rsp + 0x20], 0x20
lea rdx, str.CLIENT_RANDOM
mov r8d, 0xd
mov rcx, rax
mov r9, rdi
call qword [r10 + 0x20]
lea rdx, [rsp + 0x480]
mov rcx, r13
call fcn.140118d87
mov rdx, qword [rsp + 0x178]
mov r8, qword [rsp + 0x188]
mov rcx, rsi
call fcn.1400d8f42
lea rcx, [r13 + 0x100]
call fcn.1401052d4
mov rax, qword [rsi + 0x10]
mov qword [r13 + 0x110], rax
movups xmm0, xmmword [rsi]
movups xmmword [r13 + 0x100], xmm0
cmp qword [rsp + 0x88], 0
je 0x1401188de
lea r13, [rsp + 0x908]
lea rsi, [rsp + 0x480]
mov ecx, 0xf
mov rdi, r13
rep movsq qword [rdi], qword [rsi]
lea rsi, [rsp + 0x6d0]
mov r8d, 0x90
mov rcx, rsi
lea rdx, [rsp + 0x140]
call fcn.1401e82d0
movaps xmm0, xmmword [rsp + 0x120]
movaps xmm1, xmmword [rsp + 0x130]
movaps xmmword [rsi - 0x20], xmm0
movaps xmmword [rsi - 0x10], xmm1
mov ecx, 0x250
mov edx, 8
call fcn.14008ab1f
mov rbp, rax
lea rdx, [rsp + 0x6b0]
mov r8d, 0xb0
mov rcx, rax
call fcn.1401e82d0
mov rax, qword [rsp + 0x58]
mov qword [rbp + 0xb0], rax
lea rdi, [rbp + 0xb8]
mov ecx, 0xf
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
lea rcx, [rbp + 0x130]
mov r8d, 0xf0
lea rdx, [rsp + 0x1d8]
call fcn.1401e82d0
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rbp + 0x220], xmm0
movups xmmword [rbp + 0x230], xmm1
mov rax, qword [r12 + 0x20]
mov qword [rbp + 0x240], rax
mov al, byte [rsp + 0x60]
mov byte [rbp + 0x248], al
mov byte [rbp + 0x249], 1
lea rax, fcn.14011dbef
jmp 0x1401189d4
lea rcx, [rsp + 0x910]
mov rax, qword [rsp + 0x98]
mov qword [rcx - 8], rax
lea rdx, [rsp + 0x520]
mov r8d, 0xa0
call fcn.1401e82d0
mov rbx, qword [rsp + 0x50]
jmp 0x140117f36
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
mov rdx, r13
mov r8b, 0xd
mov r9b, 0xb
jmp 0x14011867a
lea r13, [rsp + 0x908]
lea rsi, [rsp + 0x480]
mov ecx, 0xf
mov rdi, r13
rep movsq qword [rdi], qword [rsi]
lea rsi, [rsp + 0x6d0]
mov r8d, 0x90
mov rcx, rsi
lea rdx, [rsp + 0x140]
call fcn.1401e82d0
movaps xmm0, xmmword [rsp + 0x120]
movaps xmm1, xmmword [rsp + 0x130]
movaps xmmword [rsi - 0x20], xmm0
movaps xmmword [rsi - 0x10], xmm1
mov ecx, 0x270
mov edx, 8
call fcn.14008ab1f
mov rbp, rax
lea rdx, [rsp + 0x6b0]
mov r8d, 0xb0
mov rcx, rax
call fcn.1401e82d0
mov rax, qword [rsp + 0x58]
mov qword [rbp + 0xb0], rax
lea rdi, [rbp + 0xb8]
mov ecx, 0xf
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
lea rcx, [rbp + 0x130]
mov r8d, 0xf0
lea rdx, [rsp + 0x1d8]
call fcn.1401e82d0
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rbp + 0x220], xmm0
movups xmmword [rbp + 0x230], xmm1
mov rax, qword [r12 + 0x20]
mov qword [rbp + 0x240], rax
and qword [rbp + 0x248], 0
mov al, byte [rsp + 0x60]
mov byte [rbp + 0x268], al
mov byte [rbp + 0x269], 1
lea rax, fcn.14011d012
mov rbx, qword [rsp + 0x50]
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rax
mov byte [rbx], 0x13
lea rcx, [rsp + 0x520]
call fcn.14006a8fe
jmp 0x140118146
ud2
call fcn.140218e82
ud2