Function at 0x47440c
Capabilities:
Acquire debug privileges
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdcc
xor eax, eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], eax
xor eax, eax
push ebp
push 0x474849
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x70217c], 0
jne 0x474460
push 0x474854
push 0x474888
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040a5cc
mov dword [0x70217c], eax
cmp dword [0x702180], 0
jne 0x474483
push 0x47489c
push 0x4748c8
call sub.kernel32.dll_LoadLibraryW
push eax
call fcn.0040a5cc
mov dword [0x702180], eax
cmp dword [0x70218c], 0
jne 0x4744a6
push 0x4748dc
push 0x474914
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040a5cc
mov dword [0x70218c], eax
cmp dword [0x702190], 0
jne 0x4744c9
push 0x474930
push 0x4748c8
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040a5cc
mov dword [0x702190], eax
cmp dword [0x702178], 0
jne 0x4744ec
push 0x474964
push 0x4748c8
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040a5cc
mov dword [0x702178], eax
cmp dword [0x702184], 0
jne 0x47450f
push 0x474990
push 0x4749b0
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040a5cc
mov dword [0x702184], eax
cmp dword [0x702188], 0
jne 0x474532
push 0x4749c8
push 0x474914
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040a5cc
mov dword [0x702188], eax
xor eax, eax
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x218]
push eax
push 0
push 0
push 5
call dword [0x70217c]
xor eax, eax
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x218], 0
jne 0x4745cb
mov dword [ebp - 0x218], 0x10000
mov eax, dword [ebp - 0x218]
add eax, eax
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x220]
push eax
call sub.kernel32.dll_LocalFree
mov eax, dword [ebp - 0x218]
push eax
push 0x40
call sub.kernel32.dll_LocalAlloc_1
mov dword [ebp - 0x220], eax
push 0
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x220]
push eax
push 5
call dword [0x70217c]
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
je 0x47460b
cmp dword [ebp - 0x218], 0x400000
jne 0x474568
jmp 0x47460b
mov eax, dword [ebp - 0x218]
add eax, eax
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x218]
push eax
push 0x40
call sub.kernel32.dll_LocalAlloc_1
mov dword [ebp - 0x220], eax
push 0
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x220]
push eax
push 5
call dword [0x70217c]
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
jne 0x47481f
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x224], eax
mov eax, 0x4749f4
mov dl, 1
call fcn.00473980
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0x20], edx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0xc], edx
mov eax, dword [ebp - 0x224]
cmp dword [eax + 0x3c], 0
je 0x4747cc
lea eax, [ebp - 0x228]
mov edx, dword [ebp - 0x224]
mov edx, dword [edx + 0x3c]
call fcn.00406f3c
mov eax, dword [ebp - 0x224]
mov eax, dword [eax + 0x44]
push eax
push 0
push 0x410
call sub.kernel32.dll_OpenProcess
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x474794
push ebp
lea eax, [ebp - 0x22c]
call fcn.00474270
pop ecx
mov edx, dword [ebp - 0x22c]
lea eax, [ebp - 0x228]
call fcn.00406dd4
cmp dword [ebp - 0x228], 0
je 0x474755
mov edx, dword [ebp - 0x228]
mov eax, 0x474a24
call fcn.0040d5bc
test al, al
je 0x47472a
push 0x104
lea eax, [ebp - 0x20a]
push eax
call sub.kernel32.dll_GetSystemDirectoryW
lea eax, [ebp - 0x230]
push eax
mov ecx, 0x7fffffff
mov edx, 0x15
mov eax, dword [ebp - 0x228]
call fcn.0040753c
mov eax, dword [ebp - 0x230]
push eax
lea eax, [ebp - 0x234]
lea edx, [ebp - 0x20a]
mov ecx, 0x105
call fcn.00406f90
mov edx, dword [ebp - 0x234]
lea eax, [ebp - 0x228]
pop ecx
call fcn.00407264
jmp 0x474769
mov edx, dword [ebp - 0x228]
mov eax, 0x474a5c
call fcn.0040d4e8
test al, al
je 0x474769
lea eax, [ebp - 0x228]
mov ecx, 4
mov edx, 1
call fcn.0040760c
jmp 0x474769
lea eax, [ebp - 0x228]
mov edx, dword [ebp - 0x224]
mov edx, dword [edx + 0x3c]
call fcn.00406f3c
cmp dword [0x702178], 0
je 0x474788
push 0x28
mov eax, dword [ebp + 8]
add eax, 0xffffffd4
push eax
mov eax, dword [ebp - 0x214]
push eax
call dword [0x702178]
mov eax, dword [ebp - 0x214]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x224]
mov eax, dword [eax + 0x4c]
push eax
mov eax, dword [ebp - 0x224]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 0x50]
mov eax, dword [ebp - 0x224]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 0x228]
call fcn.00473bb8
pop ecx
jmp 0x474801
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x224]
mov eax, dword [eax + 0x4c]
push eax
mov eax, dword [ebp - 0x224]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 0x50]
mov eax, dword [ebp - 0x224]
mov edx, dword [eax + 0x44]
mov eax, 0x474a74
call fcn.00473bb8
pop ecx
mov eax, dword [ebp - 0x224]
cmp dword [eax], 0
je 0x47481f
mov eax, dword [ebp - 0x224]
mov eax, dword [eax]
add dword [ebp - 0x224], eax
jmp 0x474630
mov eax, dword [ebp - 0x220]
push eax
call sub.kernel32.dll_LocalFree
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x474850
lea eax, [ebp - 0x234]
mov edx, 4
call fcn.00406d78
ret