Function at 0x18012d140
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
lea ebx, [r9 + 0xf]
mov eax, r9d
mov dword [rsp + 0x30], ebx
cmp r9d, ebx
mov ebx, dword [rsp + 0xb8]
mov r14, rcx
jae case.0x18012d1d0.110
mov r12, qword [rsp + 0x50]
lea r9, [0x180000000]
mov r15, qword [rsp + 0x50]
lea r11, [0x180046af0]
mov rbp, qword [rsp + 0x50]
lea r10, [0x180046ae0]
mov ecx, dword [rsp + 0x30]
nop dword [rax]
add eax, 0xffffff9d
cmp eax, 0x3c
ja case.default.0x18012d1d0
movzx eax, byte [r9 + rax + 0x12d6e0]
mov ecx, dword [r9 + rax*4 + 0x12d6a0]
add rcx, r9
jmp rcx
cmp qword [r14 + 0x18], 0
je case.0x18012d1d0.114
mov r13d, 0x99
mov eax, r13d
sub eax, 0x98
je 0x18012d1ff
cmp eax, 1
jne 0x18012d373
mov r12, qword [r14 + 0x18]
jmp 0x18012d373
cmp qword [r12], 0
je 0x18012d373
nop word [rax + rax]
cmp byte [r12 + 0x18], 1
jne 0x18012d364
mov esi, 0x50
mov eax, esi
sub eax, 0x50
je 0x18012d33f
sub eax, 1
je 0x18012d2fd
cmp eax, 1
jne 0x18012d359
lea r8, [0x1801d60b8]
mov edx, 0x87
mov rcx, r15
call fcn.1800faf60
test rax, rax
je 0x18012d260
cmp dword [rax + 0x88], 0
jne 0x18012d2df
mov edi, 0x11a
nop word [rax + rax]
mov eax, edi
sub eax, 0x117
je case.0x18012d1d0.110
sub eax, 1
je 0x18012d2c5
sub eax, 1
je 0x18012d2aa
cmp eax, 1
jne 0x18012d2d5
xor r9d, r9d
mov qword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0xe3
mov rcx, r15
call fcn.18013a7e0
jmp 0x18012d2d5
mov r9, qword [r12]
lea rdx, str.system.package__d_.memory_controller__d_.channel__d_.dimm__d_.size
mov r8, qword [r14 + 0x20]
mov ecx, 0x20
call fcn.1800eba40
jmp 0x18012d2d5
mov dword [r14 + 0x88], 0
mov ebx, 0xffffffff
dec edi
cmp edi, 0x116
ja 0x18012d270
xor r9d, r9d
mov qword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0xe3
mov rcx, r15
call fcn.18013a7e0
jmp 0x18012d359
lea r8, [rsp + 0x38]
mov dword [rsp + 0x38], 0
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x48], rbp
mov ecx, 0x31
call fcn.1800d7700
mov r8, qword [r12]
lea r9, [rsp + 0x50]
mov edx, 0x126
mov qword [rsp + 0x50], rbp
mov r15, rax
lea rcx, [rax + 0x18]
call fcn.1800c06b0
jmp 0x18012d359
mov rax, qword [r12]
mov rbp, 0xffffffffffffffff
nop word [rax + rax]
inc rbp
cmp byte [rax + rbp], 0
jne 0x18012d350
inc esi
cmp esi, 0x53
jb 0x18012d221
add r12, 0x20
cmp qword [r12], 0
jne 0x18012d210
dec r13d
cmp r13d, 0x97
ja 0x18012d1e3
mov r8, qword [rsp + 0xb0]
lea r9, [0x180000000]
mov rdx, qword [rsp + 0xa8]
lea r10, [0x180046ae0]
lea r11, [0x180046af0]
jmp case.0x18012d1d0.114
mov eax, dword [r14 + 8]
test eax, 0x600
je case.0x18012d1d0.114
xor r8d, r8d
xor ecx, ecx
test eax, 0x1200
jne 0x18012d3e1
mov qword [rsp + 0x28], rcx
mov r9, r14
mov edx, 0xb5
mov qword [rsp + 0x20], rcx
call fcn.180050770
jmp 0x18012d383
xor r9d, r9d
mov dword [rsp + 0x20], 0x53
mov rdx, r14
call fcn.18010f700
jmp 0x18012d383
mov rdi, qword [rsp + 0x40]
lea r8, [0x180032b60]
mov qword [rsp + 0x28], 0
mov r9, rdi
xor ecx, ecx
mov dword [rsp + 0x20], 0
mov qword [rdi + 8], rdx
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [r14], rax
jmp 0x18012d383
cmp qword [r14 + 0x30], 0
je case.0x18012d1d0.114
mov esi, 0x2e
nop dword [rax]
cmp esi, 0x2e
je 0x18012d4ca
cmp esi, 0x1da6
je 0x18012d466
cmp esi, 0x3b1e
jne 0x18012d4d1
mov qword [0x1801d5d78], 0
jmp 0x18012d4d1
movzx ecx, byte [r14 + 0x8c]
mov edx, dword [r14 + 0x98]
call qword [r14 + 0x30]
cmp eax, 0xffffffff
jne 0x18012d4d1
mov edi, 0x4e
mov eax, edi
sub eax, 0x4e
je 0x18012d4a8
sub eax, 0x4a
je 0x18012d49b
cmp eax, 0x4a
jne 0x18012d4bd
mov eax, 0xffffffff
jmp 0x18012d50e
mov qword [0x1801d5d78], 0
jmp 0x18012d4bd
mov r8, qword [r14 + 0x20]
lea rdx, str.LocalAllocationExceedSize
mov ecx, 0x10
call fcn.1800eba40
add edi, 0x4a
cmp edi, 0x12c
jb 0x18012d483
jmp 0x18012d4d1
mov qword [0x1801d5d78], r14
add esi, 0x1d78
cmp esi, 0x5868
jbe 0x18012d440
jmp 0x18012d383
mov rcx, qword [rsp + 0x40]
mov rax, qword [r8]
mov qword [rcx], rax
jmp case.0x18012d1d0.114
mov ecx, 0x50
nop dword [rax]
mov eax, ecx
sub eax, 0x50
je 0x18012d526
cmp eax, 1
jne 0x18012d529
mov eax, ebx
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebx, dword [r14]
inc ecx
cmp ecx, 0x52
jb 0x18012d500
cmp byte [0x1801d5a88], 0
lea r8, [rsp + 0x50]
je 0x18012d569
mov r9, qword [0x1801d5a40]
xor edx, edx
mov qword [rsp + 0x28], 0
xor ecx, ecx
mov dword [rsp + 0x20], 0xe9
mov qword [rsp + 0x50], r11
call fcn.1800ac660
jmp 0x18012d383
mov rcx, qword [0x1801d5a40]
mov edx, 0x22
mov qword [rsp + 0x50], r10
call fcn.180089490
jmp 0x18012d383
mov ecx, 0x10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x40], rax
jmp 0x18012d383
mov ebx, 1
jmp case.0x18012d1d0.114
cmp qword [r14 + 0x60], 0
je case.0x18012d1d0.114
mov rax, qword [r14 + 0x70]
test rax, rax
je case.0x18012d1d0.114
mov rcx, qword [r14 + 0x68]
call rax
jmp 0x18012d383
cmp dword [r14 + 0x88], 0
jne 0x18012d696
mov dword [r14 + 0x88], 1
jmp case.0x18012d1d0.114
cmp qword [r14], 0
jne case.0x18012d1d0.114
mov edi, 0x109
mov eax, edi
sub eax, 0x108
je case.0x18012d1d0.110
cmp eax, 1
jne 0x18012d612
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ebx, ebx
dec edi
cmp edi, 0x107
ja 0x18012d5f3
jmp 0x18012d383
cmp qword [rsp + 0x40], 0
jne case.0x18012d1d0.114
mov ecx, 0x57
nop
mov eax, ecx
sub eax, 0x57
je 0x18012d642
cmp eax, 1
je case.0x18012d1d0.110
jmp 0x18012d647
mov ebx, 4
inc ecx
cmp ecx, 0x59
jb 0x18012d630
jmp case.0x18012d1d0.114
mov eax, 0x60
cmp eax, 0x60
je 0x18012d667
cmp eax, 0xe40
je case.0x18012d1d0.110
jmp 0x18012d669
xor ebx, ebx
add eax, 0xde0
cmp eax, 0x1bc0
jbe 0x18012d655
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
cmp eax, ecx
jb 0x18012d1b0
jmp case.0x18012d1d0.110
xor eax, eax
jmp 0x18012d50e