Function at 0x140101aa0
Capabilities:
Hide graphical window

Disassembly:
mov r11, rsp
push rbx
push rdi
push r15
sub rsp, 0x420
mov rax, qword [0x140209b48]
xor rax, rsp
mov qword [rsp + 0x3f0], rax
mov qword [r11 + 0x18], rbp
mov qword [r11 - 0x20], rsi
mov qword [r11 - 0x28], r12
mov rbx, rcx
mov ebp, 1
xor eax, eax
lea rcx, [r11 - 0x168]
mov qword [r11 - 0x30], r13
mov esi, r8d
mov rdi, rdx
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x50], ebp
mov r12d, eax
call fcn.1400012c0
lea rcx, [rsp + 0x1b0]
call fcn.1400012c0
cmp dword [rbx + 0x3ac], r12d
mov dword [rsp + 0x4c], ebp
je 0x140101b1a
mov r15d, dword [rbx + 0x3a8]
jmp 0x140101b26
mov rcx, qword [rbx + 0x78]
call fcn.1400d88f0
mov r15d, eax
mov ecx, dword [rbx + 0x27c]
mov r8d, dword [rbx + 0x3ac]
xor r9d, r9d
sub ecx, 2
mov edx, r9d
mov qword [rsp + 0x400], r14
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x40], r8d
je 0x140101b8f
cmp ecx, ebp
je 0x140101b58
mov r14d, r9d
jmp 0x140101bb9
mov rcx, qword [rbx + 0x280]
lea rdx, [rsp + 0x1b0]
call fcn.1400b4800
mov rcx, qword [rbx + 0x280]
call fcn.1400b5080
mov r8d, dword [rsp + 0x40]
mov r14d, 2
mov edx, r12d
xor r9d, r9d
mov dword [rsp + 0x4c], eax
jmp 0x140101bb9
mov rcx, qword [rbx + 0x280]
call fcn.140011770
lea rcx, [rsp + 0x2d0]
mov rdx, rax
call fcn.140175d10
mov r8d, dword [rsp + 0x40]
mov r14d, ebp
mov edx, r12d
xor r9d, r9d
cmp esi, 3
mov ebp, dword [rbx + 0x380]
mov r13d, dword [rbx + 0x384]
je 0x140101be7
cmp esi, 2
je 0x140101bda
cmp esi, 6
je 0x140101bda
cmp esi, 7
jne 0x140101bf1
mov esi, 1
mov edx, esi
mov dword [rsp + 0x48], edx
jmp 0x140101bf6
mov esi, 1
mov r15d, esi
jmp 0x140101bf6
mov esi, 1
test rdi, rdi
je 0x140101ef1
mov eax, dword [rdi + 4]
bt eax, 9
jae 0x140101c0d
mov r15d, esi
jmp 0x140101c16
bt dword [rdi + 8], 9
cmovb r15d, r9d
bt eax, 0xa
jae 0x140101c22
mov dword [rsp + 0x48], esi
jmp 0x140101c2f
bt dword [rdi + 8], 0xa
cmovb edx, r9d
mov dword [rsp + 0x48], edx
bt eax, 0xb
jae 0x140101c3b
mov dword [rsp + 0x40], esi
jmp 0x140101c49
bt dword [rdi + 8], 0xb
cmovb r8d, r9d
mov dword [rsp + 0x40], r8d
bt eax, 0xc
jae 0x140101c5b
mov byte [rbx + 0x21b], 1
mov r12d, esi
jmp 0x140101c6c
bt dword [rdi + 8], 0xc
jae 0x140101c6c
mov byte [rbx + 0x21b], r12b
mov r12d, esi
bt dword [rdi + 4], 0xd
jae 0x140101c7f
mov byte [rbx + 0x218], 1
mov r12d, esi
jmp 0x140101c90
bt dword [rdi + 8], 0xd
jae 0x140101c90
mov byte [rbx + 0x218], 0
mov r12d, esi
bt dword [rdi + 4], 0xe
jae 0x140101ca3
mov byte [rbx + 0x219], 1
mov r12d, esi
jmp 0x140101cb4
bt dword [rdi + 8], 0xe
jae 0x140101cb4
mov byte [rbx + 0x219], 0
mov r12d, esi
bt dword [rdi + 4], 0xf
jae 0x140101cc7
mov byte [rbx + 0x21a], 1
mov r12d, esi
jmp 0x140101cd8
bt dword [rdi + 8], 0xf
jae 0x140101cd8
mov byte [rbx + 0x21a], 0
mov r12d, esi
bt dword [rdi + 4], 0x10
jae 0x140101ceb
mov byte [rbx + 0x21c], 1
mov r12d, esi
jmp 0x140101cfc
bt dword [rdi + 8], 0x10
jae 0x140101cfc
mov byte [rbx + 0x21c], 0
mov r12d, esi
bt dword [rdi + 4], 0x15
jae 0x140101d1f
cmp dword [rbx + 0x3b0], 1
je 0x140101d41
mov rcx, qword [rbx + 0x78]
mov edx, esi
mov dword [rbx + 0x3b0], esi
call fcn.1400da390
jmp 0x140101d41
bt dword [rdi + 8], 0x15
jae 0x140101d41
cmp dword [rbx + 0x3b0], 0
je 0x140101d41
mov rcx, qword [rbx + 0x78]
xor edx, edx
mov dword [rbx + 0x3b0], r9d
call fcn.1400da390
cmp qword [rdi + 0xd8], 0
je 0x140101da2
lea rcx, [rsp + 0x90]
call fcn.1400012c0
movsx edx, byte [rbx + 0x21b]
lea rcx, [rsp + 0x90]
mov r8, rdi
call fcn.140007bd0
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rbx + 0x220]
call fcn.140174640
lea rcx, [rsp + 0x90]
mov dword [rsp + 0x50], 0
mov qword [rbx + 0x220], rax
mov r12d, esi
call fcn.140175010
mov rcx, qword [rdi + 0x40]
test rcx, rcx
je 0x140101e14
call fcn.1400c0420
test rax, rax
mov rsi, rax
jne 0x140101dcc
mov rcx, qword [0x14020b050]
call fcn.1400c0160
test rax, rax
mov rsi, rax
je 0x140101e0c
mov rdx, qword [rsi]
mov rcx, qword [rbx + 0x108]
call fcn.140174640
cmp qword [rbx + 0xf8], 0
mov qword [rbx + 0x108], rax
je 0x140101e0c
mov rcx, rsi
call fcn.1400c00e0
mov rcx, qword [rbx + 0xf8]
xor r9d, r9d
movsxd r8, eax
mov edx, 0x14e
call qword [sym.imp.USER32.dll_SendMessageW]
mov esi, 1
mov r12d, esi
mov eax, dword [rdi + 0xb8]
cmp eax, 0xffffffff
je 0x140101e80
cmp dword [rdi + 0xb4], 0
mov ebp, eax
jne 0x140101e75
cmp eax, 2
je 0x140101e5d
cmp eax, 4
jle 0x140101e72
cmp eax, 7
jle 0x140101e48
cmp eax, 8
jle 0x140101e72
cmp eax, 0xb
jg 0x140101e72
xor r13d, r13d
jmp 0x140101e75
movsx ecx, byte [0x14020ad41]
call fcn.140009440
test eax, eax
je 0x140101e72
xor r13d, r13d
jmp 0x140101e75
movsx ecx, byte [0x14020ad42]
call fcn.140009440
test eax, eax
je 0x140101e72
xor r13d, r13d
jmp 0x140101e75
mov r13d, esi
mov r12d, esi
mov dword [rsp + 0x44], 0
mov eax, dword [rdi + 0xb4]
test eax, eax
je 0x140101e9c
xor r13d, r13d
test eax, eax
mov r12d, esi
setg r13b
xor eax, eax
mov dword [rsp + 0x44], eax
mov rdx, qword [rdi + 0x28]
test rdx, rdx
je 0x140101eba
lea rcx, [rsp + 0x2d0]
call fcn.140175d10
mov r14d, esi
mov r12d, esi
jmp 0x140101ef1
mov rdx, qword [rdi + 0x60]
test rdx, rdx
je 0x140101ee5
lea rcx, [rsp + 0x1b0]
call fcn.140175d10
mov eax, dword [rdi + 0xa4]
mov r14d, 2
mov dword [rsp + 0x4c], eax
mov r12d, esi
jmp 0x140101ef1
bt dword [rdi], 0xa
jae 0x140101ef1
xor r14d, r14d
mov r12d, esi
movsx esi, byte [reloc.WS2_32.dll_bind]
mov rdx, qword [rbx + 0x220]
mov rcx, qword [rbx + 0x88]
mov dword [rbx + 0x2dc], 1
call fcn.1400d4930
test esi, esi
mov dword [rbx + 0x2dc], 0
je 0x140101f4f
cmp esi, 2
je 0x140101f43
mov rcx, qword [rbx + 0x88]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov edx, 0xb1
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140101f4f
mov rcx, qword [rbx + 0x88]
call fcn.1400db480
cmp dword [rbx + 0x3b0], 2
jne 0x140101f6b
mov rax, qword [rbx + 0x220]
mov rcx, qword [rbx + 0x78]
movzx edx, byte [rax]
call fcn.1400da390
xor r9d, r9d
mov r8d, r13d
mov edx, ebp
mov rcx, rbx
call fcn.14012d350
mov eax, dword [rdi + 0xbc]
mov r8d, dword [rbx + 0x450]
test eax, eax
je 0x140101fb8
mov r8d, eax
mov eax, dword [0x1401f9bcc]
mov ecx, 1
cmp r8d, eax
cmovl r8d, eax
mov eax, dword [0x1401f9bd0]
cmp r8d, eax
cmovg r8d, eax
cmp r8d, 1
cmovl r8d, ecx
jmp 0x140101fbd
mov ecx, 1
mov eax, dword [rdi]
bt eax, 0x13
jae 0x140101fd1
xor edx, edx
mov rcx, rbx
call fcn.14013b200
jmp 0x140101fe1
bt eax, 0x14
jae 0x140101fe1
mov edx, ecx
mov rcx, rbx
call fcn.14013b200
mov rcx, rbx
call fcn.1400f8ce0
mov rcx, rbx
call fcn.1400f4cb0
mov r11d, dword [rbx + 0x3ac]
xor r13d, r13d
test r11d, r11d
mov eax, r13d
mov ecx, r13d
setne cl
cmp dword [rsp + 0x40], eax
mov ebp, r13d
setne al
cmp ecx, eax
setne bpl
test r11d, r11d
je 0x140102024
mov esi, dword [rbx + 0x3a8]
jmp 0x14010202f
mov rcx, qword [rbx + 0x78]
call fcn.1400d88f0
mov esi, eax
mov rcx, qword [rbx + 0x78]
call fcn.1400d8950
mov edx, r13d
mov ecx, r13d
mov r13d, dword [rsp + 0x48]
test eax, eax
setne dl
test r13d, r13d
setne cl
xor r8d, r8d
cmp edx, ecx
setne r8b
test ebp, ebp
jne 0x1401020a4
xor ebp, ebp
test esi, esi
mov ecx, ebp
setne cl
test r15d, r15d
mov eax, ebp
setne al
cmp ecx, eax
jne 0x1401020a4
test r8d, r8d
je 0x140102292
test r13d, r13d
je 0x140102090
mov rcx, qword [rbx + 0x78]
lea edx, [rbp + 7]
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140102292
mov rcx, qword [rbx + 0x78]
mov edx, 9
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140102292
mov rcx, qword [rbx + 0x78]
mov ebp, 1
mov edx, ebp
call qword [sym.imp.USER32.dll_ShowWindow]
cmp dword [rsp + 0x40], 0
je 0x1401021b1
xor esi, esi
cmp dword [rbx + 0x3ac], esi
jne 0x140102111
lea rdx, [rbx + 0x388]
lea rcx, [rbx + 0x398]
call qword [sym.imp.USER32.dll_CopyRect]
mov rcx, qword [rbx + 0x78]
xor edx, edx
mov dword [rbx + 0x3ac], ebp
call qword [sym.imp.USER32.dll_SetMenu]
mov rcx, qword [rbx + 0x78]
call fcn.1400d7670
mov rcx, qword [rbx + 0x78]
lea edx, [rbp - 0x11]
and eax, 0xff3bffff
mov r8d, eax
call qword [sym.imp.USER32.dll_SetWindowLongW]
lea esi, [rbp + 0x1f]
mov rcx, qword [rbx + 0x78]
call fcn.1400d7ae0
test rax, rax
je 0x14010214b
lea rdx, [rsp + 0x68]
mov rcx, rax
mov dword [rsp + 0x68], 0x28
call qword [sym.imp.USER32.dll_GetMonitorInfoW]
lea rdx, [rsp + 0x6c]
lea rcx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [rsp + 0x64]
jmp 0x14010216d
xor eax, eax
xor ecx, ecx
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, ebp
mov dword [rsp + 0x60], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0x64], eax
mov r9d, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x58]
xor ebp, ebp
mov ecx, ebp
test r15d, r15d
setne cl
or esi, 0x14
sub eax, r9d
mov dword [rbx + 0x3a8], ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x30], esi
sub ecx, r8d
mov dword [rsp + 0x28], eax
xor edx, edx
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbx + 0x78]
call qword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x14010226d
xor ebp, ebp
cmp dword [rbx + 0x3ac], ebp
mov esi, ebp
je 0x140102238
mov rdx, qword [rbx + 0x68]
mov rcx, qword [rbx + 0x78]
lea rbp, [rbx + 0x398]
mov dword [rbx + 0x3ac], esi
call qword [sym.imp.USER32.dll_SetMenu]
mov rcx, qword [rbx + 0x78]
call fcn.1400d7670
mov rcx, qword [rbx + 0x78]
mov edx, 0xfffffff0
or eax, 0xc40000
mov r8d, eax
call qword [sym.imp.USER32.dll_SetWindowLongW]
test rbp, rbp
mov esi, 0x20
je 0x140102236
mov ecx, dword [rbp + 0xc]
mov r9d, dword [rbp + 4]
mov r8d, dword [rbp]
mov eax, dword [rbp + 8]
sub ecx, r9d
mov dword [rsp + 0x30], reloc.WS2_32.dll_gethostbyname
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbx + 0x78]
sub eax, r8d
xor edx, edx
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
xor ebp, ebp
jmp 0x140102259
xor ebp, ebp
mov rcx, qword [rbx + 0x78]
or esi, 0x17
xor r9d, r9d
mov dword [rsp + 0x30], esi
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetWindowPos]
test r15d, r15d
je 0x14010226d
mov rcx, qword [rbx + 0x78]
mov edx, 3
call qword [sym.imp.USER32.dll_ShowWindow]
test r13d, r13d
je 0x140102283
mov rcx, qword [rbx + 0x78]
mov edx, 7
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140102292
mov rcx, qword [rbx + 0x78]
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rbx + 0x78]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x1401022c1
mov r15d, 1
mov rcx, rbx
mov edx, r15d
call fcn.14015cb40
mov rcx, qword [rbx + 0x78]
lea edx, [r15 + 4]
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x1401022c7
mov r15d, 1
test r13d, r13d
jne 0x1401023d6
mov rcx, qword [rbx + 0x78]
call fcn.1400e0110
mov r11d, dword [rdi + 0xc4]
test r11d, r11d
je 0x140102338
sub r11d, 1
mov esi, ebp
je 0x140102311
sub r11d, 1
je 0x14010230c
sub r11d, 1
je 0x140102305
cmp r11d, 1
jne 0x140102314
lea esi, [r13 + 6]
jmp 0x140102314
mov esi, 5
jmp 0x140102314
mov esi, r15d
jmp 0x140102314
mov esi, r15d
mov rcx, qword [rbx + 0x3d0]
call qword [sym.imp.USER32.dll_SetFocus]
test esi, esi
je 0x1401023d6
mov edx, esi
mov rcx, rbx
call fcn.14013cdd0
jmp 0x1401023d6
cmp dword [rsp + 0x50], 0
je 0x140102392
movsx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x140102383
cmp eax, 2
je 0x140102377
mov rcx, qword [rbx + 0x88]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov edx, 0xb1
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x88]
call qword [sym.imp.USER32.dll_SetFocus]
jmp 0x1401023d6
mov rcx, qword [rbx + 0x88]
call fcn.1400db480
mov rcx, qword [rbx + 0x88]
call qword [sym.imp.USER32.dll_SetFocus]
jmp 0x1401023d6
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
je 0x1401023c9
cmp eax, 2
je 0x1401023bd
mov rcx, qword [rbx + 0x88]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov edx, 0xb1
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1401023c9
mov rcx, qword [rbx + 0x88]
call fcn.1400db480
mov rcx, qword [rbx + 0x88]
call qword [sym.imp.USER32.dll_SetFocus]
mov rdx, qword [rdi + 0x38]
mov rsi, rbp
test rdx, rdx
je 0x140102401
mov rcx, qword [0x14020ac20]
call fcn.140003e70
test rax, rax
mov rsi, rax
je 0x140102401
bt dword [rax + 0x10], 0xf
jb 0x14010248d
sub r14d, 1
je 0x140102442
cmp r14d, 1
je 0x140102421
mov r13d, dword [rsp + 0x44]
mov rcx, rbx
mov edx, r13d
call fcn.14015ef50
mov ebp, eax
jmp 0x140102492
mov r13d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x1b8]
mov r9d, r13d
mov rcx, rbx
call fcn.14015f2d0
mov ebp, eax
jmp 0x140102492
lea rcx, [rsp + 0x90]
call fcn.1400012c0
mov rdx, qword [rsp + 0x2d8]
lea rcx, [rsp + 0x90]
call fcn.140179ea0
mov r13d, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x98]
mov r8d, r13d
mov rcx, rbx
call fcn.14015f0a0
lea rcx, [rsp + 0x90]
mov ebp, eax
call fcn.140175010
jmp 0x140102492
mov r13d, dword [rsp + 0x44]
test rsi, rsi
mov r14, qword [rsp + 0x400]
je 0x1401024ac
mov rdx, rsi
mov rcx, rbx
call fcn.140100fc0
jmp 0x1401024f9
bt dword [rdi], 0x16
jae 0x1401024bc
mov rcx, rbx
call fcn.1400ffff0
jmp 0x1401024f9
test ebp, ebp
je 0x1401024db
mov r9d, r15d
mov r8d, r13d
mov edx, r15d
mov rcx, rbx
mov dword [rsp + 0x20], 0
call fcn.14015e830
jmp 0x1401024f9
test r12d, r12d
je 0x1401024f9
mov r9d, r15d
mov r8d, r13d
mov edx, r15d
mov rcx, rbx
mov dword [rsp + 0x20], 0
call fcn.14015e830
mov rdi, qword [rdi + 0x98]
mov r13, qword [rsp + 0x408]
mov r12, qword [rsp + 0x410]
test rdi, rdi
mov rsi, qword [rsp + 0x418]
mov rbp, qword [rsp + 0x450]
je 0x14010259c
mov rcx, rbx
call fcn.14015dc20
test eax, eax
je 0x140102586
mov rdx, rdi
mov rcx, rbx
call fcn.14015dd30
cmp eax, 0xffffffff
mov edi, eax
je 0x14010259c
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov r9d, r15d
mov r8d, r15d
mov edx, eax
mov rcx, rbx
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 0
call fcn.14013bd50
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.14013aec0
mov rcx, qword [rbx + 0x3d0]
call qword [sym.imp.USER32.dll_SetFocus]
jmp 0x14010259c
mov rcx, qword [rbx + 0x2b8]
mov rdx, rdi
call fcn.140174640
mov qword [rbx + 0x2b8], rax
lea rcx, [rsp + 0x1b0]
call fcn.140175010
lea rcx, [rsp + 0x2d0]
call fcn.140175010
mov rcx, qword [rsp + 0x3f0]
xor rcx, rsp
call fcn.1401a6ae0
add rsp, 0x420
pop r15
pop rdi
pop rbx
ret