Function at 0x140012d70
Capabilities:
Check for time delay via gettickcount
Encrypt data using speck

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov r15, qword [rbp + 0xd8]
movabs rax, 0xffffffff003c2bb3
movzx esi, byte [rbp + 0xd0]
add rax, r15
movzx edi, byte [rbp + 0xc0]
cmp rax, 2
mov r10d, edx
mov r13, rcx
mov rdx, qword [0x140132ad0]
setbe byte [rsp + 0x50]
xor r11d, r11d
mov r14d, 0x7fff
test rdx, rdx
jne 0x140012de9
lea r12, [rbp - 0x80]
jmp 0x140012eb7
movsxd rcx, dword [0x140132ba4]
imul r12, rcx, 0xd4
inc ecx
add r12, rdx
mov dword [0x140132ba4], ecx
cmp ecx, dword [0x14012f248]
jl 0x140012e11
mov dword [0x140132ba4], r11d
mov byte [r12], dil
mov byte [r12 + 6], sil
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov dword [0x140132ba0], eax
sub ecx, dword [0x140136e88]
xorps xmm0, xmm0
mov dword [0x140136e88], eax
cvtsi2ss xmm0, rcx
divss xmm0, dword [0x14011e540]
movss dword [r12 + 8], xmm0
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x140012e89
cmp rax, qword [0x140132b98]
je 0x140012e7e
mov rcx, qword [0x140132ab0]
lea r8, [r12 + 0xc]
mov r9, rax
mov edx, 0x418
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140012e98
xor r11d, r11d
mov word [r12 + 0xc], r11w
jmp 0x140012e9b
movabs rcx, 0x41002f004e
mov qword [r12 + 0xc], rcx
xor r11d, r11d
mov r9, qword [rbp + 0xb8]
mov r8, qword [rbp + 0xb0]
mov r10d, dword [rbp + 0xa8]
mov qword [0x140132b98], rbx
cmp dil, 0xe7
jne 0x140012eff
movzx eax, word [r9 + 4]
mov edx, r10d
mov qword [rsp + 0x48], r14
mov rcx, r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], r11w
mov byte [rsp + 0x20], dil
mov word [r12 + 2], ax
mov word [r12 + 4], 0x55
call fcn.1400148b0
jmp 0x1400146e5
movzx ecx, word [rbp + 0xc8]
lea eax, [rdi + 0x64]
mov r9, qword [0x140136f00]
cmp al, 3
mov edx, r11d
mov word [r12 + 2], cx
cmova dx, cx
cmp r13, qword [0x140132ad8]
mov dword [rsp + 0x54], edx
mov ecx, SafeArrayAllocDescriptor
jne 0x140012f57
movzx ebx, byte [rbp + 0xe0]
and bl, 1
jne 0x140012fca
movzx ecx, sil
lea rdx, [0x140133950]
xor cl, 1
shl cl, 7
mov byte [rdi + rdx], cl
jmp 0x140012fc5
mov edx, dword [rbp + 0xe0]
lea rax, [rdi + rdi*2]
mov ebx, edx
shr ebx, 4
and bl, 1
cmp byte [r9 + rax*8 + 0xc], 0
jne 0x140012fca
test dl, 0x10
jne 0x140012fca
lea eax, [rdi + 0x60]
cmp al, 1
ja 0x140012f96
test sil, sil
jne 0x140012f96
cmp dil, 0xa0
mov eax, reloc.WSOCK32.dll_recv
cmove ecx, eax
test byte [0x140132b07], cl
jne 0x140012fc5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9, qword [0x140136f00]
lea rdx, [0x140133950]
mov dword [0x140136e90], eax
mov dword [0x140136e8c], eax
movzx eax, sil
xor al, 1
shl al, 7
mov byte [rdi + rdx], al
xor r11d, r11d
mov ecx, SafeArrayAllocDescriptor
movzx edx, byte [rsp + 0x50]
test dl, dl
je 0x140012fda
mov ecx, 0x69
jmp 0x140012fe5
test bl, bl
mov eax, WSAAsyncSelect
cmovne cx, ax
cmp byte [0x140132b05], 0
mov word [r12 + 4], cx
je 0x140013027
lea eax, [rdi - 0x5b]
cmp al, 1
ja 0x140013027
test sil, sil
jne 0x140013027
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], sil
jmp 0x1400146d2
cmp byte [0x140136036], 0
je 0x1400130fc
cmp dil, 0x1b
jne 0x1400130fc
test sil, sil
jne 0x1400130fc
xor edx, edx
lea rcx, str.32771
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x1400130f0
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 0x1400130f0
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, dil
xor ecx, ecx
call fcn.1400215d0
movzx edx, byte [0x140132bae]
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
mov ecx, 1
call fcn.1400215d0
mov qword [rsp + 0x48], 0
movzx r8d, dil
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], sil
jmp 0x1400146d6
mov r9, qword [0x140136f00]
movzx edx, byte [rsp + 0x50]
cmp r13, qword [0x140132ae0]
mov r8d, dword [rsp + 0x54]
movzx eax, r8w
lea rcx, [rax + rax*2]
mov rax, qword [0x140136f08]
lea rbx, [rax + rcx*8]
movzx eax, byte [rax + rcx*8 + 0x17]
mov byte [rsp + 0x58], al
jne 0x14001312a
test al, al
jne 0x140013132
lea rcx, [rdi + rdi*2]
lea rbx, [r9 + rcx*8]
test dl, dl
je 0x1400131a1
mov eax, 0xffc3d44e
cmp r15, rax
jne 0x140013161
test sil, sil
je 0x140013161
cmp qword [0x140133ae0], rbx
jne 0x140013161
mov byte [rbx + 0x11], 0
mov byte [rbx + 0x14], 0
mov qword [0x140133ae0], 0
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], r8w
mov byte [rsp + 0x20], dil
mov rcx, r13
mov edx, dword [rbp + 0xa8]
mov r8, qword [rbp + 0xb0]
mov r9, qword [rbp + 0xb8]
call fcn.1400148b0
jmp 0x1400146e5
test sil, sil
jne 0x1400131af
mov byte [rbx + 0x15], sil
mov word [rbx + 8], r14w
cmp r13, qword [0x140132ad8]
jne 0x140013221
test dil, dil
jne 0x1400131de
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], r8w
mov byte [rsp + 0x20], dil
jmp 0x140013180
lea eax, [rdi - 1]
cmp al, 1
ja 0x140013221
cmp dword [0x140132a60], 0
jne 0x14001324f
xor edx, edx
lea rcx, str.32768
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x140013215
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x140136030]
je 0x14001324a
mov r9, qword [0x140136f00]
mov r8d, dword [rsp + 0x54]
mov rax, qword [0x140133ae0]
test rax, rax
je 0x14001327b
cmp rax, rbx
je 0x14001327b
test sil, sil
jne 0x14001327b
cmp r13, qword [0x140132ae0]
jne 0x140013261
xor eax, eax
cmp byte [rbx + 0xc], al
sete al
jmp 0x14001326c
mov r8d, dword [rsp + 0x54]
mov byte [rbx + 0x14], 0
movzx eax, sil
xor al, 1
mov byte [rbx + 0x11], al
jmp 0x140013161
mov rax, qword [0x140133ae0]
movzx eax, byte [rax + 0xc]
test eax, eax
je 0x14001327b
mov rax, qword [0x140133ae0]
mov byte [rax + 0x16], 1
cmp byte [rbx + 0xd], 0
jne 0x140013287
cmp byte [rbx + 0xe], 0
je 0x140013253
mov word [rsp + 0x60], r14w
movzx r15d, r14w
mov qword [rsp + 0x68], 0
test sil, sil
je 0x1400132d1
movzx edx, byte [rbx + 0x14]
movzx eax, word [rbx + 8]
movzx r8d, byte [rbx + 0x11]
mov byte [rsp + 0x5a], r8b
mov byte [rbp + 0xc0], dl
mov byte [rbx + 0x14], 0
cmp ax, r14w
je 0x1400132e9
movzx r15d, ax
mov word [rsp + 0x60], ax
mov word [rbx + 8], r14w
jmp 0x1400132e9
movzx eax, byte [rbp + 0xc0]
mov byte [rsp + 0x5a], al
movzx eax, byte [rbp + 0xc0]
mov byte [rbp + 0xc0], al
movzx eax, sil
xor cl, cl
xor al, 1
cmp r13, qword [0x140132ae0]
mov byte [rbx + 0x11], al
jne 0x140013400
cmp byte [rbx + 0xc], cl
je 0x140013363
cmp byte [r9 + 0xf41], cl
jne 0x14001331c
cmp byte [r9 + 0xf59], cl
jne 0x14001331c
xor al, al
jmp 0x14001331e
mov al, 1
mov byte [r9 + 0x1a9], al
cmp byte [r9 + 0xf71], cl
jne 0x14001333b
cmp byte [r9 + 0xf89], cl
jne 0x14001333b
xor al, al
jmp 0x14001333d
mov al, 1
mov byte [r9 + 0x1c1], al
cmp byte [r9 + 0xf11], cl
jne 0x14001335a
cmp byte [r9 + 0xf29], cl
jne 0x14001335a
xor al, al
jmp 0x14001335c
mov al, 1
mov byte [r9 + 0x191], al
movzx r8d, byte [0x140132bab]
mov rax, qword [rbx]
test rax, rax
je 0x14001337d
cmp dword [rax], 7
mov byte [rsp + 0x5c], 1
je 0x140013382
mov byte [rsp + 0x5c], 0
test cl, cl
jne 0x14001339c
mov cl, 1
call fcn.140024620
mov r9, qword [0x140136f00]
movzx r8d, byte [0x140132bab]
movzx ecx, byte [rbx + 0xd]
test cl, cl
je 0x140013571
test sil, sil
jne 0x140013571
mov rax, qword [0x140133ae0]
test rax, rax
je 0x1400133cc
cmp byte [rbx + 0xe], sil
je 0x1400133cc
cmp rbx, rax
jne 0x140013571
cmp cl, 1
jne 0x140013433
movzx eax, byte [rsp + 0x58]
movzx ecx, word [rsp + 0x54]
test al, al
jne 0x1400133e1
mov ecx, edi
movzx edx, al
call fcn.140018f30
mov r9, qword [0x140136f00]
movzx r8d, byte [0x140132bab]
test al, al
je 0x140013433
mov dl, 1
jmp 0x140013448
cmp qword [0x140132ae0], 0
jne 0x140013363
mov cl, 1
call fcn.140024620
mov r9, qword [0x140136f00]
movzx r8d, al
mov byte [0x140132bab], al
mov cl, 1
mov byte [0x140132bae], al
jmp 0x14001336b
xor dl, dl
cmp rbx, qword [0x140133ae0]
je 0x140013448
mov qword [0x140133ae0], rbx
mov byte [rbx + 0x16], dl
cmp byte [rbx + 0xe], 0
je 0x1400134e2
movzx eax, byte [rbx + 0xc]
movzx ecx, r8b
test al, al
je 0x140013462
not al
and cl, al
test cl, cl
jne 0x140013470
test dl, dl
jne 0x140013470
test byte [rbx + 0x10], 1
je 0x1400134e2
cmp r13, qword [0x140132ae0]
jne 0x140013498
cmp byte [rsp + 0x58], 0
je 0x140013498
movzx eax, word [rsp + 0x54]
movzx ecx, cl
shl rcx, 9
add rcx, rax
mov rax, qword [0x140136ef0]
jmp 0x1400134a7
mov rax, qword [0x140136ee8]
movzx ecx, cl
shl ecx, 8
add ecx, edi
movzx r15d, word [rax + rcx*2]
mov word [rsp + 0x60], r15w
test r15w, r15w
jns 0x1400134bf
mov word [rbx + 8], r15w
jmp 0x1400134ec
movzx eax, r15w
and ax, r14w
cmp ax, word [0x140132e04]
jae 0x1400134e2
movzx ecx, ax
mov rax, qword [0x140136ef8]
movzx ecx, word [rax + rcx*2]
mov word [rbx + 8], cx
cmp r15w, r14w
jne 0x140013571
test dl, dl
je 0x1400134fc
or byte [rbx + 0x10], 8
mov word [r12 + 4], reloc.OLEAUT32.dll_SafeArrayAllocDescriptor
cmp byte [rbx + 0xc], 0
jne 0x140013548
test byte [rbx + 0x10], 1
jne 0x140013548
cmp byte [rsp + 0x5c], 0
jne 0x140013548
test dl, dl
jne 0x140013548
mov r8, qword [rbp + 0xd8]
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r8
mov byte [rsp + 0x20], dl
mov byte [rbx + 0x15], 1
jmp 0x1400146d2
mov r8, qword [rbp + 0xd8]
mov eax, dword [rsp + 0x54]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r8
mov byte [rsp + 0x30], 0
mov word [rsp + 0x28], ax
jmp 0x14001317b
cmp byte [rbx + 0xe], 0
mov byte [rsp + 0x50], 0
je 0x1400135d3
test sil, sil
je 0x1400135d3
cmp qword [0x140133ae0], rbx
movzx edx, byte [rbp + 0xc0]
jne 0x1400135a0
test dl, dl
je 0x1400135d3
mov qword [0x140133ae0], 0
cmp byte [rbx + 0xf], 0
jne 0x1400135ce
movzx eax, byte [rbx + 0x10]
test al, 8
je 0x1400135b7
xor cl, cl
and al, 0xf7
mov byte [rbx + 0x10], al
jmp 0x1400135b9
mov cl, 1
test dl, dl
je 0x14001366d
test cl, cl
je 0x14001366d
jmp 0x1400136f3
mov byte [rsp + 0x50], 1
cmp byte [rbx + 0xd], 0
je 0x1400137c8
test sil, sil
je 0x1400137c8
cmp qword [0x140133ae0], rbx
jne 0x1400135fa
mov qword [0x140133ae0], 0
cmp byte [rbx + 0x12], 0
je 0x14001362a
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.OLEAUT32.dll_SafeArrayGetUBound
mov byte [rbx + 0x12], 0
mov ecx, 1
call fcn.1400215d0
mov r9, qword [0x140136f00]
cmp byte [rbx + 0x13], 0
je 0x14001365a
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.WSOCK32.dll_recv
mov byte [rbx + 0x13], 0
mov ecx, 1
call fcn.1400215d0
mov r9, qword [0x140136f00]
cmp r15w, r14w
jne 0x140013696
movzx eax, byte [rbx + 0x10]
test al, 8
je 0x140013696
and al, 0xf7
mov byte [rbx + 0x10], al
mov r8, qword [rbp + 0xd8]
mov eax, dword [rsp + 0x54]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r8
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], ax
jmp 0x14001317b
movzx ecx, byte [rsp + 0x5c]
movzx eax, byte [rbx + 0x16]
test cl, cl
je 0x140013750
cmp al, 2
jne 0x140013720
mov ebx, dword [rsp + 0x54]
xor r9d, r9d
movzx r8d, bx
mov dword [rsp + 0x28], 0xffc3d44e
movzx edx, dil
mov byte [rsp + 0x20], 0
mov ecx, 1
call fcn.1400215d0
xor r9d, r9d
mov dword [rsp + 0x28], 0xffc3d44d
movzx r8d, bx
mov byte [rsp + 0x20], 0
movzx edx, dil
mov ecx, 2
call fcn.1400215d0
mov r8, qword [rbp + 0xd8]
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r8
jmp 0x1400146cd
cmp al, 1
je 0x14001366d
cmp byte [rbx + 0xe], 0
jne 0x1400137b7
cmp byte [rbx + 0xc], 0
jne 0x14001366d
test byte [rbx + 0x10], 1
jne 0x14001366d
test cl, cl
jne 0x14001366d
jmp 0x1400136f3
test al, al
je 0x140013728
cmp r15w, r14w
jne 0x140013728
cmp byte [rbx + 0xc], 0
jne 0x14001366d
test byte [rbx + 0x10], 1
mov rcx, r13
mov r8, qword [rbp + 0xd8]
je 0x140013788
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r8
jmp 0x140014002
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r8
movzx r8d, dil
mov byte [rsp + 0x20], sil
jmp 0x1400146d9
cmp byte [rsp + 0x5a], 0
jne 0x1400137c8
cmp byte [rbx + 0xf], 0
je 0x14001366d
cmp qword [0x140133ae0], 0
mov byte [rbp + 0xc0], 0
je 0x140013be6
test sil, sil
je 0x1400137ec
cmp byte [rbx + 0xf], 0
je 0x140013be6
cmp r15w, r14w
jne 0x140013f55
movzx r10d, word [rbx + 0xa]
xor r8d, r8d
mov word [rsp + 0x5a], r10w
cmp r10w, r14w
je 0x1400139ba
nop
mov rax, qword [0x140133b08]
movzx ecx, r10w
mov rdx, qword [rax + rcx*8]
movzx eax, byte [rdx + 0x11]
test al, al
jne 0x140013843
cmp word [rdx + 0xa], 0
je 0x14001388e
movzx eax, word [rdx + 0xa]
lea rcx, [rax + rax*2]
mov rax, qword [0x140136f08]
lea r11, [rax + rcx*8]
jmp 0x14001384b
lea rcx, [rax + rax*2]
lea r11, [r9 + rcx*8]
cmp byte [r11 + 0x11], 0
movzx r10d, word [rdx + 0xc]
mov word [rsp + 0x5a], r10w
je 0x140013883
cmp byte [rdx + 0x16], 0
je 0x140013877
test sil, sil
jne 0x14001388b
movzx eax, word [rdx + 4]
mov word [rbx + 8], ax
test r8, r8
jne 0x140013897
jmp 0x140013883
test sil, sil
jne 0x140013883
test r8, r8
cmove r8, rdx
cmp r10w, r14w
jne 0x140013810
jmp 0x14001388e
mov r8, rdx
test r8, r8
je 0x1400139ba
movzx edx, byte [r8 + 0x11]
mov ecx, edx
test edx, edx
je 0x140013909
sub ecx, 0x10
je 0x1400138ef
sub ecx, 1
je 0x1400138d5
cmp ecx, 1
je 0x1400138bb
lea rcx, [rdx + rdx*2]
lea rax, [r9 + rcx*8]
jmp 0x14001391d
cmp byte [r9 + 0xf89], 0
mov eax, 0xf60
mov ecx, 0xf78
cmovne eax, ecx
add rax, r9
jmp 0x14001391d
cmp byte [r9 + 0xf59], 0
mov eax, 0xf30
mov ecx, 0xf48
cmovne eax, ecx
add rax, r9
jmp 0x14001391d
cmp byte [r9 + 0xf29], 0
mov eax, 0xf00
mov ecx, 0xf18
cmovne eax, ecx
add rax, r9
jmp 0x14001391d
movzx eax, word [r8 + 0xa]
lea rcx, [rax + rax*2]
mov rax, qword [0x140136f08]
lea rax, [rax + rcx*8]
movzx r15d, word [r8 + 6]
mov qword [0x140133ae0], rax
test r15w, r15w
je 0x140013937
mov word [rsp + 0x60], r15w
jmp 0x1400139a5
movzx eax, word [r8 + 4]
lea r9, [rbx + 0x10]
mov r15, qword [rbp + 0xd8]
lea rcx, [rsp + 0x60]
mov word [rsp + 0x60], ax
mov r8, r15
lea rax, [r12 + 4]
movzx edx, sil
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
call fcn.1400192a0
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x14001399f
mov eax, dword [rsp + 0x54]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], ax
jmp 0x14001317b
movzx r15d, word [rsp + 0x60]
mov rax, qword [0x140133ae0]
movzx r10d, r15w
mov word [rsp + 0x5a], r15w
mov byte [rax + 0x16], 2
movzx eax, r10w
mov ecx, 0x7ffd
sub ax, cx
cmp ax, 1
ja 0x140013be6
test sil, sil
jne 0x1400139d9
mov byte [rbx + 0x14], 1
test byte [0x140132bae], 0xc
jne 0x1400139fe
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.1400215d0
lea eax, [rdi + 0x5e]
cmp al, 1
ja 0x140013a2e
test sil, sil
jne 0x140013a2e
movzx r8d, word [rsp + 0x54]
xor r9d, r9d
mov dword [rsp + 0x28], 0xffc3d44d
movzx edx, dil
mov ecx, 1
mov byte [rsp + 0x20], sil
call fcn.1400215d0
mov rax, qword [0x140133ae0]
movzx r15d, word [rsp + 0x5a]
mov byte [rax + 0x12], 1
mov eax, 0x7ffd
cmp r15w, ax
jne 0x140013a7f
test byte [0x140132bae], 0x30
jne 0x140013a6f
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.1400215d0
mov rax, qword [0x140133ae0]
mov byte [rax + 0x13], 1
jmp 0x140013b0e
mov eax, 0x7ffe
cmp r15w, ax
jne 0x140013b0e
lea eax, [rdi + 0x60]
cmp al, 1
ja 0x140013abe
test sil, sil
jne 0x140013abe
movzx r8d, word [rsp + 0x54]
xor r9d, r9d
mov dword [rsp + 0x28], 0xffc3d44d
movzx edx, dil
mov ecx, 1
mov byte [rsp + 0x20], sil
call fcn.1400215d0
test byte [0x140132bae], 0x10
je 0x140013ae6
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 0xa0
mov ecx, 1
call fcn.1400215d0
test byte [0x140132bae], 0x20
je 0x140013b0e
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 0xa1
mov ecx, 1
call fcn.1400215d0
test byte [0x140132bae], 1
je 0x140013b36
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 0xa2
mov ecx, 1
call fcn.1400215d0
test byte [0x140132bae], 2
je 0x140013b5e
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 0xa3
mov ecx, 1
call fcn.1400215d0
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 9
mov ecx, 2
call fcn.1400215d0
mov eax, 0x7ffd
cmp r15w, ax
jne 0x140013bcc
mov rax, qword [0x140133ae0]
cmp byte [rax + 0x13], 0
je 0x140013bcc
lea eax, [rdi - 0x60]
cmp al, 9
jbe 0x140013ba2
cmp dil, 0x6e
jne 0x140013bcc
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.WSOCK32.dll_recv
mov ecx, 1
call fcn.1400215d0
mov rax, qword [0x140133ae0]
mov byte [rax + 0x13], 0
mov word [r12 + 4], WSAGetLastError
test sil, sil
jne 0x1400136f3
mov byte [rbx + 0x15], 1
jmp 0x1400136f3
cmp r15w, r14w
jne 0x140013f55
movzx eax, byte [rbx + 0xc]
movzx r11d, byte [0x140132bab]
movzx edx, r11b
test al, al
je 0x140013c08
not al
and dl, al
cmp r13, qword [0x140132ae0]
jne 0x140013c34
cmp byte [rsp + 0x58], 0
je 0x140013c34
mov r10d, dword [rsp + 0x54]
movzx eax, r10w
movzx ecx, dl
shl rcx, 9
add rcx, rax
mov rax, qword [0x140136ef0]
jmp 0x140013c48
mov rax, qword [0x140136ee8]
mov r10d, dword [rsp + 0x54]
movzx ecx, dl
shl ecx, 8
add ecx, edi
movzx r15d, word [rax + rcx*2]
mov r9d, edi
mov word [rsp + 0x60], r15w
movzx ecx, r15w
movzx r8d, r15w
movzx eax, r15w
cmp r15w, r14w
jne 0x140013ce7
cmp byte [0x140136036], 0
je 0x140013ce7
cmp dil, 9
je 0x140013ce7
and dl, 0xf3
cmp r13, qword [0x140132ae0]
jne 0x140013ca1
cmp byte [rsp + 0x58], 0
je 0x140013ca1
movzx eax, r10w
movzx ecx, dl
shl rcx, 9
add rcx, rax
mov rax, qword [0x140136ef0]
jmp 0x140013cb1
mov rax, qword [0x140136ee8]
movzx ecx, dl
shl ecx, 8
add ecx, r9d
movzx r15d, word [rax + rcx*2]
mov eax, 0x7ff9
movzx edx, r15w
mov word [rsp + 0x60], r15w
and dx, r14w
movzx ecx, r15w
cmp dx, ax
jbe 0x140013e7b
movzx r8d, cx
movzx eax, cx
cmp dx, r14w
jae 0x140013e7b
test cx, cx
jns 0x140013db6
test sil, sil
jne 0x140013e71
movzx r8d, word [rbx + 0xa]
movzx eax, r11b
and al, 0xc0
mov word [rbx + 8], r15w
neg al
sbb ecx, ecx
and ecx, 8
mov edx, ecx
or edx, 1
test r11b, 0xc
cmove edx, ecx
mov ecx, edx
or ecx, 4
test r11b, 0x30
cmove ecx, edx
mov r9d, ecx
or r9d, 2
test r11b, 3
cmove r9d, ecx
cmp r8w, r14w
je 0x140013d98
nop dword [rax]
mov rax, qword [0x140133b08]
movzx ecx, r8w
mov rdx, qword [rax + rcx*8]
cmp byte [rdx + 0x15], 0
movzx r8d, word [rdx + 0xc]
jne 0x140013d65
movzx ecx, byte [rdx + 0xf]
not ecx
test r11b, cl
jne 0x140013d92
cmp byte [rdx + 0x16], 0
jne 0x140013d92
cmp byte [rdx + 0x11], 0
jne 0x140013d92
cmp word [rdx + 0xa], 0
jne 0x140013d92
cmp word [rdx + 6], 0
jne 0x140013d92
mov eax, r9d
not eax
test dword [rdx], eax
jne 0x140013d92
mov eax, r11d
not eax
test byte [rdx + 0xe], al
je 0x140013da6
cmp r8w, r14w
jne 0x140013d40
mov r15d, r14d
mov word [rsp + 0x60], r15w
jmp 0x140013e71
movzx r15d, word [rdx + 4]
mov word [rsp + 0x60], r15w
jmp 0x140013e71
cmp r8w, r14w
je 0x140013e7b
and ax, r14w
test sil, sil
je 0x140013e56
cmp ax, word [0x140132e04]
jae 0x140013e4d
movzx ecx, ax
mov rax, qword [0x140136ef8]
mov qword [rsp + 0x70], rcx
cmp word [rax + rcx*2], r14w
je 0x140013e4d
cmp byte [rsp + 0x50], 0
jne 0x140013e39
mov r8, qword [rbp + 0xd8]
lea rax, [r12 + 4]
mov qword [rsp + 0x28], rax
lea r9, [rbx + 0x10]
lea rax, [rbp + 0xc0]
movzx edx, sil
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.1400192a0
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140013e34
movzx r15d, word [rsp + 0x60]
jmp 0x140013e71
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140136ef8]
movzx r15d, word [rax + rcx*2]
mov word [rsp + 0x60], r15w
jmp 0x140013e71
cmp byte [rsp + 0x50], 0
je 0x140013e71
jmp 0x140013e80
cmp ax, word [0x140132e04]
jae 0x140013e71
movzx ecx, ax
mov rax, qword [0x140136ef8]
movzx ecx, word [rax + rcx*2]
mov word [rbx + 8], cx
cmp r15w, r14w
jne 0x140013f55
test sil, sil
je 0x140013eae
cmp byte [rbx + 0xc], 0
jne 0x14001464d
test byte [rbx + 0x10], 1
jne 0x14001464d
cmp byte [rbx + 0xd], 0
je 0x14001464d
cmp byte [rsp + 0x5c], 0
jne 0x14001464d
jmp 0x1400146a5
cmp word [rbx + 8], r14w
lea rcx, [rbx + 8]
jne 0x140013ee2
mov rax, qword [rbp + 0xd8]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x54]
mov byte [rsp + 0x30], 0
mov word [rsp + 0x28], ax
jmp 0x14001317b
lea r9, [rbx + 0x10]
xor esi, esi
mov rbx, qword [rbp + 0xd8]
lea rax, [rbp + 0xc0]
mov r8, rbx
mov qword [rsp + 0x28], rsi
mov dl, 1
mov qword [rsp + 0x20], rax
call fcn.1400192a0
mov rcx, r13
cmp byte [rbp + 0xc0], sil
je 0x140013f2a
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], rbx
jmp 0x140014002
mov qword [rsp + 0x48], rsi
movzx r8d, dil
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rbx
mov byte [rsp + 0x20], sil
jmp 0x1400146d9
movzx eax, byte [rbx + 0x10]
lea r9, [rbx + 0x10]
test al, 8
je 0x140013f72
test sil, sil
je 0x140013f72
and al, 0xf7
mov byte [rbp + 0xc0], 1
mov byte [r9], al
movzx eax, r15w
and ax, r14w
cmp ax, word [0x140132e04]
jae 0x1400140b8
cmp qword [rsp + 0x68], 0
jne 0x1400140b8
mov r15, qword [rbp + 0xd8]
lea rax, [r12 + 4]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x60]
lea rax, [rbp + 0xc0]
mov r8, r15
movzx edx, sil
mov qword [rsp + 0x20], rax
call fcn.1400192a0
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x1400140b2
cmp word [r12 + 4], 0x69
je 0x14001397d
test sil, sil
je 0x14001401a
mov rcx, r13
cmp byte [rbx + 0x15], al
je 0x140013ff3
mov qword [rsp + 0x48], rax
jmp 0x14001408c
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r15
mov eax, dword [rsp + 0x54]
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], ax
mov byte [rsp + 0x20], dil
jmp 0x140013183
cmp word [rbx + 8], r14w
lea rcx, [rbx + 8]
jne 0x140014047
mov eax, dword [rsp + 0x54]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], 0
mov word [rsp + 0x28], ax
jmp 0x14001317b
lea rax, [rbp + 0xc0]
mov byte [rbp + 0xc0], 0
xor esi, esi
lea r9, [rbx + 0x10]
mov qword [rsp + 0x28], rsi
mov r8, r15
mov dl, 1
mov qword [rsp + 0x20], rax
call fcn.1400192a0
mov rcx, r13
cmp byte [rbp + 0xc0], sil
jne 0x140013ff3
and byte [rbx + 0x10], 0xf7
mov byte [rbx + 0x15], 1
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], 0x7fffffff
movzx r8d, dil
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], sil
jmp 0x1400146d9
movzx r15d, word [rsp + 0x60]
and r15w, r14w
test byte [0x140132bae], 0xcc
je 0x1400141a1
cmp byte [rbp + 0xc0], 0
jne 0x1400141a1
cmp byte [0x140136035], 0
jne 0x1400140ec
cmp r13, qword [0x140132ad8]
jne 0x1400141a1
test byte [0x140132bae], 0xc0
movzx edx, byte [0x140132baa]
je 0x140014129
test dl, 0xc0
jne 0x140014120
cmp r15w, word [0x140132e04]
jae 0x140014129
mov rax, qword [0x140133b08]
movzx ecx, r15w
mov rcx, qword [rax + rcx*8]
test byte [rcx + 0xf], 0xc0
je 0x140014129
mov byte [0x140136034], 1
jmp 0x1400141a1
cmp byte [0x140136034], 0
jne 0x1400141a1
movzx eax, byte [0x140132bae]
test al, 0xc
je 0x1400141a1
test al, 3
jne 0x1400141a1
test dl, 0xc
jne 0x140014165
cmp r15w, word [0x140132e04]
jae 0x1400141a1
mov rax, qword [0x140133b08]
movzx ecx, r15w
mov rcx, qword [rax + rcx*8]
test byte [rcx + 0xf], 0xc
je 0x1400141a1
cmp qword [0x140132ae0], 0
je 0x140014178
mov byte [0x140136034], 1
jmp 0x1400141a1
movzx r8d, word [0x140130c90]
xor r9d, r9d
movzx edx, byte [reloc.OLEAUT32.dll_SafeArrayGetElemsize]
mov ecx, 2
mov dword [rsp + 0x28], 0xffc3d44d
mov byte [rsp + 0x20], 0
call fcn.1400215d0
movzx ecx, r15w
sub ecx, 0x7ffa
je 0x1400141f9
sub ecx, 1
je 0x140014206
sub ecx, 1
je 0x140014206
sub ecx, 1
je 0x1400142ac
cmp ecx, 1
je 0x1400142ac
mov rcx, qword [rsp + 0x68]
movzx r14d, r15w
mov rax, qword [rcx + 8]
test rax, rax
je 0x14001450b
cmp byte [rax], 5
jb 0x14001450b
movzx eax, word [rcx + 0x20]
shl eax, 0x10
cdqe
or r14, rax
jmp 0x14001450b
cmp byte [0x140136036], 0
je 0x14001464d
xor al, al
test byte [0x140132bae], 4
je 0x140014215
mov cl, 0xa4
jmp 0x140014227
test byte [0x140132bae], 8
movzx ecx, al
mov eax, 0xa5
cmovne ecx, eax
cmp byte [0x140136036], 0
mov dword [rsp + 0x68], ecx
je 0x1400143ae
mov eax, 0x7ffb
cmp r15w, ax
je 0x1400142ac
test cl, cl
movzx eax, cl
mov edx, reloc.OLEAUT32.dll_SafeArrayGetUBound
mov dword [rsp + 0x28], 0xffc3d44d
cmovne edx, eax
mov ecx, 1
xor r8d, r8d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
call fcn.1400215d0
cmp byte [rbx + 0xc], 0
je 0x1400142a0
lea eax, [rdi - 0x5b]
cmp al, 1
jbe 0x1400142a0
test sil, sil
jne 0x1400142a0
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, dil
mov ecx, 1
call fcn.1400215d0
mov byte [0x140136036], 0
jmp 0x14001450b
cmp byte [0x140136036], 0
je 0x14001464d
test sil, sil
jne 0x1400142e6
lea eax, [rdi + 0x60]
cmp al, 3
ja 0x1400142e6
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, dil
mov ecx, 1
call fcn.1400215d0
test byte [0x140132bae], 0xc
je 0x1400142fb
test sil, sil
je 0x140014317
lea eax, [rdi + 0x5c]
cmp al, 1
ja 0x140014317
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.1400215d0
mov eax, 0x7ffd
cmp r15w, ax
jne 0x14001438a
test byte [0x140132bae], 0x30
jne 0x14001438a
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.1400215d0
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 9
mov ecx, 2
call fcn.1400215d0
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.WSOCK32.dll_recv
mov ecx, 1
call fcn.1400215d0
jmp 0x14001450b
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 9
mov ecx, 2
call fcn.1400215d0
jmp 0x14001450b
lea eax, [rdi + 0x5c]
cmp al, 1
lea eax, [rdi + 0x60]
setbe byte [rsp + 0x50]
cmp al, 1
lea eax, [rdi + 0x5e]
setbe r8b
cmp al, 1
mov byte [rsp + 0x58], r8b
setbe dl
xor cl, cl
test byte [0x140132bae], 0x10
mov dword [rsp + 0x60], ecx
je 0x1400143e1
mov cl, 0xa0
jmp 0x1400143fc
test byte [0x140132bae], 0x20
je 0x1400143ee
mov cl, 0xa1
jmp 0x1400143fc
test sil, sil
jne 0x140014400
test r8b, r8b
movzx ecx, cl
cmovne ecx, edi
mov dword [rsp + 0x60], ecx
xor r15b, r15b
test byte [0x140132bae], 1
je 0x140014411
mov r15b, 0xa2
jmp 0x14001442e
test byte [0x140132bae], 2
je 0x14001441f
mov r15b, 0xa3
jmp 0x14001442e
test sil, sil
jne 0x14001442e
test dl, dl
movzx r15d, r15b
cmovne r15d, edi
mov byte [rsp + 0x5a], 0
test cl, cl
je 0x14001445c
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
movzx edx, cl
mov byte [rsp + 0x20], r8b
mov ecx, 1
xor r9d, r9d
call fcn.1400215d0
mov byte [rsp + 0x5a], 1
test r15b, r15b
je 0x140014482
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
movzx edx, r15b
mov ecx, 1
call fcn.1400215d0
cmp byte [rsp + 0x50], 0
je 0x140014494
test sil, sil
jne 0x14001449c
movzx eax, dil
jmp 0x140014498
mov eax, dword [rsp + 0x68]
test al, al
jne 0x1400144b8
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.1400215d0
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, 9
mov ecx, 2
call fcn.1400215d0
cmp byte [rsp + 0x5a], 0
je 0x140014504
cmp byte [rsp + 0x58], 0
jne 0x140014504
movzx edx, byte [rsp + 0x60]
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
xor ecx, ecx
mov byte [rsp + 0x20], r8b
call fcn.1400215d0
mov byte [0x140136036], 1
mov word [r12 + 4], WSAGetLastError
test sil, sil
je 0x140014626
cmp byte [rsp + 0x5c], 0
je 0x140014576
cmp byte [rbx + 0xd], 0
je 0x140014576
mov ebx, dword [rsp + 0x54]
xor r9d, r9d
movzx r8d, bx
mov dword [rsp + 0x28], 0xffc3d44e
movzx edx, dil
mov byte [rsp + 0x20], 0
mov ecx, 1
call fcn.1400215d0
xor r9d, r9d
mov dword [rsp + 0x28], 0xffc3d44d
movzx r8d, bx
mov byte [rsp + 0x20], 0
movzx edx, dil
mov ecx, 2
call fcn.1400215d0
jmp 0x1400146a5
cmp byte [rbx + 0xc], 0
je 0x1400145cf
cmp byte [rbx + 0x15], 0
mov rcx, r13
mov rax, qword [rbp + 0xd8]
je 0x1400145bb
mov qword [rsp + 0x48], 0
movzx r8d, dil
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], sil
jmp 0x1400146d9
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], rax
jmp 0x140014002
cmp byte [rbp + 0xc0], 0
je 0x1400146a5
mov rax, qword [rbp + 0xd8]
mov rcx, r13
mov r9, qword [rbp + 0xb8]
mov r8, qword [rbp + 0xb0]
mov edx, dword [rbp + 0xa8]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x54]
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], ax
mov byte [rsp + 0x20], dil
call fcn.1400148b0
jmp 0x1400146e5
mov rax, qword [0x140133ae0]
mov byte [rbx + 0x14], 1
test rax, rax
je 0x140014640
cmp byte [rax + 0xc], 0
je 0x140014640
mov byte [rax + 0x16], 2
cmp byte [rbp + 0xc0], 0
je 0x140014676
or byte [rbx + 0x10], 8
mov rax, qword [rbp + 0xd8]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x54]
mov byte [rsp + 0x30], sil
mov word [rsp + 0x28], ax
jmp 0x14001317b
lea eax, [rdi + 0x5c]
cmp al, 1
ja 0x1400146a1
movzx r8d, word [rsp + 0x54]
xor r9d, r9d
mov dword [rsp + 0x28], 0xffc3d450
movzx edx, dil
mov ecx, 1
mov byte [rsp + 0x20], 0
call fcn.1400215d0
mov byte [rbx + 0x15], 1
mov rax, qword [rbp + 0xd8]
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0x7fffffff
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], sil
movzx r8d, dil
mov rcx, r13
mov rdx, qword [rbp + 0xb8]
call fcn.140014700
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret