Function at 0x1002ae8e
Capabilities:
Resume thread

Disassembly:
mov eax, 0x1013598c
call fcn.1007db34
sub esp, 0x65c
push ebx
push esi
lea eax, [ebp - 0x58]
push edi
push eax
lea eax, [ebp - 0x40]
push dword [ebp + 0x28]
mov edi, ecx
xor esi, esi
mov dword [ebp - 0x2c], edi
push eax
mov dword [ebp - 0x58], esi
call fcn.1002f4c9
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
lea eax, [ebp - 0x20]
push dword [ebp + 0xc]
mov dword [ebp - 4], esi
mov dword [ebp - 0x24], esi
push eax
call fcn.1002f696
push dword [ebp + 0x10]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
mov dword [ebp - 0x1c], esi
call fcn.10094520
cmp dword [ebp + 0xc], esi
mov byte [ebp - 4], 2
mov ebx, 0x101ad1f8
jne 0x1002af32
push esi
mov ecx, ebx
call fcn.1004bccb
test eax, eax
je 0x1002af32
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
lea eax, [ebp - 0x18]
push dword [ebp - 0x14]
push eax
call fcn.1002f8a9
cmp dword [ebp - 0x1c], esi
mov byte [ebp - 4], 3
je 0x1002af26
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x14]
push eax
call fcn.10094e50
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.10094cc0
push 4
lea ecx, [ebp - 0x68]
call fcn.1005eb25
mov eax, dword [0x101b04b8]
mov byte [ebp - 4], 4
cmp eax, esi
mov edi, 0x101ad158
je 0x1002af73
push dword [ebp - 0x14]
mov ecx, edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.100aa1c0
push eax
push str.__s___CSafeInject::OnCreateProcessW___App:_s___Cmd:_s_____s_
push 0x101786b8
push 4
call fcn.1007bb15
add esp, 0x1c
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 2
call fcn.1005eb48
mov ecx, edi
call fcn.10057e76
test eax, eax
je 0x1002afe6
mov ecx, 0x101ad158
call fcn.10057c87
test eax, eax
je 0x1002afe6
mov ebx, 0x10160a84
mov edi, 0x10160a78
push ebx
push edi
lea ecx, [ebp - 0x14]
call fcn.10096c00
test eax, eax
je 0x1002afb7
mov dword [ebp - 0x1c], 1
push ebx
push edi
lea ecx, [ebp - 0x40]
call fcn.10096c00
test eax, eax
je 0x1002afcc
mov dword [ebp - 0x58], 1
push ebx
push edi
lea ecx, [ebp - 0x20]
call fcn.10096c00
test eax, eax
je 0x1002afe1
mov dword [ebp - 0x24], 1
mov ebx, 0x101ad1f8
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], esi
push eax
call fcn.100011ce
test eax, eax
pop ecx
je 0x1002b12e
test byte [ebp - 0x54], 1
je 0x1002b12e
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp + 8], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov ebx, dword [esi + 0x20]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x2c]
push eax
push edi
call fcn.1005e85a
mov eax, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [ebp - 0x28], eax
je 0x1002b0aa
mov ecx, dword [esi + 0xc]
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x24], eax
jne 0x1002b05e
mov eax, dword [ebp + 0x10]
jmp 0x1002b06c
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
push dword [eax - 8]
call fcn.10095990
cmp dword [ebp - 0x24], 0
mov ecx, dword [ebp + 0xc]
je 0x1002b078
mov ecx, dword [ebp - 0x20]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push eax
push ecx
push esi
call dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x1002b116
mov edi, dword [esi + 0x18]
test edi, edi
je 0x1002b116
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x1c], 0
jne 0x1002b0c5
mov eax, dword [ebp + 0x10]
jmp 0x1002b0d3
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
push dword [eax - 8]
call fcn.10095990
cmp dword [ebp - 0x24], 0
mov ecx, dword [ebp + 0xc]
je 0x1002b0df
mov ecx, dword [ebp - 0x20]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push eax
push ecx
call edi
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test byte [esi + 0xa], 0x80
mov dword [esi + 0x10], eax
je 0x1002b116
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
cmp dword [ebp - 0x1c], 0
je 0x1002b126
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.10095a60
mov esi, dword [esi + 0x14]
jmp 0x1002b9b0
mov ecx, 0x82
xor eax, eax
lea edi, [ebp - 0x27e]
mov word [ebp - 0x280], si
rep stosd dword es:[edi], eax
push 4
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x18], esi
call fcn.1005eb25
push dword [ebp + 0x10]
mov ecx, ebx
mov byte [ebp - 4], 5
push dword [ebp + 0xc]
call fcn.1004ee2f
test eax, eax
jne 0x1002b16f
call fcn.100511e1
test eax, eax
jne 0x1002b188
mov ecx, 0x101ad158
call fcn.10057be9
test eax, eax
je 0x1002b1c0
mov ecx, ebx
call fcn.1004dc65
test eax, eax
jne 0x1002b1c0
lea eax, [ebp - 0x280]
push 0x104
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.1002bd5f
add esp, 0x10
test eax, eax
je 0x1002b1b9
lea eax, [ebp - 0x280]
mov ecx, ebx
push eax
call fcn.1004f0fe
mov dword [ebp - 0x18], eax
jmp 0x1002b1c0
mov dword [ebp - 0x18], 2
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x280]
push eax
call fcn.1002fa4b
test eax, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x60]
je 0x1002b20d
call fcn.1005eb48
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.10094cc0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.10094cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.10094cc0
xor eax, eax
jmp 0x1002b9d6
call fcn.1005eb48
cmp dword [ebp - 0x18], esi
jne 0x1002b35e
push 1
lea ecx, [ebp - 0x3c]
call fcn.10001261
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 6
mov eax, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp + 8], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov ebx, dword [esi + 0x20]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x2c]
push eax
push edi
call fcn.1005e85a
mov eax, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [ebp - 0x28], eax
je 0x1002b2ce
mov ecx, dword [esi + 0xc]
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x24], eax
jne 0x1002b282
mov eax, dword [ebp + 0x10]
jmp 0x1002b290
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
push dword [eax - 8]
call fcn.10095990
cmp dword [ebp - 0x24], 0
mov ecx, dword [ebp + 0xc]
je 0x1002b29c
mov ecx, dword [ebp - 0x20]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push eax
push ecx
push esi
call dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x1002b33a
mov edi, dword [esi + 0x18]
test edi, edi
je 0x1002b33a
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x1c], 0
jne 0x1002b2e9
mov eax, dword [ebp + 0x10]
jmp 0x1002b2f7
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
push dword [eax - 8]
call fcn.10095990
cmp dword [ebp - 0x24], 0
mov ecx, dword [ebp + 0xc]
je 0x1002b303
mov ecx, dword [ebp - 0x20]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push eax
push ecx
call edi
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test byte [esi + 0xa], 0x80
mov dword [esi + 0x10], eax
je 0x1002b33a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
cmp dword [ebp - 0x1c], 0
je 0x1002b34a
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.10095a60
mov esi, dword [esi + 0x14]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 2
call fcn.1000127e
jmp 0x1002b9b0
push 0x1019f4bc
lea ecx, [ebp - 0x10]
call fcn.10094520
push 4
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 7
call fcn.1005eb25
push dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 8
push dword [ebp + 0xc]
push eax
call fcn.1002c76a
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 9
call fcn.10094e50
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.10094cc0
mov eax, dword [ebp - 0x10]
cmp dword [eax - 8], esi
je 0x1002b3be
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x10]
call fcn.10094e50
jmp 0x1002b3d3
cmp dword [ebp - 0x1c], esi
je 0x1002b3c8
lea eax, [ebp - 0x14]
jmp 0x1002b3b3
push dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
call fcn.10094f40
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 7
call fcn.1005eb48
push dword [ebp - 0x10]
lea eax, [ebp - 0x280]
mov edi, 0x101aa510
push eax
mov ecx, edi
call fcn.1000a658
test eax, eax
je 0x1002b423
lea eax, [ebp + 0x10]
mov ecx, edi
push eax
mov dword [ebp + 0x10], esi
push dword [ebp - 0x10]
call fcn.1000a694
cmp dword [ebp + 0x10], esi
je 0x1002b423
push dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
call fcn.10094f40
push dword [ebp + 0x10]
call fcn.1007de95
pop ecx
push 1
lea ecx, [ebp - 0x64]
call fcn.10001261
and dword [ebp - 0x50], 0
xor eax, eax
lea edi, [ebp - 0x4c]
mov esi, dword [ebp + 8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x6c], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp + 8], eax
mov dword [ebp + 0x10], eax
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp + 0x20]
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 8]
push eax
push edi
or ebx, 4
call fcn.1005e85a
mov eax, dword [ebp + 0x10]
add esp, 0x10
test eax, eax
mov dword [ebp - 0x3c], eax
je 0x1002b4e8
mov ecx, dword [esi + 0xc]
cmp dword [ebp - 0x24], 0
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 0x24], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x1c], ecx
je 0x1002b4a0
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x28], eax
push ecx
mov eax, dword [ebp - 0x10]
push dword [ebp + 0x2c]
lea ecx, [ebp - 0x10]
mov eax, dword [eax - 8]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push eax
call fcn.10095990
push eax
push dword [ebp - 0x28]
push esi
call dword [ebp - 0x3c]
mov eax, dword [ebp - 0x6c]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x5c]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x30]
mov dword [esi + 0xc], eax
jmp 0x1002b54e
mov edi, dword [esi + 0x18]
test edi, edi
je 0x1002b54e
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp + 0xc]
je 0x1002b504
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x28], eax
push ecx
mov eax, dword [ebp - 0x10]
push dword [ebp + 0x2c]
lea ecx, [ebp - 0x10]
mov eax, dword [eax - 8]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push eax
call fcn.10095990
push eax
push dword [ebp - 0x28]
call edi
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test byte [esi + 0xa], 0x80
mov dword [esi + 0x10], eax
je 0x1002b54e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
call fcn.10095a60
cmp dword [ebp - 0x1c], 0
je 0x1002b568
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.10095a60
mov ebx, dword [esi + 0x14]
push 4
lea ecx, [ebp - 0x74]
mov dword [ebp + 0x24], ebx
call fcn.1005eb25
mov eax, dword [0x101b04b8]
mov byte [ebp - 4], 0xb
test eax, eax
mov esi, str.SafeInject
je 0x1002b5ba
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp + 0xc]
je 0x1002b596
mov edi, dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push dword [ebp + 0x28]
push dword [ebp - 0x10]
push edi
push 0xa2e
push str._CSafeInject::OnCreateProcessW__Line:_d_appname__s__NewCmdLine__s__CurrentDirectory__s__Ret__d__error__d_
push esi
push 4
call fcn.1007bb15
add esp, 0x24
test ebx, ebx
je 0x1002b989
lea eax, [ebp - 0x280]
mov edi, 0x101ad1f8
push eax
mov ecx, edi
call fcn.10050190
test eax, eax
jne 0x1002b63f
mov ecx, edi
call fcn.1004ed3e
test eax, eax
jne 0x1002b609
mov ecx, 0x101ad158
call fcn.10057be9
test eax, eax
je 0x1002b63f
lea eax, [ebp - 0x280]
push str.ReaderHostU.exe
push eax
call fcn.1007edba
pop ecx
test eax, eax
pop ecx
je 0x1002b63f
push dword [ebp - 0x40]
push 1
push dword [ebp - 0x48]
call fcn.10052dd3
add esp, 0xc
lea ecx, [ebp - 0x34]
call fcn.1007c2fd
lea eax, [ebp - 0x48]
push 1
push eax
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xc
call fcn.1007d10b
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call fcn.1007c326
push dword [ebp - 0x48]
lea eax, [ebp - 0x280]
mov ecx, edi
push eax
call fcn.1004cf1a
test eax, eax
je 0x1002b6a2
lea ecx, [ebp - 0x34]
call fcn.1007c2fd
lea eax, [ebp - 0x48]
push 1
push eax
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xd
call fcn.1007d10b
cmp dword [0x101b04b8], 0
je 0x1002b696
push dword [ebp - 0x48]
lea eax, [ebp - 0x280]
push eax
push 0xa40
push str._CSafeInject::OnCreateProcessW__Line:_d_FileDevice_Allow_it...Proc__s__PID__d_
push esi
push 4
call fcn.1007bb15
add esp, 0x18
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call fcn.1007c326
mov ecx, edi
call fcn.10050211
test eax, eax
je 0x1002b6c8
lea eax, [ebp - 0x280]
push str.TwMachining.exe
push eax
call fcn.1007edba
pop ecx
test eax, eax
pop ecx
je 0x1002b6c8
and dword [ebp - 0x18], 0
lea eax, [ebp + 0x28]
and dword [ebp + 0x28], 0
push eax
push dword [ebp - 0x48]
push dword [ebp - 0x50]
call fcn.10027369
add esp, 0xc
mov dword [ebp + 0x10], eax
test eax, eax
jne 0x1002b6eb
mov eax, dword [ebp - 0x50]
mov dword [ebp + 0x10], eax
push eax
mov edi, 0x101aad04
call fcn.100ab010
test eax, eax
pop ecx
je 0x1002b707
cmp dword [ebp - 0x18], 4
je 0x1002b70d
and dword [ebp - 0x18], 0
jmp 0x1002b70d
mov edi, dword [0x101ad644]
push edi
lea ecx, [ebp + 0x2c]
call fcn.100943c0
mov eax, dword [eax]
push 0
push eax
mov byte [ebp - 4], 0xe
call fcn.1007344b
mov ebx, eax
pop ecx
neg ebx
pop ecx
mov byte [ebp - 4], 0xb
sbb bl, bl
lea ecx, [ebp + 0x2c]
inc bl
call fcn.10094cc0
test bl, bl
je 0x1002b742
and dword [ebp - 0x18], 0
xor ebx, ebx
call fcn.100bc6f0
test eax, eax
je 0x1002b758
push str.tsysdrv.dll
call fcn.100d6050
pop ecx
mov eax, dword [ebp - 0x18]
cmp eax, 1
jne 0x1002b76e
push edi
push dword [ebp - 0x4c]
push dword [ebp + 0x10]
call fcn.100d7160
jmp 0x1002b7cb
cmp eax, 2
je 0x1002b7b7
cmp eax, 4
jne 0x1002b7bb
push edi
push dword [ebp - 0x48]
call fcn.10059a8e
cmp dword [0x101b04b8], 0
pop ecx
pop ecx
mov ebx, eax
je 0x1002b7b3
lea eax, [ebp - 0x280]
mov ecx, 0x101ad158
push eax
push ebx
push 4
call fcn.100aa1c0
push eax
push str.__s___CSafeInject::OnCreateProcessW__0001__Type:_d__Inject__d____s_
push esi
push 4
call fcn.1007bb15
add esp, 0x1c
test ebx, ebx
jne 0x1002b7d0
push 0
jmp 0x1002b7c2
cmp eax, 3
jne 0x1002b7d0
push 1
push edi
push dword [ebp + 0x10]
call fcn.100d7370
add esp, 0xc
mov ebx, eax
cmp dword [0x101b04b8], 0
je 0x1002b803
lea eax, [ebp - 0x280]
mov edi, 0x101ad158
push eax
push ebx
push dword [ebp - 0x18]
mov ecx, edi
call fcn.100aa1c0
push eax
push str.__s___CSafeInject::OnCreateProcessW___Type:_d__Inject__d____s_
push esi
push 4
call fcn.1007bb15
add esp, 0x1c
jmp 0x1002b808
mov edi, 0x101ad158
mov ecx, edi
call fcn.10057df6
test eax, eax
je 0x1002b954
cmp dword [ebp + 0xc], 0
je 0x1002b954
push dword [ebp + 0xc]
call fcn.10057a13
cmp eax, 0x310
pop ecx
jne 0x1002b954
mov ecx, edi
call fcn.100aa440
push eax
lea ecx, [ebp + 0xc]
call fcn.10094520
mov eax, dword [0x101b04b8]
mov byte [ebp - 4], 0xf
test eax, eax
mov ebx, str.SafeDoc
je 0x1002b86f
push dword [ebp + 0xc]
push 0xaa4
push str._CSafeInject::OnCreateProcessW__Line:_d__Cmd__s_
push ebx
push 4
call fcn.1007bb15
add esp, 0x14
mov edx, dword [ebp + 0xc]
cmp dword [edx - 8], 0
je 0x1002b948
xor esi, esi
xor eax, eax
lea edi, [ebp - 0x30]
mov dword [ebp - 0x34], esi
stosd dword es:[edi], eax
mov ecx, 0xf9
lea edi, [ebp - 0x666]
mov word [ebp - 0x668], si
push 0x1f3
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x668]
push edx
push eax
call fcn.1007e246
lea eax, [ebp - 0x34]
push 2
push eax
lea eax, [ebp - 0x668]
push eax
call fcn.100271ef
add esp, 0x18
cmp eax, 2
jne 0x1002b92a
cmp dword [0x101b04b8], esi
je 0x1002b8ec
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push 0xab6
push str._CSafeInject::OnCreateProcessW__Line:_d__Cmd1__s___Cmd2__s_
push ebx
push 4
call fcn.1007bb15
add esp, 0x18
push dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
call fcn.1002c5b0
mov edi, eax
push edi
push dword [ebp - 0x48]
call fcn.1000a24d
cmp dword [0x101b04b8], esi
pop ecx
pop ecx
je 0x1002b948
push dword [ebp + 0xc]
push dword [ebp - 0x48]
push edi
push 0xabd
push str._CSafeInject::OnCreateProcessW__Line:_d__Enable__d__PID__d__Cmd__s_
push ebx
push 4
call fcn.1007bb15
add esp, 0x1c
jmp 0x1002b948
cmp dword [0x101b04b8], esi
je 0x1002b948
push eax
push 0xab1
push str._CSafeInject::OnCreateProcessW__Line:_d__iCount__d_
push ebx
push 4
call fcn.1007bb15
add esp, 0x14
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0xb
call fcn.10094cc0
cmp dword [ebp + 0x28], 0
je 0x1002b963
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test byte [ebp + 0x20], 4
jne 0x1002b972
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
cmp dword [ebp + 0x30], 0
je 0x1002b989
lea eax, [ebp - 0x50]
push 0x10
push eax
push dword [ebp + 0x30]
call fcn.1007dea0
add esp, 0xc
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xa
call fcn.1005eb48
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 7
call fcn.1000127e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.10094cc0
mov esi, dword [ebp + 0x24]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.10094cc0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.10094cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.10094cc0
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x2c