Function at 0x864250
Capabilities:
Create process on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x3c8
mov rbp, rsp
mov r9, rcx
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0x100], 0
mov qword [rbp + 0xf8], 0
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x110], 0
mov qword [rbp + 0x120], 0
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x138], 0
mov qword [rbp + 0x140], 0
mov qword [rbp + 0x158], 0
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x148], 0
mov qword [rbp + 0x170], 0
mov qword [rbp + 0x168], 0
mov qword [rbp + 0x160], 0
mov qword [rbp + 0x178], 0
mov qword [rbp + 0x180], 0
mov qword [rbp + 0x188], 0
lea rdi, [rbp + 0x190]
xor eax, eax
mov ecx, 0x31
rep stosq qword [rdi], rax
mov qword [rbp + 0x350], 0
mov qword [rbp + 0x348], 0
mov qword [rbp + 0x318], rbp
mov qword [rbp + 0x3f0], r9
mov qword [rbp + 0x3f8], rdx
mov byte [rbp + 0x400], r8b
nop
lea rcx, [rbp + 0x190]
mov edx, 0x800
call fcn.00445660
mov rcx, qword [0x0091a720]
lea rdx, [rbp + 0x190]
mov r8, qword [0x00434458]
call fcn.004162e0
lea rcx, [rbp + 0x350]
mov rax, qword [0x0091a720]
mov rdx, qword [rax + 0x10]
call fcn.00413430
mov rax, qword [0x0091aac8]
mov word [rax], 0x433
lea rcx, [rbp + 0x188]
mov rax, qword [0x0091aac8]
movzx rdx, word [rax]
call fcn.00414540
mov rcx, qword [0x00918e88]
mov edx, 4
lea r8, [0x00865874]
mov r9, qword [rbp + 0x188]
lea rax, [0x00865898]
mov qword [rsp + 0x20], rax
lea rax, [0x008658a8]
mov qword [rsp + 0x28], rax
call fcn.00414a50
mov rax, qword [rbp + 0x3f8]
movzx rbx, byte [rax]
lea rax, [0x009ab728]
mov byte [rax + rbx], 0
lea rax, [0x009ab732]
mov byte [rax + rbx], 0
mov rcx, qword [rbp + 0x350]
lea rdx, [0x008658b8]
call fcn.00414b20
test eax, eax
jne 0x8645b4
lea rcx, [rbp + 0x180]
lea rax, [0x009ab280]
mov rdx, qword [rax + rbx*8]
lea r8, [0x00865898]
lea r9, [0x008658e0]
call fcn.0058c680
lea rax, [0x009ab280]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0x180]
call fcn.004133a0
lea rcx, [rbp + 0x178]
lea rax, [0x009ab320]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
lea r8, [0x00865898]
lea r9, [0x008658e0]
call fcn.0058c680
lea rax, [0x009ab320]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0x178]
call fcn.004133a0
mov rcx, qword [rbp + 0x350]
mov rax, qword [0x00918e88]
mov rdx, qword [rax]
call fcn.00414b20
test eax, eax
jne 0x8647f8
lea rcx, [rbp + 0x160]
mov rax, qword [0x0091aac8]
movzx rdx, word [rax]
call fcn.00414540
lea rcx, [rbp + 0x168]
mov edx, 4
lea r8, [0x008658a8]
mov r9, qword [rbp + 0x160]
lea rax, [0x00865898]
mov qword [rsp + 0x20], rax
lea rax, [0x008658a8]
mov qword [rsp + 0x28], rax
call fcn.00414a50
lea rcx, [rbp + 0x170]
lea rax, [0x009ab280]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
mov r8, qword [rbp + 0x168]
xor r9, r9
call fcn.0058c680
lea rax, [0x009ab280]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0x170]
call fcn.004133a0
lea rcx, [rbp + 0x148]
mov rax, qword [0x0091aac8]
movzx rdx, word [rax]
call fcn.00414540
lea rcx, [rbp + 0x150]
mov edx, 4
lea r8, [0x008658a8]
mov r9, qword [rbp + 0x148]
lea rax, [0x00865898]
mov qword [rsp + 0x20], rax
lea rax, [0x008658a8]
mov qword [rsp + 0x28], rax
call fcn.00414a50
lea rcx, [rbp + 0x158]
lea rax, [0x009ab320]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
mov r8, qword [rbp + 0x150]
xor r9, r9
call fcn.0058c680
lea rax, [0x009ab320]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0x158]
call fcn.004133a0
lea rcx, [rbp + 0x140]
lea rax, [0x009ab280]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
lea r8, [0x00865898]
lea r9, [0x008658e0]
call fcn.0058c680
lea rax, [0x009ab280]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0x140]
call fcn.004133a0
lea rcx, [rbp + 0x138]
lea rax, [0x009ab320]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
lea r8, [0x00865898]
lea r9, [0x008658e0]
call fcn.0058c680
lea rax, [0x009ab320]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0x138]
call fcn.004133a0
lea rcx, [rbp + 0x348]
lea rdx, [0x008658f0]
call fcn.00413430
mov rax, qword [0x0091a720]
mov word [rax + 0xa], 0x2f
mov rax, qword [0x0091a720]
lea rcx, [rax + 0x10]
mov rdx, qword [rbp + 0x348]
call fcn.004133a0
lea rcx, [rbp + 0x350]
mov rdx, qword [rbp + 0x348]
call fcn.00413430
lea rax, [0x009ab280]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rax, qword [rax + rcx*8]
mov qword [rbp + 0x340], rax
mov rcx, qword [rbp + 0x340]
mov rdx, qword [0x0091a720]
call fcn.00445110
movsd qword [rbp + 0x398], xmm0
lea rax, [0x009ab320]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rax, qword [rax + rcx*8]
mov qword [rbp + 0x338], rax
mov rcx, qword [rbp + 0x338]
mov rdx, qword [0x0091a720]
call fcn.00445110
movsd qword [rbp + 0x390], xmm0
call fcn.00441f20
movsd qword [rbp + 0x388], xmm0
call fcn.00441f80
movsd qword [rbp + 0x380], xmm0
mov rax, qword [rbp + 0x3f8]
movzx rax, byte [rax]
lea rcx, [0x009ab37a]
movzx rcx, byte [rcx + rax]
mov byte [rbp + 0x379], cl
lea rcx, [0x009ab384]
movzx rcx, byte [rcx + rax]
mov byte [rbp + 0x37a], cl
lea rcx, [0x009ab38e]
movzx rcx, byte [rcx + rax]
mov byte [rbp + 0x37b], cl
lea rcx, [0x009ab398]
movzx rcx, byte [rcx + rax]
mov byte [rbp + 0x37c], cl
lea rcx, [0x009ab3a2]
movzx rcx, byte [rcx + rax]
mov byte [rbp + 0x37d], cl
lea rcx, [0x009ab3ac]
movzx rcx, byte [rcx + rax]
mov byte [rbp + 0x37e], cl
lea rcx, [0x009ab3b6]
movzx rcx, byte [rcx + rax]
mov byte [rbp + 0x37f], cl
lea rcx, [0x009ab672]
cmp byte [rcx + rax], 0
je 0x864a2d
lea rcx, [0x009ab3c0]
mov rcx, qword [rcx + rax*8]
call fcn.0043c290
test eax, eax
je 0x86497d
lea rax, [0x009ab3c0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
mov ebx, eax
lea rax, [0x009ab410]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
shl ebx, 2
lea rbx, [rbx + rbx*2]
lea rbx, [rbx + rbx*4]
add ebx, eax
mov dword [rbp + 0x36c], ebx
jmp 0x86499e
lea rax, [0x009ab410]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
mov dword [rbp + 0x36c], eax
lea rax, [0x009ab460]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
test eax, eax
je 0x864a0a
lea rax, [0x009ab460]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
mov ebx, eax
lea rax, [0x009ab4b0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
shl ebx, 2
lea rbx, [rbx + rbx*2]
lea rbx, [rbx + rbx*4]
add ebx, eax
mov dword [rbp + 0x368], ebx
jmp 0x864a41
lea rax, [0x009ab4b0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
mov dword [rbp + 0x368], eax
jmp 0x864a41
mov dword [rbp + 0x36c], 1
mov dword [rbp + 0x368], 0
lea rax, [0x009ab67c]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
cmp byte [rax + rcx], 0
je 0x864b79
lea rax, [0x009ab500]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
test eax, eax
je 0x864ac9
lea rax, [0x009ab500]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
mov ebx, eax
lea rax, [0x009ab550]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
shl ebx, 2
lea rbx, [rbx + rbx*2]
lea rbx, [rbx + rbx*4]
add ebx, eax
mov dword [rbp + 0x364], ebx
jmp 0x864aea
lea rax, [0x009ab550]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
mov dword [rbp + 0x364], eax
lea rax, [0x009ab5a0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
test eax, eax
je 0x864b56
lea rax, [0x009ab5a0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
mov ebx, eax
lea rax, [0x009ab5f0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
shl ebx, 2
lea rbx, [rbx + rbx*2]
lea rbx, [rbx + rbx*4]
add ebx, eax
mov dword [rbp + 0x360], ebx
jmp 0x864b8d
lea rax, [0x009ab5f0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
mov dword [rbp + 0x360], eax
jmp 0x864b8d
mov dword [rbp + 0x364], 1
mov dword [rbp + 0x360], 0
mov rax, qword [rbp + 0x3f8]
movzx rax, byte [rax]
lea rcx, [0x009ab672]
cmp byte [rcx + rax], 0
jne 0x864bc6
lea rcx, [0x009ab67c]
cmp byte [rcx + rax], 0
jne 0x864bc6
mov dword [rbp + 0x36c], 0
mov dword [rbp + 0x368], 0x59f
movsd xmm0, qword [rbp + 0x380]
call fcn.0058cff0
test ax, ax
je 0x864c0f
movsd xmm0, qword [rbp + 0x380]
call fcn.0058cff0
mov ebx, eax
movsd xmm0, qword [rbp + 0x380]
call fcn.0058d020
movzx ebx, bx
shl ebx, 2
lea rbx, [rbx + rbx*2]
lea rbx, [rbx + rbx*4]
movzx eax, ax
add ebx, eax
mov dword [rbp + 0x370], ebx
jmp 0x864c25
movsd xmm0, qword [rbp + 0x380]
call fcn.0058d020
movzx eax, ax
mov dword [rbp + 0x370], eax
lea rax, [0x009ab688]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.0043c290
add eax, 1
mov dword [rbp + 0x374], eax
mov rax, qword [rbp + 0x3f8]
movzx rbx, byte [rax]
lea rax, [0x009ab6d8]
mov rcx, qword [rax + rbx*8]
lea rdx, [0x00865910]
call fcn.00414b20
test eax, eax
jne 0x864c86
mov eax, dword [rbp + 0x374]
shl eax, 2
lea rax, [rax + rax*2]
lea rax, [rax + rax*4]
mov dword [rbp + 0x374], eax
lea rax, [0x009ab64a]
cmp byte [rax + rbx], 0
je 0x864d0d
movsd xmm0, qword [rbp + 0x398]
movsd xmm1, qword [rbp + 0x388]
call fcn.0058d310
cmp al, 1
je 0x864d0d
lea rax, [0x009ab668]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
cmp byte [rax + rcx], 0
je 0x864cf7
movsd xmm0, qword [rbp + 0x380]
call fcn.0058d080
movzx rax, ax
cmp byte [rax + rbp + 0x378], 0
je 0x864d0d
lea rax, [0x009ab728]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov byte [rax + rcx], 1
jmp 0x864d0d
lea rax, [0x009ab728]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov byte [rax + rcx], 1
lea rax, [0x009ab654]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
cmp byte [rax + rcx], 0
je 0x864d54
movsd xmm0, qword [rbp + 0x398]
movsd xmm1, qword [rbp + 0x388]
call fcn.0058d310
test al, al
jne 0x864d54
lea rax, [0x009ab728]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov byte [rax + rcx], 1
lea rax, [0x009ab65e]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
cmp byte [rax + rcx], 0
je 0x864e03
movsd xmm0, qword [rbp + 0x398]
movsd xmm1, qword [rbp + 0x388]
call fcn.0058d310
cmp al, 1
je 0x864e03
movsd xmm0, qword [rbp + 0x388]
movsd xmm1, qword [rbp + 0x390]
call fcn.0058d310
cmp al, 1
je 0x864e03
lea rax, [0x009ab668]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
cmp byte [rax + rcx], 0
je 0x864ded
movsd xmm0, qword [rbp + 0x380]
call fcn.0058d080
movzx rax, ax
cmp byte [rax + rbp + 0x378], 0
je 0x864e03
lea rax, [0x009ab728]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov byte [rax + rcx], 1
jmp 0x864e03
lea rax, [0x009ab728]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov byte [rax + rcx], 1
lea rax, [0x009ab728]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
cmp byte [rax + rcx], 1
jne 0x864e69
mov eax, dword [rbp + 0x370]
cmp eax, dword [rbp + 0x36c]
jl 0x864e37
mov eax, dword [rbp + 0x370]
cmp eax, dword [rbp + 0x368]
jle 0x864e53
mov eax, dword [rbp + 0x370]
cmp eax, dword [rbp + 0x364]
jl 0x864e69
mov eax, dword [rbp + 0x370]
cmp eax, dword [rbp + 0x360]
jg 0x864e69
lea rax, [0x009ab732]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov byte [rax + rcx], 1
lea rax, [0x009ab732]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
movzx rax, byte [rax + rcx]
test byte [rbp + 0x400], al
je 0x86579d
mov eax, dword [rbp + 0x36c]
mov dword [rbp + 0x35c], eax
jmp 0x8652f8
mov eax, dword [rbp + 0x370]
cmp eax, dword [rbp + 0x35c]
jne 0x8652ec
lea rax, [0x009ab1e0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.00757a50
test al, al
je 0x8652ec
lea rcx, [0x009ab8b0]
mov edx, 0x68
xor r8, r8
call fcn.0040cff0
mov dword [0x009ab8b0], 0x68
mov rax, qword [rbp + 0x3f8]
movzx rbx, byte [rax]
lea rcx, [rbp + 0x128]
lea rax, [0x009ab230]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
call fcn.0043b4d0
lea rcx, [rbp + 0x130]
mov rdx, qword [rbp + 0x128]
call fcn.0043d590
lea rax, [0x009ab860]
lea rcx, [rax + rbx*8]
mov rdx, qword [rbp + 0x130]
call fcn.004133a0
mov rax, qword [rbp + 0x3f8]
movzx rsi, byte [rax]
lea rcx, [rbp + 0x120]
lea rax, [0x009ab860]
mov rdx, qword [rax + rbx*8]
call fcn.0044ace0
lea rax, [0x009ab860]
lea rcx, [rax + rsi*8]
mov rdx, qword [rbp + 0x120]
call fcn.004133a0
lea rax, [0x009ab860]
cmp qword [rax + rsi*8], 0
jne 0x865022
lea rcx, [rbp + 0x110]
lea rax, [0x009ab1e0]
mov rdx, qword [rax + rsi*8]
call fcn.0043b4d0
lea rcx, [rbp + 0x118]
mov rdx, qword [rbp + 0x110]
call fcn.0043d590
lea rax, [0x009ab860]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0x118]
call fcn.004133a0
lea rcx, [rbp + 0x108]
lea rax, [0x009ab860]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
call fcn.0044ace0
lea rax, [0x009ab860]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0x108]
call fcn.004133a0
nop
mov rax, qword [rbp + 0x3f8]
movzx rax, byte [rax]
lea rcx, [0x009ab370]
cmp byte [rcx + rax], 1
jne 0x86504e
mov dword [0x009ab8ec], 1
mov word [0x009ab8f0], 0
lea rcx, [rbp + 0xf8]
lea rdx, [0x009ab1e0]
mov rdx, qword [rdx + rax*8]
call fcn.0043b4d0
lea rcx, [rbp + 0xf0]
lea rax, [0x009ab230]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
call fcn.0043b4d0
lea rcx, [rbp + 0x100]
mov edx, 5
lea r8, [0x00865920]
mov r9, qword [rbp + 0xf8]
lea rax, [0x00865930]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0xf0]
mov qword [rsp + 0x28], rax
lea rax, [0x00865920]
mov qword [rsp + 0x30], rax
call fcn.00414a50
mov rcx, qword [rbp + 0x100]
call fcn.00414500
mov rbx, rax
lea rax, [0x009ab860]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.00414500
xor ecx, ecx
mov rdx, rbx
xor r8, r8
xor r9, r9
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0x20
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rax
lea rax, [0x009ab8b0]
mov qword [rsp + 0x40], rax
lea rax, [0x009ab918]
mov qword [rsp + 0x48], rax
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x865177
lea rax, [0x009ab73c]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov ecx, dword [rax + rcx*4]
or edx, 0xffffffff
call sub.kernel32.dll_WaitForSingleObject
lea rax, [0x009ab73c]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov ecx, dword [rax + rcx*4]
call sub.kernel32.dll_CloseHandle
jmp 0x8651dc
lea rcx, [0x00865944]
or edx, 0xffffffff
or r8d, 0xffffffff
call fcn.00690c80
jmp 0x8651dc
mov rax, qword [rbp + 0x3f8]
movzx rax, byte [rax]
lea rcx, [0x009ab764]
mov byte [rcx + rax], 1
lea rcx, [0x009ab73c]
mov edx, dword [0x009ab918]
mov dword [rcx + rax*4], edx
lea rcx, [rbp + 0xe0]
mov rax, qword [0x0091a720]
mov rdx, qword [rax + 0x10]
lea r8, [0x008659f0]
call fcn.00414920
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x330], rax
lea rcx, [rbp + 0xd8]
mov rdx, qword [rbp + 0x330]
movsd xmm2, qword [rbp + 0x380]
mov r9, qword [0x0091a720]
call fcn.004434b0
lea rax, [0x009ab2d0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xd8]
call fcn.004133a0
lea rcx, [rbp + 0xc8]
mov rax, qword [rbp + 0x3f8]
movzx rdx, byte [rax]
add edx, 1
call fcn.0043bfe0
lea rcx, [rbp + 0xd0]
mov edx, 4
lea r8, [0x00865a10]
mov r9, qword [rbp + 0xc8]
lea rax, [0x00865a28]
mov qword [rsp + 0x20], rax
lea rax, [0x009ab2d0]
mov r10, qword [rbp + 0x3f8]
movzx r10, byte [r10]
mov rax, qword [rax + r10*8]
mov qword [rsp + 0x28], rax
call fcn.00414a50
mov rcx, qword [rbp + 0x3f0]
mov rdx, qword [rbp + 0xd0]
call fcn.00866230
mov byte [rbp + 0x400], 0
mov eax, dword [rbp + 0x374]
add dword [rbp + 0x35c], eax
cmp byte [rbp + 0x400], 0
je 0x865313
mov eax, dword [rbp + 0x35c]
cmp eax, dword [rbp + 0x368]
jle 0x864e9d
mov eax, dword [rbp + 0x364]
mov dword [rbp + 0x35c], eax
jmp 0x865782
mov eax, dword [rbp + 0x370]
cmp eax, dword [rbp + 0x35c]
jne 0x865776
lea rax, [0x009ab1e0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.00757a50
test al, al
je 0x865776
lea rcx, [0x009ab8b0]
mov edx, 0x68
xor r8, r8
call fcn.0040cff0
mov dword [0x009ab8b0], 0x68
lea rcx, [rbp + 0xb8]
lea rax, [0x009ab230]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
call fcn.0043b4d0
lea rcx, [rbp + 0xc0]
mov rdx, qword [rbp + 0xb8]
call fcn.0043d590
lea rax, [0x009ab860]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xc0]
call fcn.004133a0
mov rax, qword [rbp + 0x3f8]
movzx rbx, byte [rax]
lea rcx, [rbp + 0xb0]
lea rax, [0x009ab860]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
call fcn.0044ace0
lea rax, [0x009ab860]
lea rcx, [rax + rbx*8]
mov rdx, qword [rbp + 0xb0]
call fcn.004133a0
lea rax, [0x009ab860]
cmp qword [rax + rbx*8], 0
jne 0x8654b4
lea rcx, [rbp + 0xa0]
lea rax, [0x009ab1e0]
mov rdx, qword [rax + rbx*8]
call fcn.0043b4d0
lea rcx, [rbp + 0xa8]
mov rdx, qword [rbp + 0xa0]
call fcn.0043d590
lea rax, [0x009ab860]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xa8]
call fcn.004133a0
lea rcx, [rbp + 0x98]
lea rax, [0x009ab860]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
call fcn.0044ace0
lea rax, [0x009ab860]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0x98]
call fcn.004133a0
nop
lea rax, [0x009ab370]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
cmp byte [rax + rcx], 1
jne 0x8654e0
mov dword [0x009ab8ec], 1
mov word [0x009ab8f0], 0
lea rcx, [rbp + 0x88]
lea rax, [0x009ab1e0]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
call fcn.0043b4d0
lea rcx, [rbp + 0x80]
lea rax, [0x009ab230]
mov rdx, qword [rbp + 0x3f8]
movzx rdx, byte [rdx]
mov rdx, qword [rax + rdx*8]
call fcn.0043b4d0
lea rcx, [rbp + 0x90]
mov edx, 5
lea r8, [0x00865920]
mov r9, qword [rbp + 0x88]
lea rax, [0x00865930]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [0x00865920]
mov qword [rsp + 0x30], rax
call fcn.00414a50
mov rcx, qword [rbp + 0x90]
call fcn.00414500
mov rbx, rax
lea rax, [0x009ab860]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov rcx, qword [rax + rcx*8]
call fcn.00414500
xor ecx, ecx
mov rdx, rbx
xor r8, r8
xor r9, r9
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0x20
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rax
lea rax, [0x009ab8b0]
mov qword [rsp + 0x40], rax
lea rax, [0x009ab918]
mov qword [rsp + 0x48], rax
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x865614
lea rax, [0x009ab73c]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov ecx, dword [rax + rcx*4]
or edx, 0xffffffff
call sub.kernel32.dll_WaitForSingleObject
lea rax, [0x009ab73c]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov ecx, dword [rax + rcx*4]
call sub.kernel32.dll_CloseHandle
jmp 0x865673
lea rcx, [0x00865944]
or edx, 0xffffffff
or r8d, 0xffffffff
call fcn.00690c80
jmp 0x865673
lea rax, [0x009ab764]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov byte [rax + rcx], 1
lea rax, [0x009ab73c]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
mov edx, dword [0x009ab918]
mov dword [rax + rcx*4], edx
lea rcx, [rbp + 0x70]
mov rax, qword [0x0091a720]
mov rdx, qword [rax + 0x10]
lea r8, [0x008659f0]
call fcn.00414920
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x328], rax
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x328]
movsd xmm2, qword [rbp + 0x380]
mov r9, qword [0x0091a720]
call fcn.004434b0
lea rax, [0x009ab2d0]
mov rcx, qword [rbp + 0x3f8]
movzx rcx, byte [rcx]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0x68]
call fcn.004133a0
lea rcx, [rbp + 0x58]
mov rax, qword [rbp + 0x3f8]
movzx rdx, byte [rax]
add edx, 1
call fcn.0043bfe0
lea rcx, [rbp + 0x60]
mov edx, 4
lea r8, [0x00865a10]
mov r9, qword [rbp + 0x58]
lea rax, [0x00865a28]
mov qword [rsp + 0x20], rax
lea rax, [0x009ab2d0]
mov r10, qword [rbp + 0x3f8]
movzx r10, byte [r10]
mov rax, qword [rax + r10*8]
mov qword [rsp + 0x28], rax
call fcn.00414a50
mov rcx, qword [rbp + 0x3f0]
mov rdx, qword [rbp + 0x60]
call fcn.00866230
mov byte [rbp + 0x400], 0
mov eax, dword [rbp + 0x374]
add dword [rbp + 0x35c], eax
cmp byte [rbp + 0x400], 0
je 0x86579d
mov eax, dword [rbp + 0x35c]
cmp eax, dword [rbp + 0x360]
jle 0x865324
nop
lea rcx, [rbp + 0x58]
mov edx, 0x27
call fcn.00412df0
lea rcx, [rbp + 0x190]
mov rdx, qword [0x00434458]
call fcn.004157c0
lea rcx, [rbp + 0x348]
mov edx, 2
call fcn.00412df0
lea rsp, [rbp + 0x3c8]
pop rbx
pop rsi
pop rdi
pop rbp
ret