Function at 0x103370c
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x654
mov eax, dword [0x10372d8]
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 0x10337dc
cmp eax, 3
jne 0x1033768
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 0x1033780
mov word [eax], bx
lea eax, [ebp - 0x20c]
push eax
mov ecx, esi
call fcn.0103347d
cmp eax, ebx
jl 0x103395e
mov eax, dword [esi + 0x30]
cmp dword [eax + 8], ebx
je 0x103384c
lea eax, [ebp - 0x20c]
push eax
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.01006b55
push 0x10044a0
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.01007b43
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [esi + 4], eax
jne 0x1033800
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x10337ef
call esi
jmp 0x103395e
call esi
and eax, 0xffff
or eax, 0x80070000
jmp 0x103395e
push 0x100448c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [esi + 0x38], eax
jne 0x103381d
mov eax, 0x8000ffff
jmp 0x103395e
mov edi, dword [esi + 0x2c]
jmp 0x1033833
mov edi, dword [edi + 4]
cmp edi, ebx
jne 0x103382e
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
cmp edi, dword [esi + 0x2c]
je 0x1033843
push dword [edi + 8]
mov ecx, esi
call fcn.01032bde
test eax, eax
je 0x1033822
jmp 0x1033845
xor edi, edi
cmp edi, ebx
mov dword [esi + 0x2c], edi
jne 0x1033856
mov eax, 0x80042017
jmp 0x103395e
cmp dword [ebp + 0x10], ebx
je 0x1033862
xor eax, eax
jmp 0x103395e
push 0xc
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
je 0x103387c
mov dword [eax], 0x1004448
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x103387e
xor eax, eax
cmp eax, ebx
mov dword [esi + 0x1c], eax
je 0x1033959
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.01016633
mov eax, dword [esi + 0x34]
cmp eax, ebx
je 0x10338b7
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push dword [ebp + 0x18]
push dword [ebp - 0x620]
push 0x44e
call fcn.0102e0d1
cmp eax, ebx
mov dword [esi + 0x34], eax
je 0x1033959
push 0x1004470
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], 0x10330e4
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 0x1033959
push ebx
push eax
call dword [ebp - 0x618]
neg eax
sbb eax, eax
and eax, 0x7fffbffb
add eax, 0x80004005
jmp 0x103395e
mov eax, 0x8007000e
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01034242
leave
ret 0x14