Function at 0x140012130
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
movaps xmmword [rax - 0x18], xmm6
mov rax, qword [0x14016d8a0]
xor rax, rsp
mov qword [rbp + 0x37], rax
xor r14d, r14d
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [0x140011430]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [0x1400118c0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [0x1400119f0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [0x1400114d0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [0x1400117d0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [0x1400115c0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [0x140011d60]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [0x140011ca0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [0x140011f80]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
call fcn.140004840
mov rax, qword [0x140175a48]
mov rax, qword [rax]
mov qword [rbp - 9], rax
cmp byte [rax + 0x19], r14b
jne 0x140012384
lea rbx, [rax + 0x20]
mov rdx, rbx
lea rcx, [rbp - 1]
call fcn.140006730
lea rdx, [rbx + 0x20]
lea rcx, [rbp + 0x1f]
call fcn.1400102d0
mov rax, qword [0x140175ac8]
cmp rax, qword [0x140175ad0]
je 0x1400122d2
lea rdx, [rbp - 1]
mov rcx, rax
call fcn.140006730
add qword [0x140175ac8], 0x20
jmp 0x1400122e5
lea r8, [rbp - 1]
mov rdx, rax
lea rcx, [0x140175ac0]
call fcn.140010a40
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x140012337
mov rax, qword [rbp + 0x2f]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012326
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400129d5
call fcn.1400ddd4c
mov qword [rbp + 0x1f], r14
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x27], xmm0
mov rdx, qword [rbp + 0x17]
cmp rdx, 0x10
jb 0x140012372
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001236d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400129d5
call fcn.1400ddd4c
lea rcx, [rbp - 9]
call fcn.14005d920
mov rax, qword [rbp - 9]
jmp 0x140012285
call fcn.14000acc0
call fcn.14005eba0
call fcn.14000f010
call fcn.14000aea0
call fcn.14000e7c0
mov dword [0x140175b40], 0x50
mov dword [0x140175b44], 0x40
lea rax, [0x140057710]
mov qword [0x140175b48], rax
mov qword [0x140175b50], r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [0x140175b58], rax
xorps xmm0, xmm0
movdqa xmmword [0x140175b60], xmm0
xorps xmm1, xmm1
movdqa xmmword [0x140175b70], xmm1
lea rbx, [0x14014d200]
mov qword [0x140175b80], rbx
mov qword [0x140175b88], r14
lea rcx, [0x140175b40]
call qword [sym.imp.USER32.dll_RegisterClassExA]
mov qword [rsp + 0x58], r14
mov rax, qword [0x140175b58]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], 0x1c2
mov dword [rsp + 0x30], 0x226
mov dword [rsp + 0x28], 0x64
mov dword [rsp + 0x20], 0x64
mov r9d, 0x80000000
mov r8, rbx
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov qword [0x140175b30], rax
mov edx, 0xa
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x140175b30]
call qword [sym.imp.USER32.dll_UpdateWindow]
nop
mov ecx, 0x20
call qword [sym.imp.d3d9.dll_Direct3DCreate9]
mov rcx, rax
mov qword [0x140175b28], rax
test rax, rax
je 0x140012537
mov qword [0x140175b90], r14
mov qword [0x140175b9c], r14
mov dword [0x140175ba4], r14d
mov qword [0x140175bac], r14
mov dword [0x140175bb4], r14d
mov qword [0x140175bc4], r14
mov dword [0x140175bb8], 1
mov dword [0x140175ba8], 1
mov dword [0x140175b98], r14d
mov dword [0x140175bbc], 1
mov dword [0x140175bc0], 0x50
mov dword [0x140175bcc], 1
mov rax, qword [rax]
lea rdx, [0x140175b38]
mov qword [rsp + 0x30], rdx
lea rdx, [0x140175b90]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x40
mov r9, qword [0x140175b30]
xor edx, edx
lea r8d, [rdx + 1]
call qword [rax + 0x80]
nop
call fcn.140057950
movabs rsi, 0x7fffffffffffffff
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14001278d
movabs rdi, 0x7ffffffffefc99bf
movss xmm6, dword [0x140150124]
nop word [rax + rax]
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 1]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x1400125c8
nop
lea rcx, [rbp - 1]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 1]
call qword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [rbp + 7], 0x12
je 0x1400125dd
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 1]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x140012590
mov rax, qword [0x140175988]
test rax, rax
je 0x1400125ed
mov rcx, qword [rax + 0x98]
jmp 0x1400125f0
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x14016e660]
jmp 0x14001261e
mov rcx, r14
cmp qword [rcx + 0x18], 0
jne 0x140012613
test rax, rax
je 0x140012613
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x140012613
cmp qword [rcx], 0
je 0x140012613
call fcn.1400461f0
call fcn.140046c50
call fcn.140023f00
nop
call fcn.14005cdb0
nop
call fcn.1400266a0
mov rcx, qword [0x140175b38]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 7]
call qword [rax + 0x1c8]
mov rcx, qword [0x140175b38]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 0x1b]
call qword [rax + 0x1c8]
mov rcx, qword [0x140175b38]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 0xae
call qword [rax + 0x1c8]
mov rcx, qword [0x140175b38]
mov rax, qword [rcx]
mov dword [rsp + 0x30], r14d
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xff000000
mov r9d, 3
xor r8d, r8d
xor edx, edx
call qword [rax + 0x158]
mov rcx, qword [0x140175b38]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x1400126ed
call fcn.1400269f0
mov rax, qword [0x140175988]
mov rax, qword [rax + 0x4088]
mov rcx, qword [rax]
add rcx, 0x48
mov rax, r14
cmp byte [rcx], r14b
cmovne rax, rcx
mov rcx, rax
call fcn.140045c40
mov rcx, qword [0x140175b38]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x140175b38]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + 0x88]
cmp eax, 0x88760868
jne 0x14001272b
mov rcx, qword [0x140175b38]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, 0x88760869
jne 0x14001272b
call fcn.140057890
nop
call fcn.1400dc8ac
mov rbx, rax
call fcn.1400dc890
cmp rbx, 0x989680
jne 0x140012747
imul rax, rax, 0x64
jmp 0x140012762
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, rdi
jge 0x140012773
add rax, 0x1036640
mov qword [rbp - 9], rax
jmp 0x140012777
mov qword [rbp - 9], rsi
lea rcx, [rbp - 9]
call fcn.1400129e0
cmp byte [reloc.WS2_32.dll_accept], 0
jne 0x140012570
call fcn.14005ed90
call fcn.1400dc8ac
mov rbx, rax
call fcn.1400dc890
cmp rbx, 0x989680
jne 0x1400127ae
imul rax, rax, 0x64
jmp 0x1400127c9
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
movabs rcx, 0x7ffffffffd9da5ff
cmp rax, rcx
jge 0x1400127e4
add rax, 0x2625a00
mov qword [rbp - 9], rax
jmp 0x1400127e8
mov qword [rbp - 9], rsi
lea rcx, [rbp - 9]
call fcn.1400129e0
nop
mov rcx, qword [0x140175988]
test rcx, rcx
je 0x140012807
mov rdi, qword [rcx + 0x98]
jmp 0x14001280a
mov rdi, r14
lea rsi, [rcx + 8]
test rcx, rcx
je 0x140012884
mov rbx, qword [rcx + 0x98]
test rbx, rbx
je 0x140012884
cmp qword [rbx], 0
je 0x140012884
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x140012842
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rbx + 8], r14
mov rcx, qword [0x140175988]
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14001285f
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rbx + 0x10], r14
mov rcx, qword [0x140175988]
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x140012884
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rbx + 0x18], r14
mov rcx, qword [0x140175988]
mov rax, qword [rcx + 0x50]
mov qword [rax + 8], r14
mov rdx, qword [rdi]
test rdx, rdx
je 0x14001289c
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x140175988]
mov qword [rsi + 0x80], r14
mov qword [rsi + 0x90], r14
test rcx, rcx
je 0x1400128b5
dec dword [rcx + 0xec]
mov rcx, rdi
call fcn.1400f0c34
mov rax, qword [0x140175988]
test rax, rax
je 0x1400128d2
mov rbx, qword [rax + 0x90]
jmp 0x1400128d5
mov rbx, r14
lea rdi, [rax + 8]
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x1400128ef
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [0x140175988]
mov qword [rdi + 0x78], r14
mov qword [rdi + 0x88], r14
test rax, rax
je 0x140012905
dec dword [rax + 0xec]
mov rcx, rbx
call fcn.1400f0c34
mov rbx, qword [0x140175988]
mov qword [0x140175988], rbx
call fcn.1400254a0
mov qword [0x140175988], r14
test rbx, rbx
je 0x14001294f
mov rcx, rbx
call fcn.140035920
mov rax, qword [0x140175988]
test rax, rax
je 0x140012946
dec dword [rax + 0xec]
mov rcx, rbx
call fcn.1400f0c34
nop
mov rcx, qword [0x140175b38]
test rcx, rcx
je 0x140012968
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [0x140175b38], r14
mov rcx, qword [0x140175b28]
test rcx, rcx
je 0x140012981
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [0x140175b28], r14
mov rcx, qword [0x140175b30]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [0x140175b58]
mov rcx, qword [0x140175b80]
call qword [sym.imp.USER32.dll_UnregisterClassA]
mov eax, 0x8d
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1400ddaa0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop rbp
ret
call fcn.1400ed164
int3