Function at 0x180012270
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x270]
sub rsp, 0x370
mov rax, qword [0x1800d73f8]
xor rax, rsp
mov qword [rbp + 0x260], rax
mov r15d, r9d
mov dword [rsp + 0x44], r9d
mov r14, r8
mov qword [rsp + 0x60], rdx
mov r13, rcx
movdqa xmm0, xmmword [0x1800d0e40]
movdqa xmmword [rbp + 0x190], xmm0
mov byte [rbp + 0x180], 0
movdqa xmm1, xmm0
movdqa xmmword [rbp + 0x1b0], xmm0
mov byte [rbp + 0x1a0], 0
movdqa xmmword [rbp + 0x1d0], xmm0
mov byte [rbp + 0x1c0], 0
movdqa xmmword [rbp + 0x1f0], xmm0
mov byte [rbp + 0x1e0], 0
movdqa xmmword [rbp + 0x220], xmm0
mov byte [rbp + 0x210], 0
movdqa xmmword [rbp + 0x240], xmm0
mov byte [rbp + 0x230], 0
xor ebx, ebx
mov qword [rbp + 0x20], rbx
mov word [rbp + 0x28], bx
movdqu xmmword [rbp + 0x3a], xmm0
mov byte [rbp + 0x2a], bl
mov qword [rbp - 0x10], rbx
mov word [rbp - 8], bx
movdqu xmmword [rbp + 0xa], xmm0
mov byte [rbp - 6], bl
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
movdqa xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x60], rbx
lea ecx, [rbx + 0x30]
call fcn.1800aa7b0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x68], rbx
xorps xmm2, xmm2
movsd qword [rbp + 0x70], xmm2
mov qword [rbp + 0x78], rbx
mov dword [rbp + 0x80], 1
mov qword [rbp + 0x88], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x90], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xa0], xmm1
movdqa xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xc8], 0xffffffffffffffff
mov dword [rbp + 0xd0], ebx
xor eax, eax
movups xmmword [rbp + 0xd8], xmm0
movups xmmword [rbp + 0xe8], xmm0
movups xmmword [rbp + 0xf8], xmm0
movups xmmword [rbp + 0x108], xmm0
mov qword [rbp + 0x118], rax
movdqa xmm0, xmmword [0x1800d0e40]
movdqa xmmword [rbp + 0x130], xmm0
mov byte [rbp + 0x120], al
mov word [rbp + 0x140], bx
mov dword [rbp + 0x144], ebx
mov qword [rbp + 0x148], rbx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x150], xmm0
movsd qword [rbp + 0x160], xmm2
mov byte [rbp + 0x168], al
mov qword [rbp + 0x16c], rbx
mov edi, r15d
lea esi, [r15 + 0x78c]
mov r12d, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x44]
cmp r15d, esi
jae 0x180012678
lea ecx, [rax + 0x6f]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x40], eax
nop word [rax + rax]
mov edx, 0x6e
cmp edi, 0x21b
ja 0x180012565
je 0x180012556
mov eax, edi
sub eax, 0x3b
je 0x180012545
sub eax, 0xcc
je 0x180012539
sub eax, 0x12
je 0x18001252b
sub eax, 0x78
je 0x1800124fd
cmp eax, 0x2f
jne 0x180012664
mov ecx, dword [r13]
mov rax, qword [rsp + 0x60]
mov edx, dword [rax]
shl edx, cl
mov ecx, 0x6f
cmp dword [r14], 0
mov eax, dword [0x40007400]
je 0x1800124ed
or eax, edx
mov dword [0x40007400], eax
jmp 0x180012664
not edx
and eax, edx
mov dword [0x40007400], eax
jmp 0x180012664
lea rcx, [rbp + 0x250]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x180012507
movzx eax, word [0x1800c7f64]
mov word [rcx], ax
mov word [rbp + 0x251], dx
mov ecx, 0x6f
jmp 0x180012664
xor r12d, r12d
xor edx, edx
mov dword [rsp + 0x40], edx
jmp 0x180012668
mov byte [rbp + 0x250], 0
jmp 0x180012664
movzx eax, word [r13]
mov word [0x1800d700c], ax
jmp 0x180012664
mov dword [rbp + 0x252], 0x632e62
jmp 0x180012664
mov eax, edi
sub eax, 0x2a5
je 0x180012644
sub eax, 0x12
je 0x18001263a
sub eax, 0x78
je 0x1800125e0
cmp eax, 0x8a
jne 0x180012664
lea rax, [rbp + 0x250]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800125a0
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0x180]
call fcn.180056430
mov r8d, 1
lea rdx, [0x1800c1944]
lea rcx, [rbp + 0x1a0]
call fcn.180056430
mov ecx, 0x6f
jmp 0x180012664
mov edx, 0xed
lea rcx, [0x1800d7108]
call fcn.1800546e0
test al, al
jne 0x180012625
mov eax, 0xbd
nop word [rax + rax]
cmp eax, 0xbd
je 0x180012614
cmp eax, 0x4fbc
je case.0x1800126c5.12
jmp 0x180012619
mov ebx, 1
add eax, 0x4eff
cmp eax, 0x9dfe
jbe 0x180012600
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov ecx, 0x6f
jmp 0x180012664
mov r12d, dword [0x40007400]
jmp 0x180012664
mov word [rbp + 0x255], cx
mov eax, dword [str.m.ph]
mov dword [rbp + 0x256], eax
movzx eax, byte [0x1800c7f6c]
mov byte [rbp + 0x25a], al
mov edx, dword [rsp + 0x40]
add edi, 0x8a
cmp edi, esi
jb 0x180012480
jmp 0x180012680
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0x40], edx
lea r14d, [r15 + 0xf]
cmp r15d, r14d
jae case.0x1800126c5.12
lea esi, [r15 - 0x107]
lea r8, [0x180000000]
mov r9d, 0x1bb
lea r10, [0x180011af0]
mov r15, qword [rsp + 0x68]
mov eax, dword [rsp + 0x44]
cmp esi, 0x13
ja case.default.0x1800126c5
mov ecx, dword [r8 + rsi*4 + 0x12c78]
add rcx, r8
jmp rcx
mov ecx, dword [r13]
mov eax, 0xffe
shl eax, cl
not eax
and r12d, eax
mov rax, qword [rsp + 0x60]
mov edx, dword [rax + 0xc]
or edx, dword [rax + 8]
or edx, dword [rax + 4]
or edx, dword [rax]
mov dword [rsp + 0x40], edx
jmp case.0x1800126c5.13
mov word [rsp + 0x48], r9w
lea r9, [rsp + 0x48]
lea r8, [0x1800d7168]
lea rdx, [rbp + 0x20]
mov ecx, 0x20
call fcn.1800552f0
mov edx, dword [rsp + 0x40]
lea r8, [0x180000000]
mov r9d, 0x1bb
lea r10, [0x180011af0]
jmp case.0x1800126c5.13
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x20]
lea r8, [0x180038620]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r15, rax
jmp 0x180012710
mov ecx, dword [r13]
mov eax, edx
shl eax, cl
or r12d, eax
mov dword [0x40007400], r12d
jmp case.0x1800126c5.13
mov qword [rbp - 0x40], r10
xor edx, edx
mov r8d, 0xf3
lea rcx, [rbp - 0x40]
call fcn.180066440
mov edi, 0xda
cmp edi, 0x134
ja 0x1800127dd
je 0x1800127bf
mov eax, edi
sub eax, 0x45
je 0x1800127ef
sub eax, 0x95
je 0x1800127a6
cmp eax, 0x1f
jne 0x1800127ef
mov eax, dword [rbp + 0x58]
jmp 0x1800127ef
lea rax, [rsp + 0x70]
mov qword [rbp + 0x50], rax
lea rax, [0x1800d7100]
mov qword [rbp + 0x150], rax
jmp 0x1800127ef
mov dword [rsp + 0x20], 0x111
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x158]
xor ecx, ecx
call fcn.1800754a0
jmp 0x1800127ef
mov eax, edi
sub eax, 0x153
je 0x1800127ef
cmp eax, 0x5a
je 0x180012710
add edi, 0x5a
cmp edi, 0x350
jae 0x180012710
jmp 0x180012784
mov r9d, 0xcb
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.180014de0
lea rax, [rbp + 0x20]
mov qword [rbp - 0x38], rax
mov rdx, qword [rsp + 0x78]
cmp rdx, qword [rbp - 0x80]
je 0x18001283a
lea rax, [rbp + 0x20]
mov qword [rdx], rax
add qword [rsp + 0x78], 8
jmp 0x180012710
lea r8, [rbp - 0x38]
lea rcx, [rsp + 0x70]
call fcn.180001200
jmp 0x180012710
mov word [rbp + 0x200], r9w
lea r8, [rbp + 0x1c0]
mov edx, 0x9d
xor ecx, ecx
call fcn.180045170
jmp 0x180012710
mov word [rsp + 0x50], r9w
mov r9d, 0x29
lea r8, [0x1800d7188]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x10]
call fcn.180004760
jmp 0x180012710
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0xf8
call fcn.180004990
jmp 0x180012710
mov dword [rsp + 0x30], 0xae
mov qword [rsp + 0x28], 0
lea rax, [rbp + 0x180]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp + 0x210]
xor edx, edx
xor ecx, ecx
call fcn.18001d5d0
jmp 0x180012710
mov eax, dword [0x1800d71b0]
mov dword [rsp + 0x58], eax
lea r8, [rsp + 0x70]
mov edx, 0x12d
lea rcx, [rsp + 0x58]
call fcn.18004c4f0
lea rax, [rsp + 0x70]
mov qword [rbp - 0x30], rax
mov eax, dword [0x1800d71b0]
mov dword [rbp - 0x28], eax
mov eax, dword [0x1800d71b4]
mov dword [rbp - 0x24], eax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x20], xmm0
jmp 0x180012710
test r15, r15
jne 0x18001295c
mov ecx, 0x97
mov eax, ecx
sub eax, 0x96
je case.0x1800126c5.12
cmp eax, 1
jne 0x180012952
mov ebx, eax
dec ecx
cmp ecx, 0x95
ja 0x180012942
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180012710
lea rax, [rbp - 0x10]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x78]
cmp rax, qword [rbp - 0x80]
je 0x18001298d
lea rcx, [rbp - 0x10]
mov qword [rax], rcx
add qword [rsp + 0x78], 8
jmp case.0x1800126c5.13
lea r8, [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.180001200
jmp 0x180012710
xor ebx, ebx
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
inc esi
cmp eax, r14d
jb 0x1800126b1
lea rcx, [rbp + 0xc8]
call fcn.1800032d0
mov rdi, qword [rbp + 0xb0]
test rdi, rdi
je 0x180012a47
mov rsi, qword [rbp + 0xb8]
cmp rdi, rsi
je 0x1800129f9
mov rcx, rdi
call fcn.180055a90
add rdi, 0x20
cmp rdi, rsi
jne 0x1800129e1
mov rdi, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc0]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x180012a28
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012a85
mov rcx, rdi
call fcn.1800aa7ec
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xb0], xmm0
xor r14d, r14d
mov qword [rbp + 0xc0], r14
jmp 0x180012a4a
xor r14d, r14d
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x180012aa3
mov rdx, qword [rbp + 0xa8]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012a8c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180012a8c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800aa7ec
mov qword [rbp + 0x98], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
lea rcx, [rbp + 0x58]
call fcn.180003200
nop
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x180012b37
mov rsi, qword [rbp - 0x70]
cmp rdi, rsi
je 0x180012ad8
mov rcx, rdi
call fcn.180002ac0
add rdi, 0x28
cmp rdi, rsi
jne 0x180012ac3
mov rdi, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x68]
sub rcx, rdi
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, rdi
cmp rdx, 0x1000
jb 0x180012b23
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012b75
mov rcx, rdi
call fcn.1800aa7ec
mov qword [rbp - 0x78], r14
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x180012b8e
mov rax, qword [rbp - 0x80]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012b7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180012b7c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800aa7ec
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r14
mov rdx, qword [rbp + 0x12]
cmp rdx, 0x10
jb 0x180012bcc
inc rdx
mov rcx, qword [rbp - 6]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012bc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180012bc7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800aa7ec
movdqa xmm0, xmmword [0x1800d0e40]
movdqu xmmword [rbp + 0xa], xmm0
mov byte [rbp - 6], 0
mov rdx, qword [rbp + 0x42]
cmp rdx, 0x10
jb 0x180012c1b
inc rdx
mov rcx, qword [rbp + 0x2a]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012c16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180012c16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800aa7ec
movdqa xmm0, xmmword [0x1800d0e40]
movdqu xmmword [rbp + 0x3a], xmm0
mov byte [rbp + 0x2a], 0
lea rcx, [rbp + 0x210]
call fcn.180002e20
nop
lea rcx, [rbp + 0x180]
call fcn.180002ed0
mov eax, ebx
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.1800aafa0
lea r11, [rsp + 0x370]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret