Function at 0x100074ed
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x1002a4d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov esi, 0x206
push esi
push eax
mov word [ebp - 0x220], ax
lea eax, [ebp - 0x21e]
push eax
call fcn.1000dc70
add esp, 0xc
lea eax, [ebp - 0x220]
mov ebx, 0x104
push ebx
push eax
push dword [0x1002d348]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
xor eax, eax
push esi
push eax
mov word [ebp - 0x428], ax
lea eax, [ebp - 0x426]
push eax
call fcn.1000dc70
add esp, 0xc
lea eax, [ebp - 0x428]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 0x57
pop eax
push 0x69
mov word [0x1002d350], ax
lea edi, [ebp - 0x16]
pop eax
push 0x6e
mov word [0x1002d352], ax
pop eax
mov word [0x1002d354], ax
xor eax, eax
stosd dword es:[edi], eax
push 0x53
pop ecx
push 0x41
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
pop eax
push 0x50
mov word [ebp - 0x16], ax
pop eax
push 0x76
mov word [ebp - 0x14], ax
pop eax
push 0x63
mov word [ebp - 0x10], ax
pop eax
mov word [ebp - 0xe], ax
lea eax, [ebp - 0x18]
push eax
push ebx
push 0x1002d350
mov word [ebp - 0x18], cx
mov word [ebp - 0x12], cx
call fcn.1000b2bf
push 0x47
pop edx
push 0x6c
pop ecx
push 0x6f
mov word [0x1002d760], dx
mov word [0x1002d762], cx
pop eax
push 0x62
mov word [0x1002d764], ax
pop eax
push 0x61
mov word [0x1002d766], ax
pop eax
push 0x5c
mov word [0x1002d768], ax
pop eax
push 0x55
mov word [0x1002d76c], ax
pop eax
push 0x49
mov word [0x1002d770], ax
pop eax
push 0x44
mov word [0x1002d772], ax
pop eax
push 0x28
mov word [0x1002d774], ax
pop eax
push 0x34
pop edi
push 0x31
pop ebx
push 0x46
mov word [0x1002d776], ax
pop eax
push 0x32
mov word [0x1002d76e], dx
pop edx
push 0x35
mov word [0x1002d77e], ax
pop eax
push 0x39
mov word [0x1002d782], ax
pop eax
push 0x37
mov word [0x1002d76a], cx
pop ecx
push 0x2d
pop esi
push 0x30
mov word [0x1002d784], ax
pop eax
push 0x44
mov word [0x1002d78a], ax
pop eax
push 0x33
mov word [0x1002d780], dx
mov word [0x1002d790], dx
mov word [0x1002d796], dx
pop edx
push 0x42
mov word [0x1002d786], cx
mov word [0x1002d78c], cx
pop ecx
push 0x46
mov word [0x1002d778], di
mov word [0x1002d77c], di
mov word [0x1002d794], di
pop edi
push 0x41
mov word [0x1002d78e], ax
pop eax
push 0x38
mov word [0x1002d7aa], ax
pop eax
mov word [0x1002d77a], bx
mov word [0x1002d788], si
mov word [0x1002d792], si
mov word [0x1002d798], dx
mov word [0x1002d79a], cx
mov word [0x1002d79c], si
mov word [0x1002d79e], cx
mov word [0x1002d7a0], di
mov word [0x1002d7a2], bx
mov word [0x1002d7a4], cx
mov word [0x1002d7a6], si
mov word [0x1002d7a8], dx
mov word [0x1002d7ac], ax
push 0x44
pop esi
push 0x39
mov word [0x1002d7ae], si
pop esi
push 0x43
mov word [0x1002d7b2], ax
pop eax
push 0x35
mov word [0x1002d7b8], ax
pop eax
mov word [0x1002d7be], ax
push 0x29
pop eax
mov word [0x1002d7b0], si
mov word [0x1002d7b4], cx
mov word [0x1002d7b6], di
mov word [0x1002d7ba], dx
mov word [0x1002d7bc], cx
mov word [0x1002d7c0], ax
call fcn.10005bfe
push 2
pop edi
xor ecx, ecx
xor esi, esi
push 4
pop edx
mov eax, edi
mov dword [ebp - 0x42c], esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100098cc
lea ecx, [ebp - 0x430]
mov dword [0x1002d320], eax
add esp, 0x10
test ecx, ecx
je 0x100077c2
mov dword [eax], 0x10007eec
mov dword [0x1002d310], edi
mov dword [eax + 4], 0x1000858a
push 0x10005913
push 0x1002d350
call dword [sym.imp.ADVAPI32.dll_RegisterServiceCtrlHandlerW]
mov dword [0x1002d344], eax
pop edi
pop esi
pop ebx
test eax, eax
je 0x100077e3
call fcn.100057ba
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100099f1
mov esp, ebp
pop ebp
ret 8