Function at 0x140008010
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x88]
sub rsp, 0x188
movzx edi, word [rbp + 0xf8]
mov r13, rcx
mov rcx, qword [rbp + 0x108]
movabs rax, 0xffffffff003c2bb3
movzx esi, byte [rbp + 0x100]
add rax, rcx
movzx r14d, byte [rbp + 0xf0]
cmp rax, 2
mov r10d, edx
mov r12d, 0x7fff
mov rdx, qword [0x1401027b0]
setbe r15b
xor r11d, r11d
test rdx, rdx
jne 0x140008099
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x60], rdx
jmp 0x140008171
movsxd rcx, dword [0x140102874]
imul rbx, rcx, 0xd4
inc ecx
add rbx, rdx
cmp ecx, dword [0x1400ff04c]
mov qword [rsp + 0x60], rbx
cmovge ecx, r11d
mov dword [0x140102874], ecx
mov byte [rbx], r14b
mov byte [rbx + 6], sil
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov dword [0x140102870], eax
sub ecx, dword [0x140105ce8]
xorps xmm0, xmm0
mov dword [0x140105ce8], eax
cvtsi2ss xmm0, rcx
divss xmm0, dword [0x1400ef9e8]
movss dword [rbx + 8], xmm0
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdx, qword [rsp + 0x60]
mov rbx, rax
test rax, rax
je 0x14000813d
cmp rax, qword [0x140102868]
je 0x140008133
mov rcx, qword [0x140102790]
lea r8, [rdx + 0xc]
mov edx, 0x418
mov r9, rax
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdx, qword [rsp + 0x60]
jmp 0x14000814b
xor r11d, r11d
mov word [rdx + 0xc], r11w
jmp 0x14000814e
movabs rcx, 0x41002f004e
mov qword [rdx + 0xc], rcx
xor r11d, r11d
mov rcx, qword [rbp + 0x108]
mov r9, qword [rbp + 0xe8]
mov r8, qword [rbp + 0xe0]
mov r10d, dword [rbp + 0xd8]
mov qword [0x140102868], rbx
cmp r14b, 0xe7
jne 0x1400081b8
movzx eax, word [r9 + 4]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rcx
mov rcx, r13
mov word [rdx + 2], ax
mov eax, 0x55
mov word [rdx + 4], ax
mov edx, r10d
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], r11w
mov byte [rsp + 0x20], r14b
call fcn.140009d40
jmp 0x140009b68
mov r10, qword [0x140106b78]
lea eax, [r14 + 0x64]
cmp al, 3
mov word [rdx + 2], di
mov ecx, r11d
cmova cx, di
cmp r13, qword [0x1401027b8]
mov dword [rsp + 0x58], ecx
jne 0x140008203
movzx ebx, byte [rbp + 0x110]
and bl, 1
jne 0x140008254
movzx ecx, sil
movzx eax, r14b
xor cl, 1
lea rdx, [0x140103660]
shl cl, 7
mov byte [rax + rdx], cl
jmp 0x14000824f
mov ecx, dword [rbp + 0x110]
mov ebx, ecx
shr ebx, 4
movzx edi, r14b
and bl, 1
lea rax, [rdi + rdi*2]
cmp byte [r10 + rax*8 + 0xc], 0
jne 0x140008254
movzx r8d, sil
movzx edx, r14b
call fcn.14000b580
mov r10, qword [0x140106b78]
test al, al
je 0x14000824c
movzx eax, sil
lea rdx, [0x140103660]
xor al, 1
shl al, 7
mov byte [rdi + rdx], al
xor r11d, r11d
mov rdx, qword [rsp + 0x60]
test r15b, r15b
je 0x140008260
mov eax, 0x69
jmp 0x140008270
test bl, bl
mov eax, SafeArrayAllocDescriptor
mov ecx, 0x61
cmovne ax, cx
cmp byte [0x1401028a3], 0
lea rcx, [rdx + 4]
mov qword [rsp + 0x70], rcx
mov word [rcx], ax
je 0x1400082c3
lea eax, [r14 - 0x5b]
cmp al, 1
ja 0x1400082c3
test sil, sil
jne 0x1400082c3
mov r15, qword [rbp + 0x108]
mov rcx, r13
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], sil
jmp 0x140009b58
cmp byte [0x140106b46], 0
je 0x1400083a9
cmp r14b, 0x1b
jne 0x1400083a9
test sil, sil
jne 0x1400083a9
xor edx, edx
lea rcx, str.32771
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x14000839d
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
jne 0x14000839d
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, r14b
xor ecx, ecx
call fcn.140015710
movzx edx, byte [0x1401028ae]
xor r8d, r8d
shr dl, 3
xor r9d, r9d
and dl, 1
mov dword [rsp + 0x28], 0xffc3d44d
or dl, 0xa4
mov byte [rsp + 0x20], r8b
lea ecx, [r8 + 1]
call fcn.140015710
mov rdx, qword [rsp + 0x60]
xor r8d, r8d
mov r15, qword [rbp + 0x108]
mov rcx, r13
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], r8b
movzx r8d, r14b
jmp 0x140009b5c
mov r10, qword [0x140106b78]
mov rdx, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x58]
mov rbx, qword [rbp + 0xd0]
cmp rbx, qword [0x1401027c0]
movzx eax, r13w
mov qword [rbp - 0x78], rax
lea rcx, [rax + rax*2]
mov rax, qword [0x140106b80]
lea rdi, [rax + rcx*8]
movzx eax, byte [rax + rcx*8 + 0x17]
mov byte [rsp + 0x50], al
jne 0x1400083e2
test al, al
jne 0x1400083ee
movzx eax, r14b
lea rcx, [rax + rax*2]
lea rdi, [r10 + rcx*8]
test r15b, r15b
je 0x140008464
mov rcx, qword [rbp + 0x108]
mov eax, 0xffc3d44e
cmp rcx, rax
jne 0x140008424
test sil, sil
je 0x140008424
cmp qword [0x140103790], rdi
jne 0x140008424
xor r8d, r8d
mov byte [rdi + 0x11], 0
mov qword [0x140103790], r8
mov byte [rdi + 0x14], 0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rcx
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], r13w
mov byte [rsp + 0x20], r14b
mov rcx, rbx
mov edx, dword [rbp + 0xd8]
mov r8, qword [rbp + 0xe0]
mov r9, qword [rbp + 0xe8]
call fcn.140009d40
jmp 0x140009b68
test sil, sil
jne 0x140008472
mov byte [rdi + 0x15], sil
mov word [rdi + 8], r12w
cmp rbx, qword [0x1401027b8]
jne 0x1400084e7
test r14b, r14b
jne 0x1400084a8
mov r15, qword [rbp + 0x108]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], r13w
mov byte [rsp + 0x20], r14b
jmp 0x140008443
lea eax, [r14 - 1]
cmp al, 1
ja 0x1400084e7
cmp dword [0x140102740], 0
jne 0x140008514
xor edx, edx
lea rcx, str.32768
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x1400084e0
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x140105cc0]
je 0x140008514
mov r10, qword [0x140106b78]
mov rax, qword [0x140103790]
test rax, rax
je 0x14000855b
cmp rax, rdi
je 0x14000855b
test sil, sil
jne 0x14000855b
cmp rbx, qword [0x1401027c0]
jne 0x140008541
xor r8d, r8d
mov eax, r8d
cmp byte [rdi + 0xc], al
sete al
jmp 0x14000854c
mov byte [rdi + 0x14], 0
mov rdx, qword [rsp + 0x60]
movzx eax, sil
mov r15, qword [rbp + 0x108]
xor al, 1
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov byte [rdi + 0x11], al
mov qword [rsp + 0x38], r15
jmp 0x140008433
mov rax, qword [0x140103790]
movzx eax, byte [rax + 0xc]
test eax, eax
je 0x14000855b
mov rax, qword [0x140103790]
mov byte [rax + 0x16], 1
cmp byte [rdi + 0xd], 0
jne 0x140008567
cmp byte [rdi + 0xe], 0
je 0x140008518
xor r15d, r15d
mov word [rsp + 0x54], r12w
mov qword [rsp + 0x78], r15
movzx r13d, r12w
test sil, sil
je 0x1400085b0
movzx edx, byte [rdi + 0x14]
movzx eax, word [rdi + 8]
movzx r8d, byte [rdi + 0x11]
mov byte [rsp + 0x5d], r8b
mov byte [rbp + 0xf0], dl
mov byte [rdi + 0x14], r15b
cmp ax, r12w
je 0x1400085c8
movzx r13d, ax
mov word [rsp + 0x54], ax
mov word [rdi + 8], r12w
jmp 0x1400085c8
movzx eax, byte [rbp + 0xf0]
mov byte [rsp + 0x5d], al
movzx eax, byte [rbp + 0xf0]
mov byte [rbp + 0xf0], al
movzx eax, sil
xor cl, cl
xor al, 1
cmp rbx, qword [0x1401027c0]
mov byte [rdi + 0x11], al
jne 0x140008739
cmp byte [rdi + 0xc], r15b
je 0x140008643
cmp byte [r10 + 0xf41], r15b
jne 0x1400085fc
cmp byte [r10 + 0xf59], r15b
jne 0x1400085fc
xor al, al
jmp 0x1400085fe
mov al, 1
mov byte [r10 + 0x1a9], al
cmp byte [r10 + 0xf71], r15b
jne 0x14000861b
cmp byte [r10 + 0xf89], r15b
jne 0x14000861b
xor al, al
jmp 0x14000861d
mov al, 1
mov byte [r10 + 0x1c1], al
cmp byte [r10 + 0xf11], r15b
jne 0x14000863a
cmp byte [r10 + 0xf29], r15b
jne 0x14000863a
xor al, al
jmp 0x14000863c
mov al, 1
mov byte [r10 + 0x191], al
movzx r11d, byte [0x1401028ab]
mov rax, qword [rdi]
test rax, rax
je 0x14000865d
cmp dword [rax], 7
mov byte [rsp + 0x5c], 1
je 0x140008662
mov byte [rsp + 0x5c], r15b
test cl, cl
jne 0x14000867c
mov cl, 1
call fcn.140018500
mov r10, qword [0x140106b78]
movzx r11d, byte [0x1401028ab]
movzx ecx, byte [rdi + 0xd]
test cl, cl
je 0x1400089ca
test sil, sil
jne 0x1400089ca
mov rax, qword [0x140103790]
test rax, rax
je 0x1400086ac
cmp byte [rdi + 0xe], r15b
je 0x1400086ac
cmp rdi, rax
jne 0x1400089ca
cmp cl, 1
jne 0x1400087bc
movzx r8d, byte [rsp + 0x50]
mov ecx, r15d
movzx edx, word [rsp + 0x58]
test r8b, r8b
movzx eax, r14b
cmove edx, eax
cmovne cx, dx
movzx eax, dl
cmovne eax, r15d
mov dword [rbp - 0x80], edx
movzx edx, cx
xor r8d, r8d
movzx ecx, al
call fcn.140018760
cmp r15w, word [0x1401037cc]
mov r9d, r15d
mov byte [rsp + 0x5e], al
mov dword [rsp + 0x68], r15d
jae 0x1400088d7
movzx edx, byte [0x140102893]
mov r8, r15
mov qword [rbp - 0x70], r15
nop dword [rax]
nop word [rax + rax]
cmp byte [rsp + 0x50], 0
mov rcx, qword [0x1401037b8]
mov r15, qword [r8 + rcx]
je 0x14000876b
movzx eax, word [r15 + 0xa]
jmp 0x140008770
cmp qword [0x1401027c0], r15
jne 0x140008643
mov cl, 1
call fcn.140018500
mov r10, qword [0x140106b78]
movzx r11d, al
mov byte [0x1401028ab], al
mov cl, 1
mov byte [0x1401028ae], al
jmp 0x14000864b
movzx eax, byte [r15 + 0x11]
cmp dword [rbp - 0x80], eax
je 0x140008784
movzx eax, byte [rsp + 0x5e]
test byte [r15 + 0xe], al
je 0x14000889e
cmp word [r15 + 6], 0
je 0x14000882c
cmp byte [r15 + 0x19], 0
je 0x14000889e
test dl, dl
jne 0x14000889e
mov r10, qword [0x140106b78]
xor r15d, r15d
movzx r11d, byte [0x1401028ab]
mov rbx, qword [rbp + 0xd0]
xor dl, dl
cmp rdi, qword [0x140103790]
je 0x1400087d1
mov qword [0x140103790], rdi
mov byte [rdi + 0x16], dl
cmp byte [rdi + 0xe], 0
je 0x14000892c
movzx eax, byte [rdi + 0xc]
movzx ecx, r11b
test al, al
je 0x1400087eb
not al
and cl, al
test cl, cl
jne 0x1400087fd
test dl, dl
jne 0x1400087fd
test byte [rdi + 0x10], 1
je 0x14000892c
cmp rbx, qword [0x1401027c0]
jne 0x1400088de
cmp byte [rsp + 0x50], 0
je 0x1400088de
mov rax, qword [0x140106b68]
movzx ecx, cl
shl rcx, 9
add rcx, qword [rbp - 0x78]
jmp 0x1400088f1
mov rbx, qword [r15 + 0x28]
mov rax, rbx
test rbx, rbx
je 0x14000889e
cmp byte [rax + 0x28], 0
jne 0x140008849
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140008838
jmp 0x14000889e
test rbx, rbx
je 0x14000889e
nop
cmp byte [rbx + 0x28], 0
je 0x14000888c
test dl, dl
je 0x140008866
mov rcx, rbx
call fcn.14009e1b0
test al, al
je 0x140008885
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400087a3
mov rdx, qword [r15 + 0x20]
call fcn.14000d910
test rax, rax
jne 0x1400087a3
movzx edx, byte [0x140102893]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x140008850
mov r8, qword [rbp - 0x70]
mov r9d, dword [rsp + 0x68]
movzx eax, word [0x1401037cc]
inc r9d
add r8, 8
mov dword [rsp + 0x68], r9d
mov qword [rbp - 0x70], r8
cmp r9d, eax
jl 0x140008720
mov r10, qword [0x140106b78]
xor r15d, r15d
movzx r11d, byte [0x1401028ab]
mov rbx, qword [rbp + 0xd0]
mov dl, 1
jmp 0x1400087d1
movzx ecx, cl
movzx eax, r14b
shl ecx, 8
add ecx, eax
mov rax, qword [0x140106b60]
movzx r13d, word [rax + rcx*2]
mov word [rsp + 0x54], r13w
test r13w, r13w
jns 0x140008909
mov word [rdi + 8], r13w
jmp 0x140008936
movzx eax, r13w
and ax, r12w
cmp ax, word [0x1401037cc]
jae 0x14000892c
movzx ecx, ax
mov rax, qword [0x140106b70]
movzx ecx, word [rax + rcx*2]
mov word [rdi + 8], cx
cmp r13w, r12w
jne 0x1400089ca
test dl, dl
je 0x14000894b
mov rcx, qword [rsp + 0x70]
mov eax, reloc.OLEAUT32.dll_SafeArrayAllocDescriptor
or byte [rdi + 0x10], 8
mov word [rcx], ax
cmp byte [rdi + 0xc], 0
jne 0x14000899c
test byte [rdi + 0x10], 1
jne 0x14000899c
cmp byte [rsp + 0x5c], 0
jne 0x14000899c
test dl, dl
jne 0x14000899c
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
mov qword [rsp + 0x48], r15
mov r15, qword [rbp + 0x108]
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], 0
mov byte [rdi + 0x15], 1
jmp 0x140009b58
mov rdx, qword [rsp + 0x60]
mov r15, qword [rbp + 0x108]
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], 0
mov word [rsp + 0x28], ax
jmp 0x14000843e
xor r15b, r15b
cmp byte [rdi + 0xe], r15b
je 0x140008a40
test sil, sil
je 0x140008a40
cmp qword [0x140103790], rdi
movzx edx, byte [rbp + 0xf0]
jne 0x1400089f8
test dl, dl
je 0x140008a40
xor r8d, r8d
mov qword [0x140103790], r8
jmp 0x1400089fb
xor r8d, r8d
cmp byte [rdi + 0xf], 0
jne 0x140008a3d
movzx eax, byte [rdi + 0x10]
test al, 8
je 0x140008a12
xor cl, cl
and al, 0xf7
mov byte [rdi + 0x10], al
jmp 0x140008a14
mov cl, 1
test dl, dl
je 0x140008aec
test cl, cl
je 0x140008aec
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
mov r15, qword [rbp + 0x108]
mov qword [rsp + 0x48], r8
jmp 0x140009b3b
mov r15b, 1
cmp byte [rdi + 0xd], 0
je 0x140008c2c
test sil, sil
je 0x140008c2c
mov rax, qword [0x140103790]
mov r8d, 0
cmp rax, rdi
cmove rax, r8
mov qword [0x140103790], rax
cmp byte [rdi + 0x12], r8b
je 0x140008aa2
mov dword [rsp + 0x28], 0xffc3d44d
lea ecx, [r8 + 1]
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.OLEAUT32.dll_SafeArrayGetUBound
mov byte [rdi + 0x12], r8b
call fcn.140015710
mov r10, qword [0x140106b78]
movzx r11d, byte [0x1401028ab]
cmp byte [rdi + 0x13], 0
je 0x140008ad9
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rdi + 0x13], 0
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
mov byte [rsp + 0x20], r8b
lea ecx, [r8 + 1]
call fcn.140015710
mov r10, qword [0x140106b78]
movzx r11d, byte [0x1401028ab]
cmp r13w, r12w
jne 0x140008b1a
movzx eax, byte [rdi + 0x10]
test al, 8
je 0x140008b1a
and al, 0xf7
mov byte [rdi + 0x10], al
mov rdx, qword [rsp + 0x60]
mov r15, qword [rbp + 0x108]
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], ax
jmp 0x14000843e
movzx ecx, byte [rsp + 0x5c]
movzx eax, byte [rdi + 0x16]
test cl, cl
je 0x140008bc7
cmp al, 2
jne 0x140008b7e
mov edi, dword [rsp + 0x58]
xor r9d, r9d
mov eax, 0xffc3d44e
movzx r8d, di
mov dword [rsp + 0x28], eax
movzx edx, r14b
mov byte [rsp + 0x20], 0
lea ecx, [r9 + 1]
call fcn.140015710
xor r9d, r9d
mov dword [rsp + 0x28], 0xffc3d44d
movzx r8d, di
mov byte [rsp + 0x20], 0
movzx edx, r14b
lea ecx, [r9 + 2]
call fcn.140015710
mov rcx, rbx
jmp 0x140009b28
cmp al, 1
je 0x140008aec
cmp byte [rdi + 0xe], 0
jne 0x140008c1b
cmp byte [rdi + 0xc], 0
jne 0x140008aec
test byte [rdi + 0x10], 1
jne 0x140008aec
test cl, cl
jne 0x140008aec
mov rdx, qword [rsp + 0x60]
xor eax, eax
mov r15, qword [rbp + 0x108]
mov rcx, rbx
mov qword [rsp + 0x48], rax
jmp 0x140009b3b
test al, al
je 0x140008b86
cmp r13w, r12w
jne 0x140008b86
cmp byte [rdi + 0xc], 0
jne 0x140008aec
test byte [rdi + 0x10], 1
mov rcx, rbx
mov rdx, qword [rsp + 0x60]
mov r15, qword [rbp + 0x108]
je 0x140009b34
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], ax
mov byte [rsp + 0x20], r14b
jmp 0x140008446
cmp byte [rsp + 0x5d], 0
jne 0x140008c2c
cmp byte [rdi + 0xf], 0
je 0x140008aec
cmp qword [0x140103790], 0
mov r9d, 0x7ffd
mov byte [rbp + 0xf0], 0
je 0x140009050
test sil, sil
je 0x140008c56
cmp byte [rdi + 0xf], 0
je 0x140009050
cmp r13w, r12w
jne 0x140009427
movzx ebx, word [rdi + 0xa]
xor eax, eax
mov r8d, eax
cmp bx, r12w
je 0x140008e44
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x1401037b8]
movzx ecx, bx
mov rdx, qword [rax + rcx*8]
movzx eax, byte [rdx + 0x11]
test al, al
jne 0x140008c9d
cmp word [rdx + 0xa], 0
je 0x140008cfc
movzx ebx, word [rdx + 0xc]
test al, al
je 0x140008cb2
movzx eax, al
lea rcx, [rax + rax*2]
lea rax, [r10 + rcx*8]
jmp 0x140008cc5
movzx eax, word [rdx + 0xa]
lea rcx, [rax + rax*2]
mov rax, qword [0x140106b80]
lea rax, [rax + rcx*8]
cmp byte [rax + 0x11], 0
je 0x140008cf1
cmp byte [rdx + 0x16], 0
je 0x140008ce5
test sil, sil
jne 0x140008cf9
movzx eax, word [rdx + 4]
mov word [rdi + 8], ax
test r8, r8
jne 0x140008d05
jmp 0x140008cf1
test sil, sil
jne 0x140008cf1
test r8, r8
cmove r8, rdx
cmp bx, r12w
jne 0x140008c80
jmp 0x140008cfc
mov r8, rdx
test r8, r8
je 0x140008e44
movzx edx, byte [r8 + 0x11]
mov ecx, edx
test edx, edx
je 0x140008d77
sub ecx, 0x10
je 0x140008d5d
sub ecx, 1
je 0x140008d43
cmp ecx, 1
je 0x140008d29
lea rcx, [rdx + rdx*2]
lea rax, [r10 + rcx*8]
jmp 0x140008d8b
cmp byte [r10 + 0xf89], 0
mov eax, 0xf60
mov ecx, 0xf78
cmovne eax, ecx
add rax, r10
jmp 0x140008d8b
cmp byte [r10 + 0xf59], 0
mov eax, 0xf30
mov ecx, 0xf48
cmovne eax, ecx
add rax, r10
jmp 0x140008d8b
cmp byte [r10 + 0xf29], 0
mov eax, 0xf00
mov ecx, 0xf18
cmovne eax, ecx
add rax, r10
jmp 0x140008d8b
movzx eax, word [r8 + 0xa]
lea rcx, [rax + rax*2]
mov rax, qword [0x140106b80]
lea rax, [rax + rcx*8]
movzx r13d, word [r8 + 6]
mov qword [0x140103790], rax
test r13w, r13w
je 0x140008da8
mov word [rsp + 0x54], r13w
jmp 0x140008e35
movzx eax, word [r8 + 4]
lea r9, [rdi + 0x10]
mov rbx, qword [rbp + 0x108]
lea rcx, [rsp + 0x54]
mov word [rsp + 0x54], ax
mov r8, rbx
mov rax, qword [rsp + 0x70]
movzx edx, sil
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
call fcn.14000e530
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x140008e21
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rbx
mov byte [rsp + 0x30], sil
mov eax, dword [rsp + 0x58]
mov rcx, qword [rbp + 0xd0]
mov word [rsp + 0x28], ax
mov byte [rsp + 0x20], r14b
jmp 0x140008446
movzx r13d, word [rsp + 0x54]
mov r9d, 0x7ffd
movzx r11d, byte [0x1401028ab]
mov rax, qword [0x140103790]
movzx ebx, r13w
mov byte [rax + 0x16], 2
movzx eax, bx
sub ax, r9w
cmp ax, 1
ja 0x140009050
test sil, sil
jne 0x140008e5e
mov byte [rdi + 0x14], 1
test byte [0x1401028ae], 0xc
jne 0x140008e83
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.OLEAUT32.dll_SafeArrayGetUBound
xor ecx, ecx
call fcn.140015710
mov r15d, dword [rsp + 0x58]
lea eax, [r14 + 0x5e]
cmp al, 1
ja 0x140008eb6
test sil, sil
jne 0x140008eb6
xor r9d, r9d
mov dword [rsp + 0x28], 0xffc3d44d
movzx r8d, r15w
mov byte [rsp + 0x20], sil
movzx edx, r14b
lea ecx, [r9 + 1]
call fcn.140015710
mov rax, qword [0x140103790]
mov r13d, 0x7ffd
mov byte [rax + 0x12], 1
cmp bx, r13w
jne 0x140008f02
test byte [0x1401028ae], 0x30
jne 0x140008ef2
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
xor ecx, ecx
call fcn.140015710
mov rax, qword [0x140103790]
mov byte [rax + 0x13], 1
jmp 0x140008f88
mov eax, 0x7ffe
cmp bx, ax
jne 0x140008f88
lea eax, [r14 + 0x60]
cmp al, 1
ja 0x140008f3a
test sil, sil
jne 0x140008f3a
xor r9d, r9d
mov dword [rsp + 0x28], 0xffc3d44d
movzx r8d, r15w
mov byte [rsp + 0x20], sil
movzx edx, r14b
lea ecx, [r9 + 1]
call fcn.140015710
test byte [0x1401028ae], 0x10
je 0x140008f61
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 0xa0
lea ecx, [r8 + 1]
call fcn.140015710
test byte [0x1401028ae], 0x20
je 0x140008f88
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 0xa1
lea ecx, [r8 + 1]
call fcn.140015710
test byte [0x1401028ae], 1
je 0x140008faf
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 0xa2
lea ecx, [r8 + 1]
call fcn.140015710
test byte [0x1401028ae], 2
je 0x140008fd6
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 0xa3
lea ecx, [r8 + 1]
call fcn.140015710
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 9
lea ecx, [r8 + 2]
call fcn.140015710
cmp bx, r13w
jne 0x14000903e
mov rax, qword [0x140103790]
cmp byte [rax + 0x13], 0
je 0x14000903e
lea eax, [r14 - 0x60]
cmp al, 9
jbe 0x140009015
cmp r14b, 0x6e
jne 0x14000903e
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
lea ecx, [r8 + 1]
call fcn.140015710
mov rax, qword [0x140103790]
mov byte [rax + 0x13], 0
mov rcx, qword [rsp + 0x70]
mov eax, 0x68
mov word [rcx], ax
jmp 0x140009b18
cmp r13w, r12w
jne 0x140009427
movzx eax, byte [rdi + 0xc]
movzx edx, r11b
test al, al
je 0x14000906a
not al
and dl, al
mov r13, qword [rbp + 0xd0]
cmp r13, qword [0x1401027c0]
movzx r10d, byte [rsp + 0x50]
jne 0x1400090a0
test r10b, r10b
je 0x1400090a0
mov rbx, qword [rbp - 0x78]
mov rax, qword [0x140106b68]
movzx ecx, dl
shl rcx, 9
add rcx, rbx
movzx r8d, r14b
jmp 0x1400090b8
mov rax, qword [0x140106b60]
mov rbx, qword [rbp - 0x78]
movzx ecx, dl
shl ecx, 8
movzx r8d, r14b
add ecx, r8d
movzx r9d, word [rax + rcx*2]
mov dword [rsp + 0x68], r9d
movzx eax, r9w
mov word [rsp + 0x54], r9w
cmp r9w, r12w
jne 0x140009156
cmp byte [0x140106b46], 0
je 0x140009156
cmp r14b, 9
je 0x140009156
and dl, 0xf3
cmp r13, qword [0x1401027c0]
jne 0x140009109
test r10b, r10b
je 0x140009109
mov rax, qword [0x140106b68]
movzx ecx, dl
shl rcx, 9
add rcx, rbx
jmp 0x140009119
mov rax, qword [0x140106b60]
movzx ecx, dl
shl ecx, 8
add ecx, r8d
movzx r9d, word [rax + rcx*2]
mov edx, 0x7ff9
movzx ecx, r9w
mov dword [rsp + 0x68], r9d
and cx, r12w
mov word [rsp + 0x54], r9w
movzx eax, r9w
cmp cx, dx
jbe 0x140009145
cmp cx, r12w
jb 0x140009156
mov r9d, r12d
mov dword [rsp + 0x68], r12d
mov word [rsp + 0x54], r12w
mov eax, r12d
test ax, ax
jns 0x14000923c
test sil, sil
jne 0x1400092ff
movzx r8d, word [rdi + 0xa]
movzx eax, r11b
and al, 0xc0
mov word [rdi + 8], r9w
neg al
movzx eax, r11b
sbb ecx, ecx
and ecx, 8
mov edx, ecx
or edx, 1
and al, 0xc
movzx eax, r11b
cmove edx, ecx
mov ecx, edx
or ecx, 4
and al, 0x30
movzx eax, r11b
cmove ecx, edx
mov r9d, ecx
or r9d, 2
and al, 3
cmove r9d, ecx
cmp r8w, r12w
je 0x140009219
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x1401037b8]
movzx ecx, r8w
mov rdx, qword [rax + rcx*8]
cmp byte [rdx + 0x15], 0
movzx r8d, word [rdx + 0xc]
jne 0x1400091e5
movzx ecx, byte [rdx + 0xf]
not ecx
test r11b, cl
jne 0x140009213
cmp byte [rdx + 0x16], 0
jne 0x140009213
cmp byte [rdx + 0x11], 0
jne 0x140009213
cmp word [rdx + 0xa], 0
jne 0x140009213
cmp word [rdx + 6], 0
jne 0x140009213
mov eax, r9d
not eax
test dword [rdx], eax
jne 0x140009213
movzx eax, r11b
not eax
test byte [rdx + 0xe], al
je 0x14000922a
cmp r8w, r12w
jne 0x1400091c0
mov eax, r12d
movzx r13d, ax
mov word [rsp + 0x54], ax
jmp 0x140009304
movzx eax, word [rdx + 4]
movzx r13d, ax
mov word [rsp + 0x54], ax
jmp 0x140009304
cmp ax, r12w
je 0x14000931e
and ax, r12w
test sil, sil
je 0x1400092dd
cmp ax, word [0x1401037cc]
jae 0x1400092ca
movzx ebx, ax
mov rax, qword [0x140106b70]
cmp word [rax + rbx*2], r12w
je 0x1400092ca
test r15b, r15b
mov r15, qword [rbp + 0x108]
jne 0x1400092b6
mov rax, qword [rsp + 0x70]
lea r9, [rdi + 0x10]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x54]
lea rax, [rbp + 0xf0]
mov r8, r15
movzx edx, sil
mov qword [rsp + 0x20], rax
call fcn.14000e530
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400092b6
movzx r13d, word [rsp + 0x54]
jmp 0x14000930b
mov rax, qword [0x140106b70]
movzx r13d, word [rax + rbx*2]
mov word [rsp + 0x54], r13w
jmp 0x14000930b
test r15b, r15b
mov r15, qword [rbp + 0x108]
jne 0x140009325
mov r13d, dword [rsp + 0x68]
jmp 0x14000930b
cmp ax, word [0x1401037cc]
mov r13d, dword [rsp + 0x68]
jae 0x140009304
movzx ecx, ax
mov rax, qword [0x140106b70]
movzx ecx, word [rax + rcx*2]
mov word [rdi + 8], cx
jmp 0x140009304
mov r13d, dword [rsp + 0x68]
mov r15, qword [rbp + 0x108]
cmp r13w, r12w
jne 0x140009427
mov r13, qword [rbp + 0xd0]
jmp 0x140009325
mov r15, qword [rbp + 0x108]
test sil, sil
je 0x14000937a
cmp byte [rdi + 0xc], 0
jne 0x14000934b
test byte [rdi + 0x10], 1
jne 0x14000934b
cmp byte [rdi + 0xd], 0
je 0x14000934b
cmp byte [rsp + 0x5c], 0
jne 0x14000934b
mov rcx, r13
jmp 0x140009b2f
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], sil
mov eax, dword [rsp + 0x58]
mov rcx, r13
mov word [rsp + 0x28], ax
mov byte [rsp + 0x20], r14b
jmp 0x140008446
cmp word [rdi + 8], r12w
lea rcx, [rdi + 8]
jne 0x1400093a0
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], 0
jmp 0x140009364
mov rbx, qword [rbp + 0x108]
lea r9, [rdi + 0x10]
lea rax, [rbp + 0xf0]
xor edi, edi
mov qword [rsp + 0x28], rdi
mov r8, rbx
mov dl, 1
mov qword [rsp + 0x20], rax
call fcn.14000e530
mov rcx, r13
mov rdx, qword [rsp + 0x60]
cmp byte [rbp + 0xf0], dil
je 0x140009400
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rbx
mov byte [rsp + 0x30], dil
mov word [rsp + 0x28], ax
mov byte [rsp + 0x20], r14b
jmp 0x140008446
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rbx
mov byte [rsp + 0x20], dil
jmp 0x140009b58
movzx eax, byte [rdi + 0x10]
lea rbx, [rdi + 0x10]
test al, 8
je 0x140009443
test sil, sil
je 0x140009443
and al, 0xf7
mov byte [rbp + 0xf0], 1
mov byte [rbx], al
mov r15, qword [rbp + 0x108]
movzx eax, r13w
and ax, r12w
cmp ax, word [0x1401037cc]
jae 0x140009564
cmp qword [rsp + 0x78], 0
jne 0x140009564
mov r13, qword [rsp + 0x70]
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x28], r13
lea rcx, [rsp + 0x54]
mov r9, rbx
mov qword [rsp + 0x20], rax
mov r8, r15
movzx edx, sil
call fcn.14000e530
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x14000955e
cmp word [r13], 0x69
jne 0x1400094c4
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
jmp 0x140008e02
test sil, sil
je 0x1400094e4
cmp byte [rdi + 0x15], 0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rbp + 0xd0]
je 0x140008bf4
jmp 0x140009b34
cmp word [rdi + 8], r12w
lea rcx, [rdi + 8]
jne 0x14000950d
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], 0
jmp 0x140008e07
lea rax, [rbp + 0xf0]
mov byte [rbp + 0xf0], 0
xor esi, esi
mov r9, rbx
mov qword [rsp + 0x28], rsi
mov r8, r15
mov dl, 1
mov qword [rsp + 0x20], rax
call fcn.14000e530
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rbp + 0xd0]
cmp byte [rbp + 0xf0], sil
jne 0x140008bf4
and byte [rbx], 0xf7
mov byte [rdi + 0x15], 1
mov qword [rsp + 0x48], rsi
jmp 0x140009b3b
movzx r13d, word [rsp + 0x54]
and r13w, r12w
test byte [0x1401028ae], 0xcc
mov dword [rsp + 0x68], r13d
je 0x14000965c
cmp byte [rbp + 0xf0], 0
jne 0x14000965c
cmp byte [0x140106b45], 0
jne 0x1400095a4
mov rcx, qword [rbp + 0xd0]
cmp rcx, qword [0x1401027b8]
jne 0x140009663
test byte [0x1401028ae], 0xc0
movzx edx, byte [0x1401028aa]
je 0x1400095e3
test dl, 0xc0
jne 0x1400095da
cmp r13w, word [0x1401037cc]
jae 0x1400095e3
mov rax, qword [0x1401037b8]
movzx ecx, r13w
mov rcx, qword [rax + rcx*8]
movzx eax, byte [rcx + 0xf]
and al, 0xc0
je 0x1400095e3
mov byte [0x140106b44], 1
jmp 0x14000965c
cmp byte [0x140106b44], 0
jne 0x14000965c
movzx eax, byte [0x1401028ae]
test al, 0xc
je 0x14000965c
test al, 3
jne 0x14000965c
test dl, 0xc
jne 0x140009621
cmp r13w, word [0x1401037cc]
jae 0x14000965c
mov rax, qword [0x1401037b8]
movzx ecx, r13w
mov rcx, qword [rax + rcx*8]
movzx eax, byte [rcx + 0xf]
and al, 0xc
je 0x14000965c
cmp qword [0x1401027c0], 0
je 0x140009634
mov byte [0x140106b44], 1
jmp 0x14000965c
movzx r8d, word [0x140100b48]
xor r9d, r9d
movzx edx, byte [reloc.OLEAUT32.dll_SafeArrayGetElemsize]
mov dword [rsp + 0x28], 0xffc3d44d
mov byte [rsp + 0x20], 0
lea ecx, [r9 + 2]
call fcn.140015710
mov rcx, qword [rbp + 0xd0]
mov eax, 0x7ffa
cmp r13w, ax
je 0x1400096ba
jbe 0x14000968a
mov eax, 0x7ffc
cmp r13w, ax
jbe 0x1400096cd
mov eax, 0x7ffe
cmp r13w, ax
jbe 0x14000977d
mov rcx, qword [rsp + 0x78]
movzx r12d, r13w
mov rax, qword [rcx + 8]
test rax, rax
je 0x1400099be
cmp byte [rax], 5
jb 0x1400099be
movzx eax, word [rcx + 0x20]
shl eax, 0x10
cdqe
or r12, rax
jmp 0x1400099be
cmp byte [0x140106b46], 0
jne 0x1400096cd
mov rdx, qword [rsp + 0x60]
jmp 0x140008bf4
xor al, al
test byte [0x1401028ae], 4
je 0x1400096dd
mov r13b, 0xa4
jmp 0x1400096f1
test byte [0x1401028ae], 8
movzx r13d, al
mov eax, 0xa5
cmovne r13d, eax
cmp byte [0x140106b46], 0
je 0x140009866
mov r9d, dword [rsp + 0x68]
mov eax, 0x7ffb
cmp r9w, ax
je 0x140009778
mov edx, reloc.OLEAUT32.dll_SafeArrayGetUBound
movzx eax, r13b
test r13b, r13b
mov dword [rsp + 0x28], 0xffc3d44d
cmovne edx, eax
xor r8d, r8d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
lea ecx, [r8 + 1]
call fcn.140015710
cmp byte [rdi + 0xc], 0
je 0x14000976c
lea eax, [r14 - 0x5b]
cmp al, 1
jbe 0x14000976c
test sil, sil
jne 0x14000976c
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, r14b
lea ecx, [r8 + 1]
call fcn.140015710
mov byte [0x140106b46], 0
jmp 0x1400099be
mov r13d, dword [rsp + 0x68]
cmp byte [0x140106b46], 0
je 0x1400096c3
test sil, sil
jne 0x1400097b7
lea eax, [r14 + 0x60]
cmp al, 3
ja 0x1400097b7
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, r14b
lea ecx, [r8 + 1]
call fcn.140015710
test byte [0x1401028ae], 0xc
je 0x1400097cd
test sil, sil
je 0x1400097e9
lea eax, [r14 + 0x5c]
cmp al, 1
ja 0x1400097e9
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.OLEAUT32.dll_SafeArrayGetUBound
xor ecx, ecx
call fcn.140015710
xor bl, bl
mov eax, 0x7ffd
cmp r13w, ax
jne 0x14000981d
test byte [0x1401028ae], 0x30
jne 0x14000981d
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
xor ecx, ecx
call fcn.140015710
mov bl, 1
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 9
lea ecx, [r8 + 2]
call fcn.140015710
test bl, bl
je 0x1400099ba
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
lea ecx, [r8 + 1]
call fcn.140015710
jmp 0x1400099ba
lea eax, [r14 + 0x5c]
cmp al, 1
lea eax, [r14 + 0x60]
setbe byte [rsp + 0x5e]
cmp al, 1
lea eax, [r14 + 0x5e]
setbe dl
cmp al, 1
mov byte [rsp + 0x50], dl
setbe cl
xor r15b, r15b
test byte [0x1401028ae], 0x10
je 0x140009898
mov r15b, 0xa0
jmp 0x1400098b9
test byte [0x1401028ae], 0x20
je 0x1400098a6
mov r15b, 0xa1
jmp 0x1400098b9
test sil, sil
jne 0x1400098b9
test dl, dl
movzx r15d, r15b
movzx eax, r14b
cmovne r15d, eax
xor bl, bl
test byte [0x1401028ae], 1
je 0x1400098c8
mov bl, 0xa2
jmp 0x1400098e6
test byte [0x1401028ae], 2
je 0x1400098d5
mov bl, 0xa3
jmp 0x1400098e6
test sil, sil
jne 0x1400098e6
test cl, cl
movzx ebx, bl
movzx eax, r14b
cmovne ebx, eax
mov byte [rsp + 0x5d], 0
test r15b, r15b
je 0x140009915
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, r15b
lea ecx, [r8 + 1]
call fcn.140015710
mov byte [rsp + 0x5d], 1
test bl, bl
je 0x140009938
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, bl
lea ecx, [r8 + 1]
call fcn.140015710
cmp byte [rsp + 0x5e], 0
je 0x140009948
test sil, sil
jne 0x14000994d
movzx r13d, r14b
test r13b, r13b
jne 0x140009969
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.OLEAUT32.dll_SafeArrayGetUBound
xor ecx, ecx
call fcn.140015710
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 9
lea ecx, [r8 + 2]
call fcn.140015710
cmp byte [rsp + 0x5d], 0
je 0x1400099b3
cmp byte [rsp + 0x50], 0
jne 0x1400099b3
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, r15b
xor ecx, ecx
call fcn.140015710
mov byte [0x140106b46], 1
lea rbx, [rdi + 0x10]
cmp byte [rsp + 0x5c], 0
mov eax, 0x68
mov rcx, qword [rsp + 0x70]
mov word [rcx], ax
je 0x140009a2d
test sil, sil
je 0x140009aa7
cmp byte [rdi + 0xd], 0
je 0x140009a2d
mov ebx, dword [rsp + 0x58]
xor r9d, r9d
mov eax, 0xffc3d44e
movzx r8d, bx
mov dword [rsp + 0x28], eax
movzx edx, r14b
mov byte [rsp + 0x20], 0
lea ecx, [r9 + 1]
call fcn.140015710
xor r9d, r9d
mov dword [rsp + 0x28], 0xffc3d44d
movzx r8d, bx
mov byte [rsp + 0x20], 0
movzx edx, r14b
lea ecx, [r9 + 2]
call fcn.140015710
jmp 0x140009b21
test sil, sil
je 0x140009aa7
cmp byte [rdi + 0xc], 0
je 0x140009a44
mov r15, qword [rbp + 0x108]
jmp 0x1400094c9
cmp byte [rbp + 0xf0], 0
je 0x140009b18
mov rdx, qword [rsp + 0x60]
mov rax, qword [rbp + 0xd0]
mov ecx, dword [rsp + 0x58]
mov r15, qword [rbp + 0x108]
mov r9, qword [rbp + 0xe8]
mov r8, qword [rbp + 0xe0]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov edx, dword [rbp + 0xd8]
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], cx
mov rcx, rax
mov byte [rsp + 0x20], r14b
call fcn.140009d40
jmp 0x140009b68
mov rax, qword [0x140103790]
mov byte [rdi + 0x14], 1
test rax, rax
je 0x140009ac1
cmp byte [rax + 0xc], 0
je 0x140009ac1
mov byte [rax + 0x16], 2
cmp byte [rbp + 0xf0], 0
je 0x140009aed
mov rdx, qword [rsp + 0x60]
mov r15, qword [rbp + 0x108]
or byte [rbx], 8
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
jmp 0x140008e02
lea eax, [r14 + 0x5c]
cmp al, 1
ja 0x140009b18
movzx r8d, word [rsp + 0x58]
xor r9d, r9d
mov dword [rsp + 0x28], 0xffc3d450
movzx edx, r14b
mov byte [rsp + 0x20], 0
lea ecx, [r9 + 1]
call fcn.140015710
test sil, sil
jne 0x140009b21
mov byte [rdi + 0x15], 1
mov rcx, qword [rbp + 0xd0]
mov r15, qword [rbp + 0x108]
mov rdx, qword [rsp + 0x60]
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], sil
movzx r8d, r14b
mov rdx, qword [rbp + 0xe8]
call fcn.140009b80
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret