Function at 0x18001c6c0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2b8
mov qword [rsp + 0x180], 0xfffffffffffffffe
mov rax, qword [0x180097090]
xor rax, rsp
mov qword [rsp + 0x2a8], rax
mov r12d, r9d
mov dword [rsp + 0x48], r9d
mov r15d, r8d
mov qword [rsp + 0x150], rdx
mov rbx, rcx
xor esi, esi
cmp dword [0x18009de68], esi
jne 0x18001c746
mov dword [rsp + 0x50], 1
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x64], esi
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xb0]
call sub.gdiplus.dll_GdiplusStartup
mov dword [0x18009de68], 1
mov eax, dword [0x18009dfa8]
test al, 1
jne 0x18001c78a
or eax, 1
mov dword [0x18009dfa8], eax
mov byte [0x18009df88], 0
btr dword [0x18009df88], 8
mov qword [0x18009df90], rsi
mov qword [0x18009df98], rsi
mov qword [0x18009dfa0], rsi
lea rcx, [0x1800766c0]
call fcn.180053470
nop
mov rdx, rbx
lea rcx, [rsp + 0x80]
call fcn.180001470
nop
cmp qword [rax + 0x20], 8
jb 0x18001c7a8
mov rdx, qword [rax + 8]
jmp 0x18001c7ac
lea rdx, [rax + 8]
lea r8, [0x18007b878]
lea rcx, [rsp + 0x120]
call fcn.180029260
mov rbx, rax
mov rcx, qword [rax + 0x20]
sub rcx, qword [rax + 0x18]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
jne 0x18001c7ed
call fcn.180053884
mov rdx, qword [rbx + 0x18]
lea rcx, [rsp + 0x280]
call fcn.180001500
nop
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x18001c858
mov rdi, qword [rsp + 0x140]
cmp rcx, rdi
je 0x18001c853
lea rbx, [rcx + 0x20]
nop dword [rax]
cmp qword [rbx], 8
jb 0x18001c82f
mov rcx, qword [rbx - 0x18]
call fcn.1800538dc
mov qword [rbx], 7
mov qword [rbx - 8], rsi
mov word [rbx - 0x18], si
add rbx, 0x28
lea rax, [rbx - 0x20]
cmp rax, rdi
jne 0x18001c820
mov rcx, qword [rsp + 0x138]
call fcn.1800538dc
mov qword [rsp + 0x138], rsi
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0x148], rsi
mov rcx, qword [rsp + 0x120]
call fcn.1800538dc
nop
cmp qword [rsp + 0xa0], 8
jb 0x18001c896
mov rcx, qword [rsp + 0x88]
call fcn.1800538dc
mov qword [rsp + 0xa0], 7
mov qword [rsp + 0x98], rsi
mov word [rsp + 0x88], si
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.GetTickCount64
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18001c8d8
call rax
jmp 0x18001c8e0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
sub rax, qword [0x18009d748]
lea rbx, [0x18009df80]
cmp rax, 0xbb8
jbe 0x18001ca92
mov qword [rsp + 0x1a8], socket
mov qword [rsp + 0x1a0], rsi
mov byte [rsp + 0x190], 0
mov r8d, sendto
lea rdx, str.watermarkModels
lea rcx, [rsp + 0x188]
call fcn.18000d0c0
nop
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0xf8]
call fcn.180002c00
mov r11, rax
movsx edx, byte [0x18009df88]
movzx ecx, byte [rax + 8]
mov byte [0x18009df88], cl
mov byte [rax + 8], dl
cmp rbx, rax
je 0x18001c976
mov rcx, qword [0x18009df80]
mov rdx, qword [rax]
mov qword [0x18009df80], rdx
mov qword [rax], rcx
mov ecx, dword [0x18009df88]
mov edx, ecx
shr edx, 8
and edx, 1
mov eax, dword [rax + 8]
xor eax, ecx
and eax, 0x100
xor ecx, eax
mov dword [0x18009df88], ecx
and dword [r11 + 8], 0xfffffeff
and edx, 1
shl edx, 8
or dword [r11 + 8], edx
lea rdx, [r11 + 0x10]
lea rax, [0x18009df90]
cmp rax, rdx
je 0x18001c9cc
mov rcx, qword [0x18009df90]
mov rax, qword [rdx]
mov qword [0x18009df90], rax
mov qword [rdx], rcx
lea rdx, [r11 + 0x18]
lea rax, [0x18009df98]
cmp rax, rdx
je 0x18001c9f0
mov rcx, qword [0x18009df98]
mov rax, qword [rdx]
mov qword [0x18009df98], rax
mov qword [rdx], rcx
lea rdx, [r11 + 0x20]
lea rax, [0x18009dfa0]
cmp rax, rdx
je 0x18001ca14
mov rcx, qword [0x18009dfa0]
mov rax, qword [rdx]
mov qword [0x18009dfa0], rax
mov qword [rdx], rcx
mov rcx, r11
call fcn.180034e14
nop
cmp qword [rsp + 0x1a8], 0x10
jb 0x18001ca35
mov rcx, qword [rsp + 0x190]
call fcn.1800538dc
cmp byte [0x18009df88], 6
je 0x18001ca5d
cmp qword [rsp + 0x2a0], 0x10
jb 0x18001ca56
mov rcx, qword [rsp + 0x288]
call fcn.1800538dc
xor eax, eax
jmp 0x18001d31e
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.GetTickCount64
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18001ca83
call rax
jmp 0x18001ca8b
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
mov qword [0x18009d748], rax
mov r13, rsi
xor r14b, r14b
mov byte [rsp + 0x40], r14b
mov dword [rsp + 0xc0], esi
mov dword [rsp + 0xc4], esi
mov dword [rsp + 0xc8], r15d
mov dword [rsp + 0xcc], r12d
mov qword [rsp + 0x1f8], socket
mov qword [rsp + 0x1f0], rsi
mov byte [rsp + 0x1e0], r13b
mov qword [rsp + 0x230], 7
mov qword [rsp + 0x228], rsi
mov word [rsp + 0x218], si
mov qword [rsp + 0x268], 7
mov qword [rsp + 0x260], rsi
mov word [rsp + 0x250], si
mov qword [rsp + 0x200], rsi
mov dword [rsp + 0x208], esi
mov dword [rsp + 0x20c], esi
mov byte [rsp + 0x238], 0x32
mov byte [rsp + 0x244], r14b
mov byte [rsp + 0x239], 1
mov eax, 0x1e
mov word [rsp + 0x23a], ax
mov dword [rsp + 0x23c], 0xff
mov dword [rsp + 0x240], 0xff0000
lea r8d, [rax - 0x13]
lea rdx, str.Courier_New
lea rcx, [rsp + 0x248]
call fcn.18000d5e0
mov byte [rsp + 0x270], 0xb
mov byte [rsp + 0x271], r14b
mov byte [rsp + 0x272], r14b
mov r12d, esi
nop word [rax + rax]
movsx eax, byte [0x18009df88]
test eax, eax
js 0x18001d1af
cmp eax, 5
jle 0x18001d1b5
cmp eax, 6
je 0x18001cbd6
cmp eax, 7
jne 0x18001d1a9
mov rax, qword [0x18009df80]
mov rcx, qword [rax + 0x38]
jmp 0x18001ccbe
mov rax, qword [0x18009df80]
cmp qword [rax + 0x38], 0
je 0x18001d1bb
mov rdi, qword [rax + 0x30]
mov qword [rsp + 0x58], rdi
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0xb0], xmm0
test rax, rax
jne 0x18001cc11
call fcn.180053884
cmp byte [rdi + 0x51], 0
je 0x18001cc28
mov rbx, qword [rdi + 0x10]
cmp byte [rbx + 0x51], 0
je 0x18001cc8d
call fcn.180053884
jmp 0x18001cc8d
mov rbx, qword [rdi]
cmp byte [rbx + 0x51], 0
jne 0x18001cc4f
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x51], 0
jne 0x18001cc8d
nop dword [rax + rax]
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x51], 0
je 0x18001cc40
jmp 0x18001cc8d
mov rax, qword [rdi + 8]
cmp byte [rax + 0x51], 0
jne 0x18001cc75
mov rbx, qword [rsp + 0xb8]
cmp rbx, qword [rax]
jne 0x18001cc7d
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x51], 0
je 0x18001cc61
jmp 0x18001cc7d
mov rbx, qword [rsp + 0xb8]
cmp byte [rbx + 0x51], 0
je 0x18001cc8a
call fcn.180053884
jmp 0x18001cc8d
mov rbx, rax
mov rax, qword [rsp + 0xb0]
test rax, rax
jne 0x18001cca4
call fcn.180053884
mov r11, rsi
jmp 0x18001cca7
mov r11, qword [rax]
cmp rbx, qword [r11 + 0x30]
jne 0x18001ccb2
call fcn.180053884
mov ecx, dword [rbx + 0x20]
inc ecx
lea rbx, [0x18009df80]
cmp r12d, ecx
jae 0x18001d1c1
mov edx, r12d
mov rcx, rbx
call fcn.180035a04
mov rdx, rax
lea rcx, [rsp + 0xd0]
call fcn.180034c68
nop
mov qword [rsp + 0xa0], socket
mov qword [rsp + 0x98], rsi
mov byte [rsp + 0x88], 0
mov r8d, 4
lea rdx, str.name
lea rcx, [rsp + 0x80]
call fcn.18000d0c0
nop
mov qword [rsp + 0x140], socket
mov qword [rsp + 0x138], rsi
mov byte [rsp + 0x128], 0
xor r8d, r8d
lea rdx, [0x18007a6af]
lea rcx, [rsp + 0x120]
call fcn.18000d0c0
lea r9, [rsp + 0x120]
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x1b0]
call fcn.180001930
nop
cmp qword [rsp + 0xa0], 0x10
jb 0x18001cd8b
mov rcx, qword [rsp + 0x88]
call fcn.1800538dc
mov qword [rsp + 0xa0], socket
mov qword [rsp + 0x98], rsi
mov byte [rsp + 0x88], 0
lea rdx, [rsp + 0x1b8]
mov rbp, qword [rsp + 0x1b8]
mov rsi, qword [rsp + 0x1d0]
cmp rsi, 0x10
cmovae rdx, rbp
lea rcx, [rsp + 0x288]
cmp qword [rsp + 0x2a0], 0x10
cmovae rcx, qword [rsp + 0x288]
mov rbx, qword [rsp + 0x1c8]
mov r8, rbx
mov rdi, qword [rsp + 0x298]
cmp rdi, rbx
cmovb r8, rdi
call fcn.18005cf50
movsxd rcx, eax
test eax, eax
jne 0x18001ce14
cmp rdi, rbx
jb 0x18001ce1c
cmp rdi, rbx
setne al
mov ecx, eax
test ecx, ecx
je 0x18001cecd
cmp rsi, 0x10
jb 0x18001ce2a
mov rcx, rbp
call fcn.1800538dc
mov qword [rsp + 0x1d0], socket
xor esi, esi
mov qword [rsp + 0x1c8], rsi
mov byte [rsp + 0x1b8], sil
mov eax, dword [rsp + 0xd8]
movsx ecx, al
cmp ecx, 4
je 0x18001ce7e
lea eax, [rcx - 6]
cmp eax, 1
ja 0x18001ce91
mov rbx, qword [rsp + 0xd0]
test rbx, rbx
je 0x18001ce91
mov rcx, rbx
call fcn.180039638
mov rcx, rbx
call fcn.1800538dc
jmp 0x18001ce91
bt eax, 8
jae 0x18001ce91
mov rcx, qword [rsp + 0xd0]
call fcn.180054818
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x18001cebe
lea rbx, [rcx - 8]
lea r9, [0x1800347ec]
mov r8d, dword [rbx]
mov edx, 8
call fcn.180063364
mov rcx, rbx
call fcn.180053a74
inc r12d
lea rbx, [0x18009df80]
jmp 0x18001cba0
mov qword [rsp + 0x70], socket
xor esi, esi
mov qword [rsp + 0x68], rsi
mov byte [rsp + 0x58], sil
lea r8d, [rsi + 0xb]
lea rdx, str.displayMode
lea rcx, [rsp + 0x50]
call fcn.18000d0c0
nop
mov qword [rsp + 0x118], socket
mov qword [rsp + 0x110], rsi
mov byte [rsp + 0x100], sil
xor r8d, r8d
lea rdx, [0x18007a6af]
lea rcx, [rsp + 0xf8]
call fcn.18000d0c0
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x158]
call fcn.180001930
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x1d8]
call fcn.18000ba90
nop
cmp qword [rsp + 0x178], 0x10
jb 0x18001cf7e
mov rcx, qword [rsp + 0x160]
call fcn.1800538dc
mov qword [rsp + 0x178], socket
mov qword [rsp + 0x170], rsi
mov byte [rsp + 0x160], 0
cmp qword [rsp + 0x70], 0x10
jb 0x18001cfac
mov rcx, qword [rsp + 0x58]
call fcn.1800538dc
mov qword [rsp + 0x70], socket
mov qword [rsp + 0x68], rsi
mov byte [rsp + 0x58], 0
mov r8d, 0xa
lea rdx, str.parameters
lea rcx, [rsp + 0x50]
call fcn.18000d0c0
nop
mov qword [rsp + 0x118], socket
mov qword [rsp + 0x110], rsi
mov byte [rsp + 0x100], 0
xor r8d, r8d
lea rdx, [0x18007a6af]
lea rcx, [rsp + 0xf8]
call fcn.18000d0c0
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x188]
call fcn.180001930
nop
cmp qword [rsp + 0x70], 0x10
jb 0x18001d03f
mov rcx, qword [rsp + 0x58]
call fcn.1800538dc
mov qword [rsp + 0x70], socket
mov qword [rsp + 0x68], rsi
mov byte [rsp + 0x58], 0
cmp qword [rsp + 0x1f0], 0
je 0x18001d0c5
cmp qword [rsp + 0x1a0], 0
je 0x18001d0bf
lea rax, [rsp + 0x200]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov edi, dword [rsp + 0x48]
mov dword [rsp + 0x20], edi
mov r9d, r15d
mov r8, qword [rsp + 0x150]
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0x1d8]
call fcn.18001bbd0
mov r13, rax
movzx r14d, byte [rsp + 0x40]
jmp 0x18001d0c9
mov edi, dword [rsp + 0x48]
jmp 0x18001d0c9
mov edi, dword [rsp + 0x48]
cmp qword [rsp + 0x1a8], 0x10
jb 0x18001d0e1
mov rcx, qword [rsp + 0x190]
call fcn.1800538dc
mov qword [rsp + 0x1a8], socket
mov qword [rsp + 0x1a0], rsi
mov byte [rsp + 0x190], 0
cmp qword [rsp + 0x1d0], 0x10
jb 0x18001d115
mov rcx, qword [rsp + 0x1b8]
call fcn.1800538dc
mov qword [rsp + 0x1d0], socket
mov qword [rsp + 0x1c8], rsi
mov byte [rsp + 0x1b8], 0
mov eax, dword [rsp + 0xd8]
movsx ecx, al
cmp ecx, 4
je 0x18001d167
lea eax, [rcx - 6]
cmp eax, 1
ja 0x18001d17a
mov rbx, qword [rsp + 0xd0]
test rbx, rbx
je 0x18001d17a
mov rcx, rbx
call fcn.180039638
mov rcx, rbx
call fcn.1800538dc
jmp 0x18001d17a
bt eax, 8
jae 0x18001d17a
mov rcx, qword [rsp + 0xd0]
call fcn.180054818
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x18001d1c5
lea rbx, [rcx - 8]
lea r9, [0x1800347ec]
mov r8d, dword [rbx]
mov edx, 8
call fcn.180063364
mov rcx, rbx
call fcn.180053a74
jmp 0x18001d1c5
mov edi, dword [rsp + 0x48]
jmp 0x18001d1c5
mov edi, dword [rsp + 0x48]
jmp 0x18001d1c5
mov edi, dword [rsp + 0x48]
jmp 0x18001d1c5
mov edi, dword [rsp + 0x48]
jmp 0x18001d1c5
mov edi, dword [rsp + 0x48]
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], edi
test r13, r13
je 0x18001d264
mov ecx, 0xc8
call fcn.1800539d8
mov rbx, rax
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x18001d25f
mov qword [rax], r13
mov byte [rax + 8], r14b
lea rcx, [rsp + 0xc0]
mov eax, dword [rcx]
mov dword [rbx + 0xc], eax
mov eax, dword [rcx + 4]
mov dword [rbx + 0x10], eax
mov eax, dword [rcx + 8]
mov dword [rbx + 0x14], eax
mov eax, dword [rcx + 0xc]
mov dword [rbx + 0x18], eax
lea rcx, [rbx + 0x20]
mov qword [rcx + 0x20], sendto
mov qword [rcx + 0x18], rsi
mov byte [rcx + 8], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x1d8]
call fcn.18000ba90
nop
lea rcx, [rbx + 0x48]
lea rdx, [rsp + 0x200]
call fcn.180004060
mov r11, qword [rsp + 0x48]
mov qword [rbx + 0xc0], r11
jmp 0x18001d262
mov rbx, rsi
jmp 0x18001d267
mov rbx, rsi
cmp qword [rsp + 0x268], 8
jb 0x18001d27f
mov rcx, qword [rsp + 0x250]
call fcn.1800538dc
mov qword [rsp + 0x268], 7
mov qword [rsp + 0x260], rsi
mov word [rsp + 0x250], si
cmp qword [rsp + 0x230], 8
jb 0x18001d2b3
mov rcx, qword [rsp + 0x218]
call fcn.1800538dc
mov qword [rsp + 0x230], 7
mov qword [rsp + 0x228], rsi
mov word [rsp + 0x218], si
cmp qword [rsp + 0x1f8], 0x10
jb 0x18001d2e7
mov rcx, qword [rsp + 0x1e0]
call fcn.1800538dc
mov qword [rsp + 0x1f8], socket
mov qword [rsp + 0x1f0], rsi
mov byte [rsp + 0x1e0], 0
cmp qword [rsp + 0x2a0], 0x10
jb 0x18001d31b
mov rcx, qword [rsp + 0x288]
call fcn.1800538dc
mov rax, rbx
mov rcx, qword [rsp + 0x2a8]
xor rcx, rsp
call fcn.180052d60
add rsp, 0x2b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret