Function at 0x180018bc0
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0xc8
movaps xmmword [rax - 0x58], xmm6
mov r13d, edx
mov eax, edx
mov dword [rbp - 0x79], edx
imul edx, edx, 0x3c6
mov dword [rbp - 0x69], edx
cmp eax, edx
ja 0x1800190c2
mov rax, qword [rsp + 0x38]
xorps xmm6, xmm6
mov ebx, dword [rbp + 0x57]
mov rdx, qword [rbp + 0x6f]
mov r14d, dword [rbp + 0x57]
mov r15d, dword [rbp + 0x57]
mov r12d, dword [rbp + 0x57]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
mov qword [rbp - 0x21], rax
mov eax, dword [rbp + 0x57]
mov dword [rbp - 0x5d], eax
movzx eax, word [rbp + 0x57]
mov dword [rbp - 0x61], eax
mov dword [rsp + 0x40], ebx
mov qword [rbp - 0x29], r11
mov qword [rbp - 0x59], r10
mov r9, qword [rbp + 0x7f]
cmp r13d, 0x208a
ja 0x180018dd7
je 0x180018d9b
cmp r13d, 0x94
ja 0x180018d30
je 0x180018d18
cmp r13d, 0x16
je 0x1800195fb
cmp r13d, 0x26
je 0x180018cb0
cmp r13d, 0x77
jne 0x180018e6d
mov rax, qword [rbp + 0x67]
mov qword [0x1800c6828], rax
jmp 0x180018e6d
mov rax, qword [rbp + 0x67]
mov rcx, qword [rax]
cmp dword [rcx + 0x17c], 1
mov r10, qword [rcx + 0x200]
mov qword [rbp - 0x59], r10
jle 0x180018cdf
mov eax, 1
mov dword [r10 + 0x1c], eax
xor eax, eax
mov dword [r10 + 0x14], eax
jmp 0x180018e6d
mov eax, dword [rcx + 0x178]
dec eax
cmp dword [r10 + 0x10], eax
mov rax, qword [rcx + 0x180]
jae 0x180018d06
mov eax, dword [rax + 0xc]
mov dword [r10 + 0x1c], eax
xor eax, eax
mov dword [r10 + 0x14], eax
jmp 0x180018e6d
mov eax, dword [rax + 0x48]
mov dword [r10 + 0x1c], eax
xor eax, eax
mov dword [r10 + 0x14], eax
jmp 0x180018e6d
mov rax, qword [rbp + 0x67]
mov rax, qword [rax]
mov rax, qword [rax + 0x210]
mov qword [rsp + 0x38], rax
jmp 0x180018e6d
mov eax, r13d
sub eax, 0x9f
je 0x180018d7e
sub eax, 0x46
je 0x180018d55
cmp eax, 0x97f
jne 0x180018e6d
xor eax, eax
mov dword [r10 + 0x18], eax
jmp 0x180018e6d
xor eax, eax
mov dword [rbp - 0x61], 1
comisd xmm6, xmmword [rcx]
xorps xmm0, xmm0
movups xmmword [rbp - 0x51], xmm0
seta al
mov dword [rbp - 0x5d], eax
xor eax, eax
mov qword [rbp - 0x31], rax
movups xmmword [rbp - 0x41], xmm0
jmp 0x180018e6d
mov rax, qword [rbp + 0x77]
mov eax, dword [rax]
mov qword [rbp - 0x21], rax
movsxd rax, dword [rcx]
mov rcx, qword [rbp + 0x67]
shl rax, 3
add qword [rcx], rax
jmp 0x180018e6d
mov rax, qword [rbp + 0x67]
lea r8, [0x180019910]
mov r9, rax
xor edx, edx
mov qword [rax + 0x80], rcx
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdx, qword [rbp + 0x6f]
mov r10, qword [rbp - 0x59]
mov qword [0x1800c6830], rax
jmp 0x180018e6d
cmp r13d, 0x409d
ja 0x180018eac
je 0x1800190b6
cmp r13d, 0x2878
je 0x180018e93
cmp r13d, 0x2b7a
je 0x180018e14
cmp r13d, 0x3e9e
jne 0x180018e6d
movsd xmm0, qword [rcx]
movsd qword [rbp - 0x71], xmm0
jmp 0x180018e6d
movsxd rax, dword [r8]
shl rax, 3
add qword [r9], rax
mov ebx, dword [rdx]
test ebx, ebx
jle 0x180018e69
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x67]
mov r8, qword [rbp - 0x21]
mov rax, qword [rcx]
mov rdx, qword [rax]
add rax, 8
mov qword [rcx], rax
mov rax, qword [r9]
mov rcx, qword [rax]
add rax, 8
mov qword [r9], rax
call fcn.180078b00
mov r9, qword [rbp + 0x7f]
dec ebx
test ebx, ebx
jg 0x180018e30
mov rdx, qword [rbp + 0x6f]
mov r10, qword [rbp - 0x59]
mov ebx, dword [rsp + 0x40]
imul eax, dword [rbp + 0x57], 0x45
add r13d, eax
mov dword [rbp - 0x79], r13d
cmp r13d, dword [rbp - 0x69]
ja 0x1800190c2
mov r8, qword [rbp + 0x5f]
mov rcx, qword [rbp + 0x4f]
mov r11, qword [rbp - 0x29]
jmp 0x180018c5c
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
mov rax, qword [rbp + 0x67]
mov rax, qword [rax]
mov ebx, dword [rax + 0x30]
mov dword [rsp + 0x40], ebx
jmp 0x180018e6d
cmp r13d, 0x505c
je 0x180018f24
cmp r13d, 0x7c57
jne 0x180018e6d
mov eax, dword [r9]
lea ecx, [rax + 1]
cmp ecx, 0xb
ja 0x1800195da
mov edx, 0x80d
bt edx, ecx
jae 0x1800195da
test al, 1
je 0x1800190e1
test eax, eax
mov r14d, 1
setle al
add al, 0x40
mov byte [rbp - 0x51], al
mov r9, qword [rbp + 0x67]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], 0
lea r8, [rbp - 0x51]
mov edx, 0x19
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov dword [rsp + 0x38], r14d
call fcn.18001a760
jmp 0x1800190c5
sub dword [rdx], 1
js 0x180018e6d
nop dword [rax]
mov r13d, 0xf8
nop word [rax + rax]
mov eax, r13d
sub eax, 0xf8
je 0x180019096
cmp eax, 1
jne 0x18001906c
mov rcx, qword [r9]
mov edx, dword [r8]
mov rax, qword [rcx + 8]
mov r9, qword [rax + rdx*8]
mov rax, qword [rcx + 0x10]
mov r10, qword [rax + rdx*8]
lea eax, [rdx + 1]
mov dword [r8], eax
test ebx, ebx
je 0x180019064
sub r10, r9
sub r11, r9
mov r8d, 0x14
nop word [rax + rax]
mov eax, r8d
sub eax, 0x14
je 0x180019036
sub eax, 0x74
je 0x18001902f
sub eax, 0x74
je 0x180019005
sub eax, 0x74
je 0x180018fdf
cmp eax, 0x74
jne 0x18001903a
movsxd rax, r12d
movsxd rcx, r15d
mov edx, dword [rdi + rax*4 + 0x1c00]
add edx, dword [rdi + rcx*4 + 0x1800]
movsxd rax, r14d
add edx, dword [rdi + rax*4 + 0x1400]
sar edx, 0x10
mov byte [r10 + r9], dl
jmp 0x18001903a
movsxd rax, r12d
movsxd rcx, r15d
mov edx, dword [rdi + rax*4 + 0x1400]
add edx, dword [rdi + rcx*4 + 0x1000]
movsxd rax, r14d
add edx, dword [rdi + rax*4 + 0xc00]
sar edx, 0x10
mov byte [r9], dl
jmp 0x18001903a
movsx r12, byte [rsi + 2]
add rsi, 3
movsxd rcx, r15d
movsxd rax, r14d
mov edx, dword [rdi + r12*4 + 0x800]
add edx, dword [rdi + rcx*4 + 0x400]
add edx, dword [rdi + rax*4]
sar edx, 0x10
mov byte [r11 + r9], dl
jmp 0x18001903a
movsx r15d, byte [rsi + 1]
jmp 0x18001903a
movsx r14d, byte [rsi]
add r8d, 0x74
cmp r8d, 0x258
jb 0x180018f90
inc r9
sub rbx, 1
jne 0x180018f81
mov r8, qword [rbp + 0x5f]
mov r11, qword [rbp - 0x29]
mov ebx, dword [rsp + 0x40]
mov r9, qword [rbp + 0x7f]
mov rcx, qword [rbp + 0x4f]
inc r13d
cmp r13d, 0xfa
jb 0x180018f40
mov rdx, qword [rbp + 0x6f]
sub dword [rdx], 1
jns 0x180018f30
mov r13d, dword [rbp - 0x79]
mov r10, qword [rbp - 0x59]
jmp 0x180018e6d
mov rax, qword [rcx]
mov rsi, qword [rax]
add rax, 8
mov qword [rcx], rax
mov rax, qword [r9]
mov edx, dword [r8]
mov rcx, qword [rax]
mov r11, qword [rcx + rdx*8]
mov qword [rbp - 0x29], r11
jmp 0x180019068
cmp qword [0x1800c6830], 0
setne byte [rbp + 0x57]
mov eax, dword [rbp + 0x57]
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp eax, 0xa
jne 0x18001936a
mov r14d, dword [rbp + 0x57]
lea rdx, [0x180000000]
mov rdi, qword [rsp + 0x38]
xor r8d, r8d
mov rbx, qword [rsp + 0x38]
mov r13d, r8d
mov r12d, dword [rbp + 0x57]
mov rsi, qword [rsp + 0x38]
nop
cmp r13d, 0x82
ja case.0x180019132.6
mov eax, r13d
movzx eax, byte [rdx + rax + 0x1964c]
mov ecx, dword [rdx + rax*4 + 0x19630]
add rcx, rdx
jmp rcx
cmp byte [rdi], 0
je 0x180019192
cmp byte [rdi + 1], 0
lea rdx, [rdi + 1]
je 0x180019192
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x180019150
mov rcx, rdi
call fcn.18007c5d0
mov rcx, 0xffffffffffffffff
mov byte [rbx - 1], 0x2e
nop dword [rax]
inc rcx
cmp byte [rdi + rcx], 0
jne 0x180019170
mov r14d, dword [rsp + 0x30]
mov eax, 1
sub eax, ecx
add r14d, eax
mov dword [rsp + 0x30], r14d
xor r8d, r8d
jmp 0x180019197
mov r14d, dword [rsp + 0x30]
test r14d, r14d
jne 0x1800191b1
lea r8d, [r14 + 4]
mov rcx, rbx
lea rdx, [0x1800a71f0]
call fcn.18007c5d0
jmp 0x1800191ed
lea rax, [rbx + 6]
mov r15d, 6
cmp rbx, rax
mov rdi, rbx
cmova r15, r8
test r15, r15
je 0x1800191db
mov r8, r15
xor edx, edx
mov rcx, rbx
call fcn.180078f10
lea rdi, [r15 + rbx]
mov r8d, r14d
lea rdx, str.E_ld
mov rcx, rbx
call fcn.180075c20
lea rax, [rbp - 0x51]
mov r14, 0xffffffffffffffff
nop dword [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x180019200
jmp 0x180019339
movzx eax, byte [rbp - 0x50]
lea rbx, [rbp - 0x50]
test al, al
je 0x18001922f
nop dword [rax + rax]
cmp al, 0x45
je 0x18001922f
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x180019220
lea rcx, [rbx + 1]
lea r8, [rsp + 0x30]
lea rdx, [0x1800a6688]
call fcn.180075c80
dec rbx
cmp byte [rbx - 1], 0x30
jne 0x18001925c
nop dword [rax]
mov rax, rbx
dec rbx
cmp byte [rax - 2], 0x30
je 0x180019250
cmp byte [rbx], 0x30
lea rdx, [0x180000000]
je 0x180019340
inc rbx
jmp 0x180019340
movsd xmm2, qword [rbp - 0x71]
lea rdx, str.__18.18E
movq r8, xmm2
mov byte [rbp - 0x51], 3
lea rcx, [rbp - 0x50]
call fcn.180075c20
mov r12d, eax
test eax, eax
js 0x18001962a
jmp 0x180019339
mov byte [rbx], 0
lea rdi, [rbp - 0x50]
movzx eax, byte [rbp - 0x50]
test al, al
je case.0x180019132.6
cmp al, 0x2e
je case.0x180019132.6
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x1800192b5
jmp case.0x180019132.6
cmp r12d, 0x27
jge 0x18001935e
cmp byte [rbp - 0x50], 0
lea rax, [rbp - 0x50]
je 0x1800192e8
nop
inc rax
cmp byte [rax], 0
jne 0x1800192e0
dec rax
cmp byte [rax], 0x20
jne 0x1800192fc
mov byte [rax], 0
lea rax, [rax - 1]
cmp byte [rax], 0x20
je 0x1800192f0
cmp byte [rbp - 0x50], 0x30
lea rsi, [rbp - 0x50]
jne case.0x180019132.6
inc rsi
cmp byte [rsi], 0x30
je 0x180019306
jmp case.0x180019132.6
lea rax, [rbp - 0x50]
cmp rsi, rax
jbe case.0x180019132.6
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x180019320
inc r8
lea rcx, [rbp - 0x50]
mov rdx, rsi
call fcn.18007c5d0
lea rdx, [0x180000000]
xor r8d, r8d
add r13d, 0x1a
lea eax, [r13 + 0xcd]
cmp eax, 0x169
jb 0x180019110
jmp 0x180018ef3
mov dword [rbp + 0x57], 0xc
jmp 0x1800195e1
movsd xmm0, qword [rbp - 0x71]
ucomisd xmm0, xmm6
jp 0x18001937f
jne 0x18001937f
xor r14d, r14d
jmp 0x180018ef3
mov r14d, dword [rbp + 0x57]
mov edi, 0x123
mov ebx, dword [rsp + 0x30]
mov r12d, dword [rbp + 0x57]
mov esi, dword [rbp + 0x57]
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
mov edx, 0xffffff80
cmp edi, 0x42da7
ja 0x180019514
je 0x1800194fe
cmp edi, 0x123
je 0x1800194ab
cmp edi, 0xd6d7
je 0x18001949c
cmp edi, 0x1ac8b
je 0x180019492
cmp edi, 0x2823f
je 0x180019464
cmp edi, 0x357f3
jne 0x1800195c3
mov ebx, r15d
sub ebx, r13d
lea r8d, [rbx + 1]
mov dword [rbp + 0x57], r8d
test r8d, r8d
js 0x180019508
movzx edx, byte [r15]
mov al, 1
xor ecx, ecx
test al, dl
jne 0x18001941b
inc ecx
add al, al
test al, dl
je 0x180019413
mov dword [rbp - 0x79], r8d
lea rax, [rbp - 0x69]
xor r8d, r8d
mov dword [rbp - 0x69], ecx
mov r9, r13
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x79]
lea ecx, [r8 + 0x72]
call fcn.180026b30
add r12d, eax
cmp byte [r13], 0
jne 0x18001945b
movsxd r8, dword [rbp + 0x57]
lea rdx, [r13 + 1]
mov rcx, r13
mov dword [rbp + 0x57], ebx
call fcn.180078b00
mov ebx, dword [rsp + 0x30]
jmp 0x1800195c3
or byte [r13], 0x10
lea r15, [rbp - 0x6a]
xor r12d, r12d
cmp byte [rbp - 0x6a], r12b
jne 0x1800195c3
nop word [rax + rax]
dec r15
add r12d, 8
cmp byte [r15], 0
je 0x180019480
jmp 0x1800195c3
and byte [r13], 0xf
jmp 0x1800195c3
sub ebx, 0x3ff
lea r13, [rbp - 0x70]
jmp 0x1800195bf
cmp byte [rbp - 0x61], 0
je 0x1800194d1
xor eax, eax
lea rcx, [rbp - 0x71]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0xe9
call fcn.1800241e0
movzx eax, byte [rbp - 0x71]
mov r14d, 1
movzx ebx, byte [rbp - 0x70]
and eax, 0x7f
shl eax, 8
and ebx, 0xf0
add ebx, eax
mov al, 0xf0
nop
shr al, 1
sar ebx, 1
test r14b, al
je 0x1800194f0
jmp 0x1800195bf
cmp dword [rbp + 0x57], 0
jge 0x1800195c3
mov dword [rbp + 0x57], 3
jmp 0x1800195e1
cmp edi, 0x5035b
je 0x1800195b9
cmp edi, 0x5d90f
je 0x180019581
cmp edi, 0x6aec3
je 0x18001956b
cmp edi, 0x78477
je 0x180019550
cmp edi, 0x85a2b
jne 0x1800195c3
mov r14d, dword [rbp + 0x57]
inc r14d
add r14d, esi
jmp 0x1800195c3
movsxd r8, dword [rbp + 0x57]
lea eax, [rsi + 1]
movsxd rcx, eax
mov rdx, r13
lea rax, [rbp - 0x51]
add rcx, rax
call fcn.180078b00
jmp 0x1800195c3
movsxd rax, esi
test esi, esi
je 0x1800195c3
mov byte [rbp + rax - 0x51], bl
sar ebx, 8
sub rax, 1
jne 0x180019572
jmp 0x1800195bf
mov eax, ebx
xor esi, esi
and eax, 0x7fff
cmp eax, 0x7f
jbe 0x18001959e
nop
sar eax, 8
inc esi
cmp eax, 0x7f
jg 0x180019590
test esi, esi
jne 0x1800195a3
mov esi, 1
cmp dword [rbp - 0x5d], 0
lea eax, [rsi - 1]
mov ecx, 0xffffffc0
cmove ecx, edx
or cl, al
mov byte [rbp - 0x51], cl
jmp 0x1800195c3
add ebx, 0xffffffcc
add ebx, r12d
mov dword [rsp + 0x30], ebx
add edi, 0xd5b4
cmp edi, 0x92ebc
ja 0x180018ef3
jmp 0x18001939d
mov dword [rbp + 0x57], 0x12
mov rdx, qword [rbp + 0x67]
lea r8, [rbp + 0x57]
xor r9d, r9d
mov ecx, 0xf3
call fcn.18002e120
jmp 0x1800190c5
mov rbx, qword [rbp + 0x67]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rbx]
lea rdx, [rsp + 0x38]
mov ecx, 0xf0
mov qword [rsp + 0x38], rax
call fcn.18000db00
mov ecx, 1
call fcn.18007cd88
int3
call fcn.18007cd94
int3