Function at 0x180022730
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
imul r15d, ecx, 0x678
mov rsi, r9
mov rdi, r8
mov dword [rsp + 0x38], ecx
mov r14, rdx
mov dword [rbp - 0x60], r15d
cmp ecx, r15d
ja 0x180022923
mov r12, qword [rbp + 0x90]
mov r13d, dword [rbp + 0x70]
mov r15, qword [rbp - 0x48]
lea r10, [0x180000000]
mov r11d, 8
lea r9d, [r11 - 7]
lea ebx, [r11 + 8]
cmp ecx, 0x16ce
ja 0x1800228e2
je 0x1800228a5
cmp ecx, 0xb6
ja 0x18002288b
je 0x180022f4a
mov eax, ecx
sub eax, 0x17
je 0x1800227f7
sub eax, 0x13
je 0x1800227ee
cmp eax, 0x75
jne 0x180022870
cmp qword [r14], 0
mov qword [rbp - 0x48], r12
ja 0x180022870
mov dword [rsp + 0x48], 0
jmp 0x180022923
mov qword [0x180071828], r12
jmp 0x180022870
xor edx, edx
mov qword [rsp + 0x28], 0
mov r9, r14
mov qword [rsp + 0x20], 0
xor r8d, r8d
lea ecx, [rdx + 0x45]
call fcn.18005b3f0
mov rbx, qword [rbp + 0x80]
mov rdi, rax
mov rbx, qword [rbx]
test rbx, rbx
je 0x180022860
dec rbx
lea rdx, [rbp - 0x40]
cmp rax, rbx
mov r9, r14
mov r8d, 0x49
mov rcx, r12
cmovb rbx, rax
mov qword [rbp - 0x40], rbx
call fcn.18001a0e0
mov byte [rbx + r12], 0
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x48], rdi
mov rdi, qword [rbp + 0x80]
mov ecx, dword [rsp + 0x38]
imul eax, dword [rbp + 0x70], 0x8a
add ecx, eax
mov dword [rsp + 0x38], ecx
cmp ecx, dword [rbp - 0x60]
ja 0x180022923
jmp 0x180022785
cmp ecx, 0x10a
je 0x180023158
cmp ecx, 0xc7d
je 0x180022923
jmp 0x180022870
mov qword [rsp + 0x28], 0
lea r8, [0x180023f20]
mov r9, r12
mov dword [rsp + 0x20], 0
xor edx, edx
mov qword [r12 + 0x80], r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp - 0x50], rax
cmp rax, 0
jne 0x18002286c
mov byte [rsp + 0x48], al
jmp 0x180022923
cmp ecx, 0x2d72
je 0x180022f07
cmp ecx, 0x5655
je 0x180022eff
cmp ecx, 0xac0b
je 0x180022943
cmp ecx, 0x101c1
je 0x180022f40
cmp ecx, 0x15777
jne 0x180022870
sub r12d, dword [rbp - 0x48]
mov dword [rsp + 0x48], r12d
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x178]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx eax, byte [rdi]
test al, al
je 0x180022870
nop
cmp qword [r14], 0
je 0x18002286c
cmp al, 0x25
jne 0x180022ed7
mov edx, 0x92
mov dword [rsp + 0x54], edx
nop dword [rax + rax]
cmp edx, 0x92
je 0x180022eb0
cmp edx, 0x506a
je 0x180022e9e
cmp edx, 0xa042
je 0x180022e82
cmp edx, 0xf01a
jne 0x180022ebb
test r13d, r13d
jne 0x180022e76
nop dword [rax]
mov eax, 0x13
cmp eax, 0x13
je 0x1800229e6
cmp eax, 0xe07
je 0x1800229d8
mov ecx, dword [rsp + 0x38]
cmp eax, 0x1bfb
jne 0x180022e4a
inc rdi
jmp 0x180022e4a
mov ecx, 0xac0b
mov dword [rsp + 0x38], ecx
jmp 0x180022e4a
movsx r8d, byte [rdi]
lea eax, [r8 - 0x25]
cmp eax, 0x53
ja case.0x180022a0d.49
cdqe
movzx eax, byte [r10 + rax + 0x23198]
mov ecx, dword [r10 + rax*4 + 0x23164]
add rcx, r10
jmp rcx
mov ecx, 0x108
nop dword [rax]
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x106
je case.0x180022a0d.43
sub eax, 1
je 0x180022a3e
cmp eax, 1
jne 0x180022a44
mov byte [r12], 0x25
jmp 0x180022a44
mov r15, r9
mov r13d, r9d
dec ecx
cmp ecx, 0x105
ja 0x180022a20
mov edx, 0x124
mov eax, edx
sub eax, 0x124
je 0x180022a67
cmp eax, 1
je case.0x180022a0d.43
jmp 0x180022a7c
add qword [rsi], 4
mov r15, r9
mov rax, qword [rsi]
mov r13d, r9d
movzx ecx, byte [rax - 4]
mov byte [r12], cl
inc edx
cmp edx, 0x126
jb 0x180022a53
jmp case.0x180022a0d.43
xor eax, eax
cmp dword [rsp + 0x40], 2
cmovge eax, dword [rsp + 0x40]
mov dword [rsp + 0x40], eax
jmp case.0x180022a0d.43
xor r9d, r9d
mov qword [rbp - 0x38], 3
lea rax, [0x180069a70]
xor edx, edx
mov qword [rsp + 0x28], rax
mov rcx, rdi
lea rax, [rbp - 0x38]
lea r8d, [r9 + 0x33]
mov qword [rsp + 0x20], rax
call fcn.180063b30
mov ebx, dword [rsp + 0x40]
test eax, eax
mov rcx, rax
mov r9d, 1
mov eax, 2
cmove ebx, eax
lea rax, [rdi + 2]
test ecx, ecx
mov dword [rsp + 0x40], ebx
cmovne rax, rdi
mov rdi, rax
jmp case.0x180022a0d.43
mov edx, 0x99
cmp edx, 0x99
je 0x180022b16
cmp edx, 0x6afb
je case.0x180022a0d.49
jmp 0x180022b32
mov ebx, dword [rsp + 0x40]
mov ecx, ebx
test ebx, ebx
je 0x180022bf4
sub ecx, 1
je 0x180022bc7
cmp ecx, 1
je 0x180022b74
add edx, 0x6a62
cmp edx, 0xd4c4
jbe 0x180022b00
mov ebx, reloc.SHELL32.dll_ILFindLastID
mov dword [rsp + 0x50], r9d
mov edx, dword [rsp + 0x3c]
cmp edx, 0xa
mov eax, dword [rsp + 0x40]
cmove edx, ebx
cmp r8b, 0x70
cmove eax, r9d
cmp edx, 0xa
mov dword [rsp + 0x40], eax
cmove edx, r11d
mov dword [rsp + 0x3c], edx
jmp 0x180022c54
add qword [rsi], 8
lea r9, [rbp - 0x28]
mov rax, qword [r14]
mov r8d, 0x39
mov rcx, qword [rsi]
mov rdx, r12
mov qword [rbp - 0x28], rax
mov eax, dword [rsp + 0x3c]
mov dword [rbp - 0x58], eax
mov rax, qword [rcx - 8]
lea rcx, [rbp - 0x58]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.180019070
mov r15, rax
mov r9d, 1
jmp case.0x180022a0d.49
add qword [rsi], 4
lea r9, [rsp + 0x60]
mov rax, qword [r14]
lea rdx, [rbp - 0x20]
mov rcx, qword [rsi]
mov qword [rbp - 0x20], rax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx - 4]
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0x58]
jmp 0x180022c1f
add qword [rsi], 4
lea r9, [rsp + 0x70]
mov rax, qword [r14]
lea rdx, [rbp - 0x18]
mov rcx, qword [rsi]
mov qword [rbp - 0x18], rax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x68], eax
mov eax, dword [rcx - 4]
mov dword [rsp + 0x70], eax
lea rax, [rsp + 0x68]
mov r8, r12
mov qword [rsp + 0x20], rax
mov ecx, 0x115
call fcn.180036900
mov r15, rax
mov r9d, 1
jmp case.0x180022a0d.49
mov edx, dword [rsp + 0x3c]
cmp edx, 0xa
cmove edx, r11d
mov dword [rsp + 0x3c], edx
jmp 0x180022c54
mov edx, dword [rsp + 0x3c]
mov ebx, 0x4d
nop dword [rax]
cmp ebx, 0x4d
je 0x180022c72
cmp ebx, 0x1944
je 0x180022c34
jmp 0x180022d53
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x180022ce8
sub ecx, 1
je 0x180022cc3
cmp ecx, 1
jne 0x180022d27
add qword [rsi], 8
lea r9, [rbp - 0x10]
mov rcx, qword [rsi]
lea r8, [rbp - 8]
mov rax, qword [r14]
mov qword [rbp - 8], rax
mov dword [rsp + 0x78], edx
mov rdx, r12
mov rax, qword [rcx - 8]
mov ecx, 0x91
mov qword [rbp - 0x10], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.180019700
jmp 0x180022d24
add qword [rsi], 4
lea r8, [rbp - 0x80]
mov rcx, qword [rsi]
mov rax, qword [r14]
mov qword [rbp], rax
mov dword [rbp - 0x80], edx
lea rdx, [rbp]
mov eax, dword [rcx - 4]
lea rcx, [rbp - 0x78]
mov dword [rbp - 0x78], eax
jmp 0x180022d0b
add qword [rsi], 4
lea r8, [rbp - 0x70]
mov rcx, qword [rsi]
mov rax, qword [r14]
mov qword [rbp + 8], rax
mov dword [rbp - 0x70], edx
lea rdx, [rbp + 8]
mov eax, dword [rcx - 4]
lea rcx, [rbp - 0x68]
mov dword [rbp - 0x68], eax
mov qword [rsp + 0x28], 0
mov r9d, 0x70
mov qword [rsp + 0x20], r12
call fcn.180032a70
mov r15, rax
cmp dword [rsp + 0x50], 0
mov ebx, 0x4d
je 0x180022d53
mov qword [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r12
xor edx, edx
mov ecx, 0x160
call fcn.1800351e0
add ebx, 0x18f7
cmp ebx, 0x31ee
ja 0x180022d6a
mov edx, dword [rsp + 0x3c]
jmp 0x180022c60
mov r9d, 1
mov eax, 0x5f
cmp eax, 0x5f
je 0x180022da6
add eax, 0xba
cmp eax, 0x119
jb 0x180022d75
mov ebx, 0xad
nop dword [rax + rax]
cmp ebx, 0xad
je 0x180022de7
cmp ebx, 0x62aa
je case.0x180022a0d.43
jmp 0x180022e1e
add qword [rsi], 8
lea r9, [rbp + 0x10]
mov rcx, qword [rsi]
lea rdx, [rbp + 0x18]
mov rax, qword [r14]
mov r8, r12
mov qword [rbp + 0x10], rax
mov qword [rsp + 0x20], 0
movsd xmm0, qword [rcx - 8]
mov ecx, 0x21
movsd qword [rbp + 0x18], xmm0
call fcn.18004e390
mov r15, rax
mov r9d, 1
jmp case.0x180022a0d.49
add qword [rsi], 8
xor r8d, r8d
mov rcx, qword [rsi]
mov rdx, r12
mov rax, qword [r14]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
mov r9, qword [rcx - 8]
mov ecx, 0x83
call fcn.18003a240
mov r9d, 1
mov r15, rax
mov r13d, r9d
add ebx, 0x61fd
cmp ebx, 0xc3fa
jbe 0x180022d90
mov r13d, r9d
mov ecx, dword [rsp + 0x38]
lea r10, [0x180000000]
mov eax, 0x13
lea ebx, [rax - 3]
lea r11d, [rax - 0xb]
add eax, 0xdf4
cmp eax, 0x29dc
jbe 0x1800229b5
mov qword [rbp + 0x80], rdi
test r13d, r13d
je 0x1800229b0
mov edx, dword [rsp + 0x54]
add r12, r15
sub qword [r14], r15
jmp 0x180022ebf
mov ecx, dword [rsp + 0x38]
add r12, r15
sub qword [r14], r15
jmp 0x180022ebf
inc rdi
movzx eax, byte [rdi]
cmp al, 0x2e
je 0x180022e92
sub al, 0x30
cmp al, 9
ja 0x180022ebb
inc rdi
mov qword [rbp + 0x80], rdi
jmp 0x180022e85
mov dword [rsp + 0x3c], 0xa
mov dword [rsp + 0x40], 0
jmp 0x180022ebb
xor r13d, r13d
xor r15d, r15d
mov dword [rsp + 0x50], r13d
mov ecx, dword [rsp + 0x38]
add edx, 0x4fd8
mov dword [rsp + 0x54], edx
cmp edx, 0x13f60
jbe 0x180022970
jmp 0x180022ee8
mov ecx, dword [rsp + 0x38]
inc rdi
mov byte [r12], al
inc r12
dec qword [r14]
movzx eax, byte [rdi]
mov qword [rbp + 0x80], rdi
test al, al
jne 0x180022950
jmp 0x180022870
dec qword [r14]
jmp 0x180022870
mov ecx, 0x88
nop dword [rax]
mov eax, ecx
sub eax, 0x87
je 0x180022923
cmp eax, 1
jne 0x180022f32
mov rax, qword [rbp - 0x50]
xchg qword [0x180071830], rax
mov byte [rsp + 0x48], 1
dec ecx
cmp ecx, 0x86
ja 0x180022f10
mov ecx, dword [rsp + 0x38]
mov byte [r12], 0
jmp 0x180022870
mov edi, 0x10b
nop
mov eax, edi
sub eax, 0x10a
je 0x180022923
cmp eax, 1
jne 0x180023145
mov r15, qword [rbp + 0x80]
cmp r14, r15
je 0x18002313d
mov ebx, 0x108
nop dword [rax + rax]
cmp ebx, 0x108
je 0x1800230a2
cmp ebx, 0x2418
je 0x180023126
cmp ebx, 0x4728
jne 0x18002312b
add r14, 2
cmp r14, r15
je 0x18002312b
mov eax, 0x5b
cmp eax, 0x5b
jne 0x180023085
movzx ecx, byte [r14]
test cl, cl
jne 0x180022fd7
movzx eax, byte [r14 + 1]
movzx eax, byte [rax + r12 + 0x90]
jmp 0x18002300b
movzx eax, byte [r14 + 1]
lea r8, [rbp + 0x70]
mov byte [rbp + 0x70], cl
mov r9d, 0x7b
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x28], 0
xor edx, edx
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
call fcn.18005acc0
sub eax, 0x12
je 0x18002301c
sub eax, 6
je 0x180023080
cmp eax, 1
je 0x180023080
jmp 0x180023047
mov ecx, 0x5d
mov eax, ecx
sub eax, 0x5c
je 0x180022923
cmp eax, 1
jne 0x180023040
lea rax, [r14 + 2]
mov dword [rsp + 0x48], 0xa
mov qword [rsi], rax
dec ecx
cmp ecx, 0x5b
ja 0x180023021
mov ecx, 0xc3
nop dword [rax]
mov eax, ecx
sub eax, 0xc3
je 0x180023073
sub eax, 1
je 0x180023069
cmp eax, 1
je 0x180022923
jmp 0x180023076
mov dword [rsp + 0x48], 0
jmp 0x180023076
mov qword [rsi], r14
inc ecx
cmp ecx, 0xc6
jb 0x180023050
mov eax, 0x5b
inc eax
cmp eax, 0x5c
jb 0x180022fb6
add r14, 2
cmp r14, r15
jne 0x180022fb1
jmp 0x18002312b
movzx ecx, byte [r14]
test cl, cl
jne 0x1800230ba
movzx eax, byte [r14 + 1]
movzx eax, byte [rax + r12 + 0x90]
jmp 0x1800230ee
movzx eax, byte [r14 + 1]
lea r8, [rbp + 0x70]
mov byte [rbp + 0x70], cl
mov r9d, 0x7b
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x28], 0
xor edx, edx
mov byte [rsp + 0x30], al
mov qword [rsp + 0x20], 0
call fcn.18005acc0
sub eax, 0x18
je 0x180023126
cmp eax, 1
je 0x180023126
mov ecx, 0x5c
nop dword [rax]
mov eax, ecx
sub eax, 0x5c
je 0x180023112
cmp eax, 1
je 0x180022923
jmp 0x18002311d
mov qword [rsi], r14
mov dword [rsp + 0x48], 0
inc ecx
cmp ecx, 0x5e
jb 0x180023100
jmp 0x18002312b
mov ebx, 0x2418
add ebx, 0x2310
cmp ebx, 0x6930
jbe 0x180022f80
mov dword [rsp + 0x48], 0xffffffff
dec edi
cmp edi, 0x109
ja 0x180022f50
jmp 0x18002291a
lea rax, [0x1800679f0]
jmp 0x180022928