Function at 0x140010e80
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 [0x140142750]
setbe r15b
xor r11d, r11d
test rdx, rdx
jne 0x140010f09
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x60], rdx
jmp 0x140010fe1
movsxd rcx, dword [0x140142820]
imul rbx, rcx, 0xd4
inc ecx
add rbx, rdx
cmp ecx, dword [0x14013dbdc]
mov qword [rsp + 0x60], rbx
cmovge ecx, r11d
mov dword [0x140142820], ecx
mov byte [rbx], r14b
mov byte [rbx + 6], sil
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov dword [0x140142814], eax
sub ecx, dword [0x140145c88]
xorps xmm0, xmm0
mov dword [0x140145c88], eax
cvtsi2ss xmm0, rcx
divss xmm0, dword [0x1401282f8]
movss dword [rbx + 8], xmm0
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdx, qword [rsp + 0x60]
mov rbx, rax
test rax, rax
je 0x140010fad
cmp rax, qword [0x140142818]
je 0x140010fa3
mov rcx, qword [0x140142730]
lea r8, [rdx + 0xc]
mov edx, 0x418
mov r9, rax
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdx, qword [rsp + 0x60]
jmp 0x140010fbb
xor r11d, r11d
mov word [rdx + 0xc], r11w
jmp 0x140010fbe
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 [0x140142818], rbx
cmp r14b, 0xe7
jne 0x140011028
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.140012bb0
jmp 0x1400129d8
mov r10, qword [0x140146b20]
lea eax, [r14 + 0x64]
cmp al, 3
mov word [rdx + 2], di
mov ecx, r11d
cmova cx, di
cmp r13, qword [0x140142758]
mov dword [rsp + 0x58], ecx
jne 0x140011073
movzx ebx, byte [rbp + 0x110]
and bl, 1
jne 0x1400110c4
movzx ecx, sil
movzx eax, r14b
xor cl, 1
lea rdx, [0x1401435a0]
shl cl, 7
mov byte [rax + rdx], cl
jmp 0x1400110bf
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 0x1400110c4
movzx r8d, sil
movzx edx, r14b
call fcn.1400143f0
mov r10, qword [0x140146b20]
test al, al
je 0x1400110bc
movzx eax, sil
lea rdx, [0x1401435a0]
xor al, 1
shl al, 7
mov byte [rdi + rdx], al
xor r11d, r11d
mov rdx, qword [rsp + 0x60]
test r15b, r15b
je 0x1400110d0
mov eax, 0x69
jmp 0x1400110e0
test bl, bl
mov eax, SafeArrayAllocDescriptor
mov ecx, WSAAsyncSelect
cmovne ax, cx
cmp byte [0x140142847], 0
lea rcx, [rdx + 4]
mov qword [rsp + 0x70], rcx
mov word [rcx], ax
je 0x140011133
lea eax, [r14 - 0x5b]
cmp al, 1
ja 0x140011133
test sil, sil
jne 0x140011133
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 0x1400129c8
cmp byte [0x140146aee], 0
je 0x140011219
cmp r14b, 0x1b
jne 0x140011219
test sil, sil
jne 0x140011219
xor edx, edx
lea rcx, str.32771
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x14001120d
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 0x14001120d
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, r14b
xor ecx, ecx
call fcn.14001e3f0
movzx edx, byte [0x1401436a2]
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.14001e3f0
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 0x1400129cc
mov r10, qword [0x140146b20]
mov rdx, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x58]
mov rbx, qword [rbp + 0xd0]
cmp rbx, qword [0x140142760]
movzx eax, r13w
mov qword [rbp - 0x78], rax
lea rcx, [rax + rax*2]
mov rax, qword [0x140146b28]
lea rdi, [rax + rcx*8]
movzx eax, byte [rax + rcx*8 + 0x17]
mov byte [rsp + 0x50], al
jne 0x140011252
test al, al
jne 0x14001125e
movzx eax, r14b
lea rcx, [rax + rax*2]
lea rdi, [r10 + rcx*8]
test r15b, r15b
je 0x1400112d4
mov rcx, qword [rbp + 0x108]
mov eax, 0xffc3d44e
cmp rcx, rax
jne 0x140011294
test sil, sil
je 0x140011294
cmp qword [0x140143730], rdi
jne 0x140011294
xor r8d, r8d
mov byte [rdi + 0x11], 0
mov qword [0x140143730], 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.140012bb0
jmp 0x1400129d8
test sil, sil
jne 0x1400112e2
mov byte [rdi + 0x15], sil
mov word [rdi + 8], r12w
cmp rbx, qword [0x140142758]
jne 0x140011357
test r14b, r14b
jne 0x140011318
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 0x1400112b3
lea eax, [r14 - 1]
cmp al, 1
ja 0x140011357
cmp dword [0x14014258c], 0
jne 0x140011384
xor edx, edx
lea rcx, str.32768
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x140011350
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x140145c60]
je 0x140011384
mov r10, qword [0x140146b20]
mov rax, qword [0x140143730]
test rax, rax
je 0x1400113cb
cmp rax, rdi
je 0x1400113cb
test sil, sil
jne 0x1400113cb
cmp rbx, qword [0x140142760]
jne 0x1400113b1
xor r8d, r8d
mov eax, r8d
cmp byte [rdi + 0xc], al
sete al
jmp 0x1400113bc
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 0x1400112a3
mov rax, qword [0x140143730]
movzx eax, byte [rax + 0xc]
test eax, eax
je 0x1400113cb
mov rax, qword [0x140143730]
mov byte [rax + 0x16], 1
cmp byte [rdi + 0xd], 0
jne 0x1400113d7
cmp byte [rdi + 0xe], 0
je 0x140011388
xor r15d, r15d
mov word [rsp + 0x54], r12w
mov qword [rsp + 0x78], r15
movzx r13d, r12w
test sil, sil
je 0x140011420
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 0x140011438
movzx r13d, ax
mov word [rsp + 0x54], ax
mov word [rdi + 8], r12w
jmp 0x140011438
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 [0x140142760]
mov byte [rdi + 0x11], al
jne 0x1400115a9
cmp byte [rdi + 0xc], r15b
je 0x1400114b3
cmp byte [r10 + 0xf41], r15b
jne 0x14001146c
cmp byte [r10 + 0xf59], r15b
jne 0x14001146c
xor al, al
jmp 0x14001146e
mov al, 1
mov byte [r10 + 0x1a9], al
cmp byte [r10 + 0xf71], r15b
jne 0x14001148b
cmp byte [r10 + 0xf89], r15b
jne 0x14001148b
xor al, al
jmp 0x14001148d
mov al, 1
mov byte [r10 + 0x1c1], al
cmp byte [r10 + 0xf11], r15b
jne 0x1400114aa
cmp byte [r10 + 0xf29], r15b
jne 0x1400114aa
xor al, al
jmp 0x1400114ac
mov al, 1
mov byte [r10 + 0x191], al
movzx r11d, byte [0x1401436a1]
mov rax, qword [rdi]
test rax, rax
je 0x1400114cd
cmp dword [rax], 7
mov byte [rsp + 0x5c], 1
je 0x1400114d2
mov byte [rsp + 0x5c], r15b
test cl, cl
jne 0x1400114ec
mov cl, 1
call fcn.1400211c0
mov r10, qword [0x140146b20]
movzx r11d, byte [0x1401436a1]
movzx ecx, byte [rdi + 0xd]
test cl, cl
je 0x14001183a
test sil, sil
jne 0x14001183a
mov rax, qword [0x140143730]
test rax, rax
je 0x14001151c
cmp byte [rdi + 0xe], r15b
je 0x14001151c
cmp rdi, rax
jne 0x14001183a
cmp cl, 1
jne 0x14001162c
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.140021420
cmp r15w, word [0x14014376c]
mov r9d, r15d
mov byte [rsp + 0x5e], al
mov dword [rsp + 0x68], r15d
jae 0x140011747
movzx edx, byte [0x140142810]
mov r8, r15
mov qword [rbp - 0x70], r15
nop dword [rax]
nop word [rax + rax]
cmp byte [rsp + 0x50], 0
mov rcx, qword [0x140143758]
mov r15, qword [r8 + rcx]
je 0x1400115db
movzx eax, word [r15 + 0xa]
jmp 0x1400115e0
cmp qword [0x140142760], r15
jne 0x1400114b3
mov cl, 1
call fcn.1400211c0
mov r10, qword [0x140146b20]
movzx r11d, al
mov byte [0x1401436a1], al
mov cl, 1
mov byte [0x1401436a2], al
jmp 0x1400114bb
movzx eax, byte [r15 + 0x11]
cmp dword [rbp - 0x80], eax
je 0x1400115f4
movzx eax, byte [rsp + 0x5e]
test byte [r15 + 0xe], al
je 0x14001170e
cmp word [r15 + 6], 0
je 0x14001169c
cmp byte [r15 + 0x19], 0
je 0x14001170e
test dl, dl
jne 0x14001170e
mov r10, qword [0x140146b20]
xor r15d, r15d
movzx r11d, byte [0x1401436a1]
mov rbx, qword [rbp + 0xd0]
xor dl, dl
cmp rdi, qword [0x140143730]
je 0x140011641
mov qword [0x140143730], rdi
mov byte [rdi + 0x16], dl
cmp byte [rdi + 0xe], 0
je 0x14001179c
movzx eax, byte [rdi + 0xc]
movzx ecx, r11b
test al, al
je 0x14001165b
not al
and cl, al
test cl, cl
jne 0x14001166d
test dl, dl
jne 0x14001166d
test byte [rdi + 0x10], 1
je 0x14001179c
cmp rbx, qword [0x140142760]
jne 0x14001174e
cmp byte [rsp + 0x50], 0
je 0x14001174e
mov rax, qword [0x140146b10]
movzx ecx, cl
shl rcx, 9
add rcx, qword [rbp - 0x78]
jmp 0x140011761
mov rbx, qword [r15 + 0x28]
mov rax, rbx
test rbx, rbx
je 0x14001170e
cmp byte [rax + 0x28], 0
jne 0x1400116b9
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400116a8
jmp 0x14001170e
test rbx, rbx
je 0x14001170e
nop
cmp byte [rbx + 0x28], 0
je 0x1400116fc
test dl, dl
je 0x1400116d6
mov rcx, rbx
call fcn.1400aac50
test al, al
je 0x1400116f5
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140011613
mov rdx, qword [r15 + 0x20]
call fcn.140016770
test rax, rax
jne 0x140011613
movzx edx, byte [0x140142810]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400116c0
mov r8, qword [rbp - 0x70]
mov r9d, dword [rsp + 0x68]
movzx eax, word [0x14014376c]
inc r9d
add r8, 8
mov dword [rsp + 0x68], r9d
mov qword [rbp - 0x70], r8
cmp r9d, eax
jl 0x140011590
mov r10, qword [0x140146b20]
xor r15d, r15d
movzx r11d, byte [0x1401436a1]
mov rbx, qword [rbp + 0xd0]
mov dl, 1
jmp 0x140011641
movzx ecx, cl
movzx eax, r14b
shl ecx, 8
add ecx, eax
mov rax, qword [0x140146b08]
movzx r13d, word [rax + rcx*2]
mov word [rsp + 0x54], r13w
test r13w, r13w
jns 0x140011779
mov word [rdi + 8], r13w
jmp 0x1400117a6
movzx eax, r13w
and ax, r12w
cmp ax, word [0x14014376c]
jae 0x14001179c
movzx ecx, ax
mov rax, qword [0x140146b18]
movzx ecx, word [rax + rcx*2]
mov word [rdi + 8], cx
cmp r13w, r12w
jne 0x14001183a
test dl, dl
je 0x1400117bb
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 0x14001180c
test byte [rdi + 0x10], 1
jne 0x14001180c
cmp byte [rsp + 0x5c], 0
jne 0x14001180c
test dl, dl
jne 0x14001180c
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 0x1400129c8
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 0x1400112ae
xor r15b, r15b
cmp byte [rdi + 0xe], r15b
je 0x1400118b0
test sil, sil
je 0x1400118b0
cmp qword [0x140143730], rdi
movzx edx, byte [rbp + 0xf0]
jne 0x140011868
test dl, dl
je 0x1400118b0
xor r8d, r8d
mov qword [0x140143730], r8
jmp 0x14001186b
xor r8d, r8d
cmp byte [rdi + 0xf], 0
jne 0x1400118ad
movzx eax, byte [rdi + 0x10]
test al, 8
je 0x140011882
xor cl, cl
and al, 0xf7
mov byte [rdi + 0x10], al
jmp 0x140011884
mov cl, 1
test dl, dl
je 0x14001195c
test cl, cl
je 0x14001195c
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
mov r15, qword [rbp + 0x108]
mov qword [rsp + 0x48], r8
jmp 0x1400129ab
mov r15b, 1
cmp byte [rdi + 0xd], 0
je 0x140011a9c
test sil, sil
je 0x140011a9c
mov rax, qword [0x140143730]
mov r8d, 0
cmp rax, rdi
cmove rax, r8
mov qword [0x140143730], rax
cmp byte [rdi + 0x12], r8b
je 0x140011912
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.14001e3f0
mov r10, qword [0x140146b20]
movzx r11d, byte [0x1401436a1]
cmp byte [rdi + 0x13], 0
je 0x140011949
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rdi + 0x13], 0
mov dl, reloc.WSOCK32.dll_recv
mov byte [rsp + 0x20], r8b
lea ecx, [r8 + 1]
call fcn.14001e3f0
mov r10, qword [0x140146b20]
movzx r11d, byte [0x1401436a1]
cmp r13w, r12w
jne 0x14001198a
movzx eax, byte [rdi + 0x10]
test al, 8
je 0x14001198a
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 0x1400112ae
movzx ecx, byte [rsp + 0x5c]
movzx eax, byte [rdi + 0x16]
test cl, cl
je 0x140011a37
cmp al, 2
jne 0x1400119ee
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.14001e3f0
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.14001e3f0
mov rcx, rbx
jmp 0x140012998
cmp al, 1
je 0x14001195c
cmp byte [rdi + 0xe], 0
jne 0x140011a8b
cmp byte [rdi + 0xc], 0
jne 0x14001195c
test byte [rdi + 0x10], 1
jne 0x14001195c
test cl, cl
jne 0x14001195c
mov rdx, qword [rsp + 0x60]
xor eax, eax
mov r15, qword [rbp + 0x108]
mov rcx, rbx
mov qword [rsp + 0x48], rax
jmp 0x1400129ab
test al, al
je 0x1400119f6
cmp r13w, r12w
jne 0x1400119f6
cmp byte [rdi + 0xc], 0
jne 0x14001195c
test byte [rdi + 0x10], 1
mov rcx, rbx
mov rdx, qword [rsp + 0x60]
mov r15, qword [rbp + 0x108]
je 0x1400129a4
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 0x1400112b6
cmp byte [rsp + 0x5d], 0
jne 0x140011a9c
cmp byte [rdi + 0xf], 0
je 0x14001195c
cmp qword [0x140143730], 0
mov r9d, 0x7ffd
mov byte [rbp + 0xf0], 0
je 0x140011ec0
test sil, sil
je 0x140011ac6
cmp byte [rdi + 0xf], 0
je 0x140011ec0
cmp r13w, r12w
jne 0x140012297
movzx ebx, word [rdi + 0xa]
xor eax, eax
mov r8d, eax
cmp bx, r12w
je 0x140011cb4
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x140143758]
movzx ecx, bx
mov rdx, qword [rax + rcx*8]
movzx eax, byte [rdx + 0x11]
test al, al
jne 0x140011b0d
cmp word [rdx + 0xa], 0
je 0x140011b6c
movzx ebx, word [rdx + 0xc]
test al, al
je 0x140011b22
movzx eax, al
lea rcx, [rax + rax*2]
lea rax, [r10 + rcx*8]
jmp 0x140011b35
movzx eax, word [rdx + 0xa]
lea rcx, [rax + rax*2]
mov rax, qword [0x140146b28]
lea rax, [rax + rcx*8]
cmp byte [rax + 0x11], 0
je 0x140011b61
cmp byte [rdx + 0x16], 0
je 0x140011b55
test sil, sil
jne 0x140011b69
movzx eax, word [rdx + 4]
mov word [rdi + 8], ax
test r8, r8
jne 0x140011b75
jmp 0x140011b61
test sil, sil
jne 0x140011b61
test r8, r8
cmove r8, rdx
cmp bx, r12w
jne 0x140011af0
jmp 0x140011b6c
mov r8, rdx
test r8, r8
je 0x140011cb4
movzx edx, byte [r8 + 0x11]
mov ecx, edx
test edx, edx
je 0x140011be7
sub ecx, 0x10
je 0x140011bcd
sub ecx, 1
je 0x140011bb3
cmp ecx, 1
je 0x140011b99
lea rcx, [rdx + rdx*2]
lea rax, [r10 + rcx*8]
jmp 0x140011bfb
cmp byte [r10 + 0xf89], 0
mov eax, 0xf60
mov ecx, 0xf78
cmovne eax, ecx
add rax, r10
jmp 0x140011bfb
cmp byte [r10 + 0xf59], 0
mov eax, 0xf30
mov ecx, 0xf48
cmovne eax, ecx
add rax, r10
jmp 0x140011bfb
cmp byte [r10 + 0xf29], 0
mov eax, 0xf00
mov ecx, 0xf18
cmovne eax, ecx
add rax, r10
jmp 0x140011bfb
movzx eax, word [r8 + 0xa]
lea rcx, [rax + rax*2]
mov rax, qword [0x140146b28]
lea rax, [rax + rcx*8]
movzx r13d, word [r8 + 6]
mov qword [0x140143730], rax
test r13w, r13w
je 0x140011c18
mov word [rsp + 0x54], r13w
jmp 0x140011ca5
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.140017390
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x140011c91
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 0x1400112b6
movzx r13d, word [rsp + 0x54]
mov r9d, 0x7ffd
movzx r11d, byte [0x1401436a1]
mov rax, qword [0x140143730]
movzx ebx, r13w
mov byte [rax + 0x16], 2
movzx eax, bx
sub ax, r9w
cmp ax, 1
ja 0x140011ec0
test sil, sil
jne 0x140011cce
mov byte [rdi + 0x14], 1
test byte [0x1401436a2], 0xc
jne 0x140011cf3
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.14001e3f0
mov r15d, dword [rsp + 0x58]
lea eax, [r14 + 0x5e]
cmp al, 1
ja 0x140011d26
test sil, sil
jne 0x140011d26
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.14001e3f0
mov rax, qword [0x140143730]
mov r13d, 0x7ffd
mov byte [rax + 0x12], 1
cmp bx, r13w
jne 0x140011d72
test byte [0x1401436a2], 0x30
jne 0x140011d62
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.WSOCK32.dll_recv
xor ecx, ecx
call fcn.14001e3f0
mov rax, qword [0x140143730]
mov byte [rax + 0x13], 1
jmp 0x140011df8
mov eax, 0x7ffe
cmp bx, ax
jne 0x140011df8
lea eax, [r14 + 0x60]
cmp al, 1
ja 0x140011daa
test sil, sil
jne 0x140011daa
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.14001e3f0
test byte [0x1401436a2], 0x10
je 0x140011dd1
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.14001e3f0
test byte [0x1401436a2], 0x20
je 0x140011df8
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.14001e3f0
test byte [0x1401436a2], 1
je 0x140011e1f
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.14001e3f0
test byte [0x1401436a2], 2
je 0x140011e46
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.14001e3f0
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.14001e3f0
cmp bx, r13w
jne 0x140011eae
mov rax, qword [0x140143730]
cmp byte [rax + 0x13], 0
je 0x140011eae
lea eax, [r14 - 0x60]
cmp al, 9
jbe 0x140011e85
cmp r14b, 0x6e
jne 0x140011eae
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.WSOCK32.dll_recv
lea ecx, [r8 + 1]
call fcn.14001e3f0
mov rax, qword [0x140143730]
mov byte [rax + 0x13], 0
mov rcx, qword [rsp + 0x70]
mov eax, 0x68
mov word [rcx], ax
jmp 0x140012988
cmp r13w, r12w
jne 0x140012297
movzx eax, byte [rdi + 0xc]
movzx edx, r11b
test al, al
je 0x140011eda
not al
and dl, al
mov r13, qword [rbp + 0xd0]
cmp r13, qword [0x140142760]
movzx r10d, byte [rsp + 0x50]
jne 0x140011f10
test r10b, r10b
je 0x140011f10
mov rbx, qword [rbp - 0x78]
mov rax, qword [0x140146b10]
movzx ecx, dl
shl rcx, 9
add rcx, rbx
movzx r8d, r14b
jmp 0x140011f28
mov rax, qword [0x140146b08]
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 0x140011fc6
cmp byte [0x140146aee], 0
je 0x140011fc6
cmp r14b, 9
je 0x140011fc6
and dl, 0xf3
cmp r13, qword [0x140142760]
jne 0x140011f79
test r10b, r10b
je 0x140011f79
mov rax, qword [0x140146b10]
movzx ecx, dl
shl rcx, 9
add rcx, rbx
jmp 0x140011f89
mov rax, qword [0x140146b08]
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 0x140011fb5
cmp cx, r12w
jb 0x140011fc6
mov r9d, r12d
mov dword [rsp + 0x68], r12d
mov word [rsp + 0x54], r12w
mov eax, r12d
test ax, ax
jns 0x1400120ac
test sil, sil
jne 0x14001216f
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 0x140012089
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x140143758]
movzx ecx, r8w
mov rdx, qword [rax + rcx*8]
cmp byte [rdx + 0x15], 0
movzx r8d, word [rdx + 0xc]
jne 0x140012055
movzx ecx, byte [rdx + 0xf]
not ecx
test r11b, cl
jne 0x140012083
cmp byte [rdx + 0x16], 0
jne 0x140012083
cmp byte [rdx + 0x11], 0
jne 0x140012083
cmp word [rdx + 0xa], 0
jne 0x140012083
cmp word [rdx + 6], 0
jne 0x140012083
mov eax, r9d
not eax
test dword [rdx], eax
jne 0x140012083
movzx eax, r11b
not eax
test byte [rdx + 0xe], al
je 0x14001209a
cmp r8w, r12w
jne 0x140012030
mov eax, r12d
movzx r13d, ax
mov word [rsp + 0x54], ax
jmp 0x140012174
movzx eax, word [rdx + 4]
movzx r13d, ax
mov word [rsp + 0x54], ax
jmp 0x140012174
cmp ax, r12w
je 0x14001218e
and ax, r12w
test sil, sil
je 0x14001214d
cmp ax, word [0x14014376c]
jae 0x14001213a
movzx ebx, ax
mov rax, qword [0x140146b18]
cmp word [rax + rbx*2], r12w
je 0x14001213a
test r15b, r15b
mov r15, qword [rbp + 0x108]
jne 0x140012126
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.140017390
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140012126
movzx r13d, word [rsp + 0x54]
jmp 0x14001217b
mov rax, qword [0x140146b18]
movzx r13d, word [rax + rbx*2]
mov word [rsp + 0x54], r13w
jmp 0x14001217b
test r15b, r15b
mov r15, qword [rbp + 0x108]
jne 0x140012195
mov r13d, dword [rsp + 0x68]
jmp 0x14001217b
cmp ax, word [0x14014376c]
mov r13d, dword [rsp + 0x68]
jae 0x140012174
movzx ecx, ax
mov rax, qword [0x140146b18]
movzx ecx, word [rax + rcx*2]
mov word [rdi + 8], cx
jmp 0x140012174
mov r13d, dword [rsp + 0x68]
mov r15, qword [rbp + 0x108]
cmp r13w, r12w
jne 0x140012297
mov r13, qword [rbp + 0xd0]
jmp 0x140012195
mov r15, qword [rbp + 0x108]
test sil, sil
je 0x1400121ea
cmp byte [rdi + 0xc], 0
jne 0x1400121bb
test byte [rdi + 0x10], 1
jne 0x1400121bb
cmp byte [rdi + 0xd], 0
je 0x1400121bb
cmp byte [rsp + 0x5c], 0
jne 0x1400121bb
mov rcx, r13
jmp 0x14001299f
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 0x1400112b6
cmp word [rdi + 8], r12w
lea rcx, [rdi + 8]
jne 0x140012210
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 0x1400121d4
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.140017390
mov rcx, r13
mov rdx, qword [rsp + 0x60]
cmp byte [rbp + 0xf0], dil
je 0x140012270
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 0x1400112b6
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 0x1400129c8
movzx eax, byte [rdi + 0x10]
lea rbx, [rdi + 0x10]
test al, 8
je 0x1400122b3
test sil, sil
je 0x1400122b3
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 [0x14014376c]
jae 0x1400123d4
cmp qword [rsp + 0x78], 0
jne 0x1400123d4
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.140017390
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x1400123ce
cmp word [r13], 0x69
jne 0x140012334
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
jmp 0x140011c72
test sil, sil
je 0x140012354
cmp byte [rdi + 0x15], 0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rbp + 0xd0]
je 0x140011a64
jmp 0x1400129a4
cmp word [rdi + 8], r12w
lea rcx, [rdi + 8]
jne 0x14001237d
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 0x140011c77
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.140017390
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rbp + 0xd0]
cmp byte [rbp + 0xf0], sil
jne 0x140011a64
and byte [rbx], 0xf7
mov byte [rdi + 0x15], 1
mov qword [rsp + 0x48], rsi
jmp 0x1400129ab
movzx r13d, word [rsp + 0x54]
and r13w, r12w
test byte [0x1401436a2], 0xcc
mov dword [rsp + 0x68], r13d
je 0x1400124cc
cmp byte [rbp + 0xf0], 0
jne 0x1400124cc
cmp byte [0x140146aed], 0
jne 0x140012414
mov rcx, qword [rbp + 0xd0]
cmp rcx, qword [0x140142758]
jne 0x1400124d3
test byte [0x1401436a2], 0xc0
movzx edx, byte [0x1401436a0]
je 0x140012453
test dl, 0xc0
jne 0x14001244a
cmp r13w, word [0x14014376c]
jae 0x140012453
mov rax, qword [0x140143758]
movzx ecx, r13w
mov rcx, qword [rax + rcx*8]
movzx eax, byte [rcx + 0xf]
and al, 0xc0
je 0x140012453
mov byte [0x140146aec], 1
jmp 0x1400124cc
cmp byte [0x140146aec], 0
jne 0x1400124cc
movzx eax, byte [0x1401436a2]
test al, 0xc
je 0x1400124cc
test al, 3
jne 0x1400124cc
test dl, 0xc
jne 0x140012491
cmp r13w, word [0x14014376c]
jae 0x1400124cc
mov rax, qword [0x140143758]
movzx ecx, r13w
mov rcx, qword [rax + rcx*8]
movzx eax, byte [rcx + 0xf]
and al, 0xc
je 0x1400124cc
cmp qword [0x140142760], 0
je 0x1400124a4
mov byte [0x140146aec], 1
jmp 0x1400124cc
movzx r8d, word [0x14013f628]
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.14001e3f0
mov rcx, qword [rbp + 0xd0]
mov eax, 0x7ffa
cmp r13w, ax
je 0x14001252a
jbe 0x1400124fa
mov eax, 0x7ffc
cmp r13w, ax
jbe 0x14001253d
mov eax, 0x7ffe
cmp r13w, ax
jbe 0x1400125ed
mov rcx, qword [rsp + 0x78]
movzx r12d, r13w
mov rax, qword [rcx + 8]
test rax, rax
je 0x14001282e
cmp byte [rax], 5
jb 0x14001282e
movzx eax, word [rcx + 0x20]
shl eax, 0x10
cdqe
or r12, rax
jmp 0x14001282e
cmp byte [0x140146aee], 0
jne 0x14001253d
mov rdx, qword [rsp + 0x60]
jmp 0x140011a64
xor al, al
test byte [0x1401436a2], 4
je 0x14001254d
mov r13b, 0xa4
jmp 0x140012561
test byte [0x1401436a2], 8
movzx r13d, al
mov eax, 0xa5
cmovne r13d, eax
cmp byte [0x140146aee], 0
je 0x1400126d6
mov r9d, dword [rsp + 0x68]
mov eax, 0x7ffb
cmp r9w, ax
je 0x1400125e8
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.14001e3f0
cmp byte [rdi + 0xc], 0
je 0x1400125dc
lea eax, [r14 - 0x5b]
cmp al, 1
jbe 0x1400125dc
test sil, sil
jne 0x1400125dc
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.14001e3f0
mov byte [0x140146aee], 0
jmp 0x14001282e
mov r13d, dword [rsp + 0x68]
cmp byte [0x140146aee], 0
je 0x140012533
test sil, sil
jne 0x140012627
lea eax, [r14 + 0x60]
cmp al, 3
ja 0x140012627
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.14001e3f0
test byte [0x1401436a2], 0xc
je 0x14001263d
test sil, sil
je 0x140012659
lea eax, [r14 + 0x5c]
cmp al, 1
ja 0x140012659
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.14001e3f0
xor bl, bl
mov eax, 0x7ffd
cmp r13w, ax
jne 0x14001268d
test byte [0x1401436a2], 0x30
jne 0x14001268d
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.WSOCK32.dll_recv
xor ecx, ecx
call fcn.14001e3f0
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.14001e3f0
test bl, bl
je 0x14001282a
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.WSOCK32.dll_recv
lea ecx, [r8 + 1]
call fcn.14001e3f0
jmp 0x14001282a
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 [0x1401436a2], 0x10
je 0x140012708
mov r15b, 0xa0
jmp 0x140012729
test byte [0x1401436a2], 0x20
je 0x140012716
mov r15b, 0xa1
jmp 0x140012729
test sil, sil
jne 0x140012729
test dl, dl
movzx r15d, r15b
movzx eax, r14b
cmovne r15d, eax
xor bl, bl
test byte [0x1401436a2], 1
je 0x140012738
mov bl, 0xa2
jmp 0x140012756
test byte [0x1401436a2], 2
je 0x140012745
mov bl, 0xa3
jmp 0x140012756
test sil, sil
jne 0x140012756
test cl, cl
movzx ebx, bl
movzx eax, r14b
cmovne ebx, eax
mov byte [rsp + 0x5d], 0
test r15b, r15b
je 0x140012785
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.14001e3f0
mov byte [rsp + 0x5d], 1
test bl, bl
je 0x1400127a8
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.14001e3f0
cmp byte [rsp + 0x5e], 0
je 0x1400127b8
test sil, sil
jne 0x1400127bd
movzx r13d, r14b
test r13b, r13b
jne 0x1400127d9
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.14001e3f0
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.14001e3f0
cmp byte [rsp + 0x5d], 0
je 0x140012823
cmp byte [rsp + 0x50], 0
jne 0x140012823
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, r15b
xor ecx, ecx
call fcn.14001e3f0
mov byte [0x140146aee], 1
lea rbx, [rdi + 0x10]
cmp byte [rsp + 0x5c], 0
mov eax, 0x68
mov rcx, qword [rsp + 0x70]
mov word [rcx], ax
je 0x14001289d
test sil, sil
je 0x140012917
cmp byte [rdi + 0xd], 0
je 0x14001289d
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.14001e3f0
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.14001e3f0
jmp 0x140012991
test sil, sil
je 0x140012917
cmp byte [rdi + 0xc], 0
je 0x1400128b4
mov r15, qword [rbp + 0x108]
jmp 0x140012339
cmp byte [rbp + 0xf0], 0
je 0x140012988
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.140012bb0
jmp 0x1400129d8
mov rax, qword [0x140143730]
mov byte [rdi + 0x14], 1
test rax, rax
je 0x140012931
cmp byte [rax + 0xc], 0
je 0x140012931
mov byte [rax + 0x16], 2
cmp byte [rbp + 0xf0], 0
je 0x14001295d
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 0x140011c72
lea eax, [r14 + 0x5c]
cmp al, 1
ja 0x140012988
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.14001e3f0
test sil, sil
jne 0x140012991
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.1400129f0
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret