Function at 0x1401c3510
Capabilities:
Hide graphical window

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x2c8]
sub rsp, 0x3b0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
mov rax, qword [0x1403f20c0]
xor rax, rsp
mov qword [rbp + 0x220], rax
lea rcx, [0x14048d6c2]
call fcn.140289ea0
call fcn.140162270
lea rcx, [rbp + 0x28]
call fcn.14013d250
nop
lea rcx, [rbp + 8]
call fcn.14013d250
nop
xor r14d, r14d
mov qword [rbp - 0x70], r14
mov dword [rbp - 0x80], 0x50
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov qword [rbp - 0x50], rax
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
mov qword [rbp - 0x58], rax
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadIconA]
mov qword [rbp - 0x60], rax
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadIconA]
mov qword [rbp - 0x38], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp - 0x68], rax
lea rax, [0x1401c4310]
mov qword [rbp - 0x78], rax
lea rax, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova rax, qword [rbp + 0x28]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x48], r14
mov dword [rbp - 0x7c], 3
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_RegisterClassExA]
mov ecx, dword [0x1404668e0]
mov edx, dword [0x1404672c0]
lea r8, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova r8, qword [rbp + 8]
mov qword [rsp + 0x58], r14
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
mov r9d, 0x80000000
mov rdx, qword [rbp - 0x40]
mov ecx, 0x80000a8
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov qword [0x140466578], rax
mov r9d, 2
mov r8b, 0xff
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
movdqa xmm0, xmmword [0x1403bf5d0]
movdqu xmmword [rbp + 0x48], xmm0
lea rdx, [rbp + 0x48]
mov rcx, qword [0x140466578]
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
call fcn.1401c4090
test al, al
jne 0x1401c36c4
call fcn.1401c4210
jmp 0x1401c3bd6
mov edx, 5
mov rcx, qword [0x140466578]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x140466578]
call qword [sym.imp.USER32.dll_UpdateWindow]
call fcn.1401c32f0
mov qword [0x140466670], rax
call fcn.140140050
call fcn.1401ad100
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.1400cf040
nop
lea rdx, [rbp + 0x90]
call fcn.1401a4200
nop
lea rcx, [rbp + 0x90]
call fcn.1400cf2a0
lea rdx, [rbp - 0x30]
call fcn.14013fbf0
nop
cmp qword [rbp - 0x20], 0
je 0x1401c37b7
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rcx, qword [rbp - 0x30]
call fcn.140121f00
movdqa xmm0, xmmword [0x1403bfa70]
movdqu xmmword [rbp - 0x10], xmm0
mov dword [rbp], 0x666e6f63
mov word [rbp + 4], 0x6769
mov byte [rbp + 6], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
mov qword [rbp + 0x210], r14
mov qword [rbp + 0x218], r14
lea rax, [rbp - 0xf]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1401c3790
lea rdx, [rbp - 0xf]
lea rcx, [rbp + 0x200]
call fcn.140043b60
lea rdx, [rbp + 0x200]
call fcn.14005e0e0
nop
lea rcx, [rbp - 0x30]
call fcn.14005bde0
cmp byte [0x140466516], 0
jne 0x1401c3bbf
movabs r15, 0x7fffffffffbffffe
xorps xmm10, xmm10
movsd xmm12, qword [0x1403bf420]
movsd xmm13, qword [0x1403bf4a0]
movsd xmm11, qword [0x1403bf4f8]
movsd xmm8, qword [0x1403bf4c8]
movsd xmm9, qword [0x1403bf478]
nop dword [rax + rax]
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x58]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x1401c386c
nop
lea rcx, [rbp + 0x58]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x58]
call qword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [rbp + 0x60], 0x12
je 0x1401c3bb8
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x58]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x1401c3830
cmp byte [0x140466516], 0
jne 0x1401c3bbf
mov rdi, qword [0x140466578]
call fcn.1400f3530
mov rsi, rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rsi, rax
je 0x1401c38af
cmp rdi, rax
je 0x1401c38af
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
jmp 0x1401c3922
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
lea rdx, [rbp - 0x30]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowRect]
lea rdx, [rbp - 0x10]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowRect]
mov edx, 0xfffffff0
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowLongA]
mov ebx, eax
mov edx, 0xffffffec
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowLongA]
mov edx, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x2c]
bt ebx, 0x17
jae 0x1401c3909
add edx, 8
mov dword [rbp - 0x30], edx
add r8d, 0x1f
mov dword [rbp - 0x2c], r8d
mov r9d, dword [rbp - 0x28]
sub r9d, edx
mov eax, dword [rbp - 0x24]
sub eax, r8d
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
mov rcx, rdi
call qword [sym.imp.USER32.dll_MoveWindow]
movzx eax, byte [0x140466eb8]
mov byte [reloc.WS2_32.dll_accept], al
mov rax, qword [0x140466678]
test rax, rax
je 0x1401c394d
mov rax, qword [rax + 0x98]
jmp 0x1401c3950
mov rax, r14
cmp qword [rax + 0x48], 0
jne 0x1401c395c
call fcn.14015f860
call fcn.140160a90
call fcn.140169900
movzx edx, byte [reloc.WS2_32.dll_accept]
lea rcx, [0x140467580]
call fcn.1401420f0
call fcn.14016b9c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
mov rcx, qword [0x1404666c0]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [0x1404666b8]
mov edx, 1
call qword [rax + 0x108]
mov rcx, qword [0x1404666c0]
mov rax, qword [rcx]
lea r8, [rbp + 0x200]
mov rdx, qword [0x1404666b8]
call qword [rax + 0x190]
mov rax, qword [0x140466678]
mov rax, qword [rax + 0x4b00]
mov rcx, qword [rax]
add rcx, 0x48
mov rax, r14
cmp byte [rcx], r14b
cmovne rax, rcx
mov rcx, rax
call fcn.14015ede0
mov rcx, qword [0x1404666b0]
xor r8d, r8d
mov rax, qword [rcx]
cmp byte [reloc.WS2_32.dll_accept], r8b
je 0x1401c3a09
mov edx, 1
jmp 0x1401c3a0b
xor edx, edx
call qword [rax + 0x40]
mov rcx, qword [0x140466578]
cmp byte [0x14046656c], 0
je 0x1401c3a25
mov edx, reloc.WS2_32.dll_recvfrom
jmp 0x1401c3a27
xor edx, edx
call qword [sym.imp.USER32.dll_SetWindowDisplayAffinity]
mov edx, 0xffffffec
mov rcx, qword [0x140466578]
cmp byte [reloc.WS2_32.dll_accept], 0
mov r8d, 0x80088
jne 0x1401c3a4e
mov r8d, 0x800a8
call qword [sym.imp.USER32.dll_SetWindowLongA]
cmp byte [0x140466595], 0
je 0x1401c3b8f
mov rax, qword [0x1404665e8]
lea rcx, [rax - 0x400001]
cmp rcx, r15
ja 0x1401c3a8e
mov rcx, qword [0x140466790]
mov edx, dword [rcx + 0x9c]
add rdx, rax
call fcn.1400f8840
movaps xmm7, xmm0
jmp 0x1401c3a92
movaps xmm7, xmm10
divsd xmm7, xmm12
lea rcx, [rsp + 0x68]
call fcn.140046a50
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rsp + 0x68]
comisd xmm10, xmm7
ja 0x1401c3af0
comisd xmm7, xmm10
jbe 0x1401c3abd
mov al, 1
jmp 0x1401c3acc
ucomisd xmm7, xmm10
jp 0x1401c3aca
jne 0x1401c3aca
xor al, al
jmp 0x1401c3acc
mov al, 0x80
test al, al
jle 0x1401c3af0
mulsd xmm7, xmm13
movaps xmm0, xmm11
subsd xmm0, xmm7
comisd xmm0, xmm6
jbe 0x1401c3ae9
addsd xmm6, xmm7
jmp 0x1401c3af0
movaps xmm6, xmm11
nop dword [rax]
lea rcx, [rsp + 0x70]
call fcn.140046a50
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsp + 0x70]
comisd xmm0, xmm6
ja 0x1401c3ba9
comisd xmm6, xmm0
jbe 0x1401c3b18
mov al, 0xff
jmp 0x1401c3b26
ucomisd xmm6, xmm0
jp 0x1401c3b24
jne 0x1401c3b24
xor al, al
jmp 0x1401c3b26
mov al, 0x80
test al, al
jns 0x1401c3ba9
movaps xmm2, xmm6
subsd xmm2, xmm0
comisd xmm8, xmm2
ja 0x1401c3b62
comisd xmm2, xmm8
jbe 0x1401c3b43
mov al, 1
jmp 0x1401c3b52
ucomisd xmm2, xmm8
jp 0x1401c3b50
jne 0x1401c3b50
xor al, al
jmp 0x1401c3b52
mov al, 0x80
test al, al
js 0x1401c3b62
mov ecx, 0x5265c00
call sub.KERNEL32.dll_Sleep
jmp 0x1401c3af0
movaps xmm0, xmm2
divsd xmm0, xmm9
cvttsd2si rcx, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
mulsd xmm1, xmm9
comisd xmm2, xmm1
jbe 0x1401c3b85
inc rcx
call sub.KERNEL32.dll_Sleep
jmp 0x1401c3af0
movsxd rax, dword [reloc.WS2_32.dll_accept]
test eax, eax
je 0x1401c3ba9
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x60]
call fcn.14005dc80
cmp byte [0x140466516], 0
je 0x1401c3810
jmp 0x1401c3bbf
mov byte [0x140466516], 1
call fcn.1401564a0
call fcn.1401c4210
mov rcx, qword [0x140466578]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.USER32.dll_UnregisterClassA]
nop
lea rcx, [rbp + 8]
call fcn.14005bde0
nop
lea rcx, [rbp + 0x28]
call fcn.14005bde0
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1402889f0
lea r11, [rsp + 0x3b0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop rbp
ret