Function at 0x13f39c3b0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x13f4c11d0]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov rbx, rcx
call fcn.13f39b6d0
xor edx, edx
lea rcx, [rbp - 0x80]
lea r8d, [rdx + 0x48]
call fcn.13f45f5e0
mov byte [rsp + 0x64], 0x9b
mov eax, 0x66666667
mov byte [rsp + 0x60], 0x9b
movsx r8d, byte [rsp + 0x60]
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub r8d, eax
je 0x13f39c43d
sub r8d, 1
je 0x13f39c439
sub r8d, 4
je 0x13f39c435
cmp r8d, 2
je 0x13f39c431
movzx eax, byte [rsp + 0x60]
jmp 0x13f39c43f
mov al, 0x9d
jmp 0x13f39c43f
mov al, 0x7f
jmp 0x13f39c43f
mov al, 0x89
jmp 0x13f39c43f
mov al, 0x62
xor al, 0x6d
mov byte [rsp + 0x65], al
mov eax, 0x66666667
mov byte [rsp + 0x60], 0x43
movsx ecx, byte [rsp + 0x60]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
je 0x13f39c48b
sub ecx, 1
je 0x13f39c487
sub ecx, 4
je 0x13f39c483
cmp ecx, 2
je 0x13f39c47f
movzx eax, byte [rsp + 0x60]
jmp 0x13f39c48d
mov al, 0x9d
jmp 0x13f39c48d
mov al, 0x7f
jmp 0x13f39c48d
mov al, 0x89
jmp 0x13f39c48d
mov al, 0x62
xor al, 0x71
mov r10d, 0xcf5e23a8
mov byte [rsp + 0x66], al
movabs r11, 0x19ebc4750
xor eax, eax
xor edi, edi
mov byte [rsp + 0x67], al
mov r9d, edi
mov r8d, edi
movzx eax, byte [rsp + 0x64]
add al, r8b
mov byte [rsp + 0x60], al
mov eax, 0x66666667
movsx ecx, byte [rsp + 0x60]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
je 0x13f39c4fe
sub ecx, 1
je 0x13f39c4fa
sub ecx, 4
je 0x13f39c4f6
cmp ecx, 2
je 0x13f39c4f2
movzx eax, byte [rsp + 0x60]
jmp 0x13f39c500
mov al, 0x9d
jmp 0x13f39c500
mov al, 0x7f
jmp 0x13f39c500
mov al, 0x89
jmp 0x13f39c500
mov al, 0x62
xor byte [rsp + r9 + 0x65], al
add r8, r10
inc r9
cmp r8, r11
jb 0x13f39c4b1
lea rdx, [rsp + 0x65]
mov byte [rsp + 0x67], dil
lea rcx, [rbp + 0x10]
call fcn.13f468be0
lea rax, [0x13f39c350]
mov dword [rbp - 0x80], 3
mov edx, 0x7f00
mov qword [rbp - 0x78], rax
xor ecx, ecx
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rbx
call qword [sym.imp.USER32.dll_LoadIconA]
mov edx, 0x7f00
xor ecx, ecx
mov qword [rbp - 0x60], rax
call qword [sym.imp.USER32.dll_LoadCursorA]
mov qword [rbp - 0x58], rax
lea rcx, [rbp - 0x80]
lea rax, [rbp + 0x10]
mov qword [rbp - 0x40], rax
call qword [sym.imp.USER32.dll_RegisterClassA]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r10, rax
mov byte [rsp + 0x68], 0x50
mov byte [rsp + 0x60], 0x7b
mov eax, 0x2aaaaaab
movsx ecx, byte [rsp + 0x60]
imul ecx
mov r8d, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*2]
add ecx, ecx
sub r8d, ecx
sub r8d, 1
je 0x13f39c5c5
sub r8d, 2
je 0x13f39c5c1
cmp r8d, 1
je 0x13f39c5bd
movzx eax, byte [rsp + 0x60]
jmp 0x13f39c5c7
mov al, 0xc7
jmp 0x13f39c5c7
mov al, 0x1e
jmp 0x13f39c5c7
mov al, 0xae
xor al, 0x6d
mov byte [rsp + 0x69], al
mov eax, 0x2aaaaaab
mov byte [rsp + 0x60], 0x8f
movsx ecx, byte [rsp + 0x60]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
sub ecx, 1
je 0x13f39c60a
sub ecx, 2
je 0x13f39c606
cmp ecx, 1
je 0x13f39c602
movzx eax, byte [rsp + 0x60]
jmp 0x13f39c60c
mov al, 0xc7
jmp 0x13f39c60c
mov al, 0x1e
jmp 0x13f39c60c
mov al, 0xae
xor al, 0x71
mov r9, rdi
mov byte [rsp + 0x6a], al
mov r8, rdi
xor eax, eax
movabs rbx, 0x166f64e28
mov byte [rsp + 0x6b], al
mov r11d, 0xb37b2714
nop
movzx eax, byte [rsp + 0x68]
add al, 0x2b
add al, r8b
mov byte [rsp + 0x60], al
mov eax, 0x2aaaaaab
movsx ecx, byte [rsp + 0x60]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
sub ecx, 1
je 0x13f39c676
sub ecx, 2
je 0x13f39c672
cmp ecx, 1
je 0x13f39c66e
movzx eax, byte [rsp + 0x60]
jmp 0x13f39c678
mov al, 0xc7
jmp 0x13f39c678
mov al, 0x1e
jmp 0x13f39c678
mov al, 0xae
xor byte [rsp + r9 + 0x69], al
add r8, r11
inc r9
cmp r8, rbx
jb 0x13f39c630
mov qword [rsp + 0x58], rdi
lea rdx, [rsp + 0x69]
mov qword [rsp + 0x50], r10
xor r9d, r9d
mov qword [rsp + 0x48], rdi
xor r8d, r8d
mov qword [rsp + 0x40], rdi
xor ecx, ecx
mov dword [rsp + 0x38], 0xc8
mov dword [rsp + 0x30], 0xc8
mov dword [rsp + 0x28], 0xa
mov dword [rsp + 0x20], 0xa
mov byte [rsp + 0x6b], dil
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov qword [0x13f4c55d0], rax
test rax, rax
je 0x13f39c7b0
call fcn.13f45b75c
cmp eax, 2
jbe 0x13f39c7b0
mov ecx, 8
call fcn.13f45cca0
lea rcx, [0x13f39c340]
mov r9, rax
lea r8, [0x13f39e720]
xor edx, edx
mov qword [rax], rcx
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov dword [rsp + 0x20], edi
call fcn.13f469280
mov qword [rsp + 0x70], rax
test rax, rax
je 0x13f39c7d3
cmp dword [rsp + 0x78], edi
je 0x13f39c7e2
movaps xmm0, xmmword [rsp + 0x70]
lea rcx, [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
call fcn.13f45b740
test eax, eax
jne 0x13f39c7ed
xorps xmm0, xmm0
lea rcx, [rbp - 0x20]
xor r9d, r9d
movdqa xmmword [rsp + 0x70], xmm0
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x13f39c7aa
nop dword [rax]
lea rcx, [rbp - 0x20]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x20]
call qword [sym.imp.USER32.dll_DispatchMessageA]
xor r9d, r9d
lea rcx, [rbp - 0x20]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x13f39c780
cmp dword [rsp + 0x78], edi
jne 0x13f39c7f5
xor eax, eax
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.13f45cc80
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
mov ecx, 6
mov dword [rsp + 0x78], edi
call fcn.13f45b18c
int3
mov ecx, 1
call fcn.13f45b18c
int3
mov ecx, eax
call fcn.13f45b150
int3
call fcn.13f469360
int3