Function at 0x1033f4a
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x654
mov eax, dword [0x10372b8]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x61c], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x618], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x620], eax
mov edi, 0x104
push edi
lea eax, [ebp - 0x20c]
push eax
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor ebx, ebx
cmp eax, ebx
je 0x103402a
cmp eax, 3
jne 0x1033fa6
mov word [ebp - 0x208], bx
lea eax, [ebp - 0x20c]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
cmp eax, ebx
pop ecx
pop ecx
je 0x1033fbe
mov word [eax], bx
lea eax, [ebp - 0x20c]
push eax
mov ecx, esi
call fcn.01033c91
cmp eax, ebx
jl 0x10341ac
mov eax, dword [esi + 0x30]
cmp dword [eax + 8], ebx
je 0x103409a
lea eax, [ebp - 0x20c]
push eax
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.01006c58
cmp eax, ebx
jl 0x10341ac
push 0x1004500
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.01007c70
cmp eax, ebx
jl 0x10341ac
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [esi + 4], eax
jne 0x103404e
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x103403d
call esi
jmp 0x10341ac
call esi
and eax, 0xffff
or eax, 0x80070000
jmp 0x10341ac
push 0x10044ec
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [esi + 0x38], eax
jne 0x103406b
mov eax, 0x8000ffff
jmp 0x10341ac
mov edi, dword [esi + 0x2c]
jmp 0x1034081
mov edi, dword [edi + 4]
cmp edi, ebx
jne 0x103407c
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
cmp edi, dword [esi + 0x2c]
je 0x1034091
push dword [edi + 8]
mov ecx, esi
call fcn.01033416
test eax, eax
je 0x1034070
jmp 0x1034093
xor edi, edi
cmp edi, ebx
mov dword [esi + 0x2c], edi
jne 0x10340a4
mov eax, 0x80042017
jmp 0x10341ac
cmp dword [ebp + 0x10], ebx
je 0x10340b0
xor eax, eax
jmp 0x10341ac
push 0xc
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
je 0x10340ca
mov dword [eax], 0x10044a8
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x10340cc
xor eax, eax
cmp eax, ebx
mov dword [esi + 0x1c], eax
je 0x10341a7
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
push dword [ebp + 0x18]
lea eax, [ebp - 0x614]
push 0x100
push eax
push 0xbf
call fcn.01016a53
mov eax, dword [esi + 0x34]
cmp eax, ebx
je 0x1034105
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push dword [ebp + 0x18]
push dword [ebp - 0x620]
push 0x44e
call fcn.0102e5ce
cmp eax, ebx
mov dword [esi + 0x34], eax
je 0x10341a7
push 0x10044d0
push dword [ebp - 0x61c]
mov dword [ebp - 0x648], eax
lea eax, [ebp - 0x614]
mov dword [ebp - 0x654], 0x34
mov dword [ebp - 0x650], 9
mov dword [ebp - 0x64c], ebx
mov dword [ebp - 0x644], ebx
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], 0x10338f3
mov dword [ebp - 0x630], ebx
mov dword [ebp - 0x634], ebx
mov dword [ebp - 0x638], esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x654]
push ecx
call eax
cmp eax, ebx
je 0x10341a7
push ebx
push eax
call dword [ebp - 0x618]
neg eax
sbb eax, eax
and eax, 0x7fffbffb
add eax, 0x80004005
jmp 0x10341ac
mov eax, 0x8007000e
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01034a90
leave
ret 0x14