Function at 0x47dcb0
Capabilities:
Check for time delay via queryperformancecounter
Create process on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fedd1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x138
mov eax, dword [0x534090]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xcc], eax
call fcn.00433fc0
mov edi, eax
mov dword [ebp - 0xe8], 0x5193b4
xorps xmm0, xmm0
mov dword [ebp - 0xe4], edi
movlpd qword [ebp - 0xf0], xmm0
mov dword [ebp - 0xe0], 0
mov ecx, dword [edi]
cmp dword [ecx], 0
je 0x47dd80
lea eax, [ebp - 0xd0]
movlpd qword [ebp - 0xd0], xmm0
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
push 0x515300
push str._BDREINIT__::_CReinitProcess::RestartProcess___
push str._s_s
push 0x515300
push 0
push edi
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], ecx
call fcn.00433290
add esp, 0x18
lea eax, [ebp - 0xa8]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.0047c460
mov byte [ebp - 4], 1
call fcn.00433fc0
mov eax, dword [eax]
cmp dword [eax], 0
je 0x47de3e
lea eax, [ebp - 0xc0]
push eax
call fcn.0047e390
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 8
mov dword [ebp - 0xcc], 1
jb 0x47ddcb
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
lea edx, [ebp - 0xc8]
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x44]
call fcn.00417fd0
add esp, 4
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c]
push eax
mov dword [ebp - 0xcc], 3
call fcn.0043a3c0
mov dword [ebp - 4], 4
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
mov eax, 0xf
mov dword [ebp - 0xc8], eax
cmovae esi, dword [ebp - 0x2c]
mov dword [ebp - 0xcc], eax
call fcn.00433fc0
push esi
push 0
push str._BDREINIT__::_CReinitProcess::RestartProcess____
push 0
push eax
call fcn.00436d10
add esp, 0x14
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0xc8]
test al, 4
je 0x47deac
mov edx, dword [ebp - 0x18]
and eax, 0xfffffffb
mov dword [ebp - 0xc8], eax
cmp edx, 8
jb 0x47de98
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47de88
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47e364
push edx
push ecx
call fcn.004cb66f
mov eax, dword [ebp - 0xc8]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], cx
mov dword [ebp - 4], 2
test al, 2
je 0x47df14
mov edx, dword [ebp - 0x30]
and eax, 0xfffffffd
mov dword [ebp - 0xc8], eax
cmp edx, 8
jb 0x47df00
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47def0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47e364
push edx
push ecx
call fcn.004cb66f
mov eax, dword [ebp - 0xc8]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], cx
mov dword [ebp - 4], 1
test al, 1
je 0x47df5f
mov edx, dword [ebp - 0xac]
cmp edx, 8
jb 0x47df5f
mov ecx, dword [ebp - 0xc0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47df55
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47e364
push edx
push ecx
call fcn.004cb66f
add esp, 8
xorps xmm0, xmm0
movups xmmword [ebp - 0x100], xmm0
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 5
cmp dword [ebp - 0x94], 8
lea eax, [ebp - 0xa8]
push ecx
cmovae eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0x148]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0
movlpd qword [ebp - 0x144], xmm0
movlpd qword [ebp - 0x13c], xmm0
movlpd qword [ebp - 0x134], xmm0
movlpd qword [ebp - 0x12c], xmm0
movlpd qword [ebp - 0x124], xmm0
movlpd qword [ebp - 0x11c], xmm0
movlpd qword [ebp - 0x114], xmm0
movlpd qword [ebp - 0x10c], xmm0
mov dword [ebp - 0x148], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x47e20a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xcc], eax
lea edx, [ebp - 0x90]
xor eax, eax
mov dword [ebp - 0x90], 0x80728045
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x8c], 0x806f8072
mov dword [ebp - 0x88], 0x802c8072
mov dword [ebp - 0x84], 0x80638020
mov dword [ebp - 0x80], 0x806c8061
mov dword [ebp - 0x7c], 0x8069806c
mov dword [ebp - 0x78], 0x8067806e
mov dword [ebp - 0x74], 0x80438020
mov dword [ebp - 0x70], 0x80658072
mov dword [ebp - 0x6c], 0x80748061
mov dword [ebp - 0x68], 0x80508065
mov dword [ebp - 0x64], 0x806f8072
mov dword [ebp - 0x60], 0x80658063
mov dword [ebp - 0x5c], 0x80738073
mov dword [ebp - 0x58], 0x803a8057
mov dword [ebp - 0x54], 0x807b8020
mov dword [ebp - 0x50], 0x8000807d
mov word [ebp - 0x4c], ax
call fcn.00416fb0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
lea edx, [ebp - 0xc8]
lea ecx, [ebp - 0xc0]
cmovae eax, dword [ebp - 0x44]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xcc]
push eax
call fcn.00417e30
add esp, 4
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 7
call fcn.0043a3c0
mov byte [ebp - 4], 8
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
cmovae esi, dword [ebp - 0x2c]
call fcn.00433fc0
push esi
push 0
push str._BDREINIT__::_CReinitProcess::RestartProcess____
push 8
push eax
call fcn.00436d10
mov byte [ebp - 4], 7
add esp, 0x14
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x47e13b
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47e131
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47e369
push edx
push ecx
call fcn.004cb66f
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
cmp edx, 8
jb 0x47e193
mov ecx, dword [ebp - 0xc0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47e189
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47e369
push edx
push ecx
call fcn.004cb66f
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 7
mov word [ebp - 0xc0], ax
cmp edx, 8
jb 0x47e1ee
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47e1e4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47e369
push edx
push ecx
call fcn.004cb66f
add esp, 8
xor eax, eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
mov byte [ebp - 0xc1], al
jmp 0x47e211
mov byte [ebp - 0xc1], 1
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x100]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x47e233
push eax
call esi
mov ecx, dword [ebx + 4]
test eax, eax
je 0x47e36e
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x47e24b
push eax
call esi
mov ecx, dword [ebx + 4]
test eax, eax
je 0x47e379
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x94]
cmp edx, 8
jb 0x47e28f
mov ecx, dword [ebp - 0xa8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47e285
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47e384
push edx
push ecx
call fcn.004cb66f
add esp, 8
xor eax, eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 7
mov word [ebp - 0xa8], ax
mov dword [ebp - 4], 9
mov eax, dword [edi]
cmp dword [eax], 0
je 0x47e340
mov esi, dword [0x539170]
lea eax, [ebp - 0xd8]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0xd8], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0xd8]
sub ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xd4]
sbb edx, dword [ebp - 0xec]
call fcn.004f4530
mov edx, dword [esi + 4]
mov ecx, dword [esi]
movsd qword [ebp - 0xd8], xmm0
call fcn.004f4530
movsd xmm1, qword [ebp - 0xd8]
sub esp, 8
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x515300
push str._s_n____.6f___
push 0x5193b4
push 0
push edi
call fcn.00433290
add esp, 0x1c
mov al, byte [ebp - 0xc1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004cb63e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004d05ef
call fcn.004d05ef
push ecx
mov edx, 0x93e
call fcn.00449290
push ecx
mov edx, 0x93e
call fcn.00449290
call fcn.004d05ef
int3