Function at 0x180028680
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x180067008]
xor rax, rsp
mov qword [rsp + 0x158], rax
mov rbx, rdx
mov rsi, rcx
mov qword [rsp + 0x20], rcx
cmp dword [rcx + 0x44], 0
jle 0x1800286df
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rsi + 0x48]
imul ecx, dword [rsi + 0x44], 0xea60
cmp eax, ecx
jbe 0x180028f9d
mov qword [rsp + 0x128], reloc.WS2_32.dll_ntohs
xor r13d, r13d
mov qword [rsp + 0x120], r13
mov byte [rsp + 0x110], r13b
movdqa xmm0, xmmword [0x18005a120]
movdqu xmmword [rsp + 0x130], xmm0
movdqa xmm1, xmmword [0x18005a0e0]
movdqu xmmword [rsp + 0x140], xmm1
mov byte [rsp + 0x150], r13b
lea rax, [rsp + 0x130]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180028734
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x110]
call fcn.1800020b0
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], r13
lea r8, [rsp + 0x98]
mov rdx, rbx
lea rcx, [rsp + 0x110]
call fcn.180001310
mov r8, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x98]
cmp r8, rdi
jne 0x180028801
test rdi, rdi
je 0x1800287ef
mov rax, qword [rsp + 0xa8]
sub rax, rdi
cmp rax, 0x1000
jb 0x1800287e6
test dil, 0x1f
je 0x1800287b9
call fcn.18003835c
int3
mov rax, qword [rdi - 8]
cmp rax, rdi
jb 0x1800287c8
call fcn.18003835c
int3
sub rdi, rax
cmp rdi, 8
jae 0x1800287d7
call fcn.18003835c
int3
cmp rdi, 0x27
jbe 0x1800287e3
call fcn.18003835c
int3
mov rdi, rax
mov rcx, rdi
call fcn.180033ed0
nop
lea rcx, [rsp + 0x110]
call fcn.180001e50
jmp 0x180028f9d
mov qword [rsp + 0xc8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xc0], r13
mov byte [rsp + 0xb0], 0
mov rdx, rdi
lea rcx, [rsp + 0xb0]
call fcn.180014d60
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x148], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x140], r13
mov byte [rsp + 0x130], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x130]
call fcn.1800021e0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x130]
call fcn.180032d30
mov r15, qword [rsp + 0x48]
mov r12, r15
mov r14, qword [rsp + 0x40]
sub r12, r14
sar r12, 5
mov qword [rsp + 0x30], r12
test r12, r12
jne 0x1800288b0
lea rcx, str.invalid_vector_T__subscript
call fcn.180033dfc
mov qword [rsp + 0x90], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x88], r13
mov byte [rsp + 0x78], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r14
lea rcx, [rsp + 0x78]
call fcn.1800021e0
nop
mov rbx, qword [rsi + 0x30]
lea rax, [rsi + 0x28]
mov qword [rsp + 0x28], rax
mov rsi, qword [rax]
mov r13, qword [rsp + 0x78]
cmp rsi, rbx
je 0x18002895a
mov rax, qword [rsp + 0x88]
lea rdx, [rsp + 0x78]
cmp qword [rsp + 0x90], 0x10
cmovae rdx, r13
cmp qword [rsi + 0x18], 0x10
jb 0x18002891e
mov rcx, qword [rsi]
jmp 0x180028921
mov rcx, rsi
mov r12, qword [rsi + 0x10]
mov r8, rax
cmp r12, rax
cmovb r8, r12
test r8, r8
je 0x180028945
call fcn.18004b2b0
test eax, eax
mov rax, qword [rsp + 0x88]
jne 0x18002894c
cmp r12, rax
jb 0x18002894c
jbe 0x180028955
add rsi, 0x20
cmp rsi, rbx
jne 0x180028900
mov r12, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
cmp rsi, qword [rax + 0x30]
je 0x180028ae1
mov rax, qword [rsp + 0x90]
cmp rax, 0x10
jb 0x1800289c4
inc rax
cmp rax, 0x1000
jb 0x1800289bc
test byte [rsp + 0x78], 0x1f
je 0x18002898f
call fcn.18003835c
int3
mov rax, qword [r13 - 8]
cmp rax, r13
jb 0x18002899e
call fcn.18003835c
int3
sub r13, rax
cmp r13, 8
jae 0x1800289ad
call fcn.18003835c
int3
cmp r13, 0x27
jbe 0x1800289b9
call fcn.18003835c
int3
mov r13, rax
mov rcx, r13
call fcn.180033ed0
mov qword [rsp + 0x90], reloc.WS2_32.dll_ntohs
xor ebx, ebx
mov qword [rsp + 0x88], rbx
mov byte [rsp + 0x78], bl
test r14, r14
je 0x180028a16
mov rbx, r14
cmp r14, r15
je 0x180028a01
nop dword [rax + rax]
mov rcx, rbx
call fcn.180001e50
add rbx, 0x20
cmp rbx, r15
jne 0x1800289f0
mov r8, qword [rsp + 0x50]
sub r8, r14
sar r8, 5
mov rdx, r14
call fcn.18000a480
nop
mov rax, qword [rsp + 0xc8]
cmp rax, 0x10
jb 0x180028a75
inc rax
mov rcx, qword [rsp + 0xb0]
cmp rax, 0x1000
jb 0x180028a6f
test cl, 0x1f
je 0x180028a42
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180028a51
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180028a60
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x180028a6c
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
nop
test rdi, rdi
je 0x180028acf
mov rax, qword [rsp + 0xa8]
sub rax, rdi
cmp rax, 0x1000
jb 0x180028ac6
test dil, 0x1f
je 0x180028a99
call fcn.18003835c
int3
mov rax, qword [rdi - 8]
cmp rax, rdi
jb 0x180028aa8
call fcn.18003835c
int3
sub rdi, rax
cmp rdi, 8
jae 0x180028ab7
call fcn.18003835c
int3
cmp rdi, 0x27
jbe 0x180028ac3
call fcn.18003835c
int3
mov rdi, rax
mov rcx, rdi
call fcn.180033ed0
nop
lea rcx, [rsp + 0x110]
call fcn.180001e50
jmp 0x180028f9d
lea r8, [rsp + 0xb0]
lea rdx, [0x180059e98]
lea rcx, [rsp + 0xf0]
call fcn.180006960
nop
lea rcx, [rsp + 0xf0]
cmp qword [rsp + 0x108], 0x10
cmovae rcx, qword [rsp + 0xf0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test r12, r12
jne 0x180028b2f
lea rcx, str.invalid_vector_T__subscript
call fcn.180033dfc
mov qword [rsp + 0xe8], reloc.WS2_32.dll_ntohs
xor ebx, ebx
mov qword [rsp + 0xe0], rbx
mov byte [rsp + 0xd0], bl
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r14
lea rcx, [rsp + 0xd0]
call fcn.1800021e0
nop
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x28]
call fcn.18000dbb0
cmp r12, 1
ja 0x180028b88
lea rcx, str.invalid_vector_T__subscript
call fcn.180033dfc
lea rdx, [r14 + 0x20]
mov qword [rsp + 0x70], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x68], rbx
mov byte [rsp + 0x58], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x58]
call fcn.1800021e0
nop
lea rcx, [rsp + 0x58]
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
cmp rsi, 0x10
cmovae rcx, rbx
mov r12d, 1
mov r13, qword [rsp + 0x68]
cmp r13, r12
cmovb r12, r13
test r12, r12
je 0x180028bf2
mov r8, r12
lea rdx, str.1234
call fcn.18004b2b0
test eax, eax
jne 0x180028c0c
cmp r13, 1
jne 0x180028c0c
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x20]
call fcn.180028fd0
jmp 0x180028cbe
lea rcx, [rsp + 0x58]
cmp rsi, 0x10
cmovae rcx, rbx
test r12, r12
je 0x180028c31
mov r8, r12
lea rdx, [0x180059eac]
call fcn.18004b2b0
test eax, eax
jne 0x180028c48
cmp r13, 1
jne 0x180028c48
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x20]
call fcn.180029540
jmp 0x180028cbe
lea rcx, [rsp + 0x58]
cmp rsi, 0x10
cmovae rcx, rbx
test r12, r12
je 0x180028c6d
mov r8, r12
lea rdx, [0x180059eb0]
call fcn.18004b2b0
test eax, eax
jne 0x180028c84
cmp r13, 1
jne 0x180028c84
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x20]
call fcn.180029a90
jmp 0x180028cbe
lea rcx, [rsp + 0x58]
cmp rsi, 0x10
cmovae rcx, rbx
test r12, r12
je 0x180028ca9
mov r8, r12
lea rdx, [0x180059eb4]
call fcn.18004b2b0
test eax, eax
jne 0x180028cd2
cmp r13, 1
jne 0x180028cd2
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x20]
call fcn.180029cf0
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
cmp rsi, 0x10
jb 0x180028d26
lea rax, [rsi + 1]
cmp rax, 0x1000
jb 0x180028d1e
test byte [rsp + 0x58], 0x1f
je 0x180028cf1
call fcn.18003835c
int3
mov rax, qword [rbx - 8]
cmp rax, rbx
jb 0x180028d00
call fcn.18003835c
int3
sub rbx, rax
cmp rbx, 8
jae 0x180028d0f
call fcn.18003835c
int3
cmp rbx, 0x27
jbe 0x180028d1b
call fcn.18003835c
int3
mov rbx, rax
mov rcx, rbx
call fcn.180033ed0
mov qword [rsp + 0x70], reloc.WS2_32.dll_ntohs
xor ebx, ebx
mov qword [rsp + 0x68], rbx
mov byte [rsp + 0x58], bl
mov rax, qword [rsp + 0xe8]
cmp rax, 0x10
jb 0x180028d98
inc rax
mov rcx, qword [rsp + 0xd0]
cmp rax, 0x1000
jb 0x180028d93
test cl, 0x1f
je 0x180028d66
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180028d75
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180028d84
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x180028d90
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rsp + 0xe8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xe0], rbx
mov byte [rsp + 0xd0], 0
mov rax, qword [rsp + 0x108]
cmp rax, 0x10
jb 0x180028e12
inc rax
mov rcx, qword [rsp + 0xf0]
cmp rax, 0x1000
jb 0x180028e0d
test cl, 0x1f
je 0x180028de0
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180028def
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180028dfe
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x180028e0a
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rsp + 0x108], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x100], rbx
mov byte [rsp + 0xf0], 0
mov rax, qword [rsp + 0x90]
cmp rax, 0x10
jb 0x180028e89
inc rax
mov rcx, qword [rsp + 0x78]
cmp rax, 0x1000
jb 0x180028e84
test cl, 0x1f
je 0x180028e57
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180028e66
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180028e75
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x180028e81
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rsp + 0x90], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x88], rbx
mov byte [rsp + 0x78], 0
test r14, r14
je 0x180028ed6
mov rbx, r14
cmp r14, r15
je 0x180028ec1
nop
mov rcx, rbx
call fcn.180001e50
add rbx, 0x20
cmp rbx, r15
jne 0x180028eb0
mov r8, qword [rsp + 0x50]
sub r8, r14
sar r8, 5
mov rdx, r14
call fcn.18000a480
nop
mov rax, qword [rsp + 0xc8]
cmp rax, 0x10
jb 0x180028f35
inc rax
mov rcx, qword [rsp + 0xb0]
cmp rax, 0x1000
jb 0x180028f2f
test cl, 0x1f
je 0x180028f02
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180028f11
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180028f20
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x180028f2c
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
nop
test rdi, rdi
je 0x180028f8f
mov rax, qword [rsp + 0xa8]
sub rax, rdi
cmp rax, 0x1000
jb 0x180028f86
test dil, 0x1f
je 0x180028f59
call fcn.18003835c
int3
mov rax, qword [rdi - 8]
cmp rax, rdi
jb 0x180028f68
call fcn.18003835c
int3
sub rdi, rax
cmp rdi, 8
jae 0x180028f77
call fcn.18003835c
int3
cmp rdi, 0x27
jbe 0x180028f83
call fcn.18003835c
int3
mov rdi, rax
mov rcx, rdi
call fcn.180033ed0
nop
lea rcx, [rsp + 0x110]
call fcn.180001e50
nop
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
call fcn.180033e70
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret