Function at 0x4533f895
Capabilities:
Get common file path
Get geographical location

Disassembly:
mov eax, 0x45362c62
call fcn.4534228c
sub esp, 0x330
push ebx
push esi
mov ebx, ecx
xor esi, esi
push edi
cmp dword [ebx + 0x114], esi
je 0x4533f8bb
xor eax, eax
jmp 0x4533fc23
mov eax, dword [ebx + 0x42c]
cmp eax, esi
je 0x4533fc20
cmp word [eax], si
je 0x4533fc20
mov eax, dword [ebx + 0x430]
cmp eax, esi
je 0x4533fc20
cmp word [eax], si
je 0x4533fc20
lea eax, [ebp - 0x13c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edi, [ebx + 0x10]
lea eax, [ebp - 0x13c]
push edi
push esi
push str.hhTFS
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
push 0x10c
call fcn.45342660
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, esi
mov dword [ebp - 4], esi
je 0x4533f930
mov ecx, eax
call fcn.4532296d
mov esi, eax
or dword [ebp - 4], 0xffffffff
mov dword [ebx + 0x424], esi
test esi, esi
je 0x4533fc0c
mov ecx, esi
call fcn.4532299f
test eax, eax
jl 0x4533fc0c
push edi
mov ecx, esi
call fcn.45322ad5
test eax, eax
jl 0x4533fc0c
mov esi, str.1252
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp - 0x1f]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov esi, dword [ebx + 0x428]
push 0x14
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x24]
push eax
push 0x1004
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push esi
lea eax, [ebp - 0x38]
push 0x45366f94
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea esi, [ebx + 0x118]
lea eax, [ebp - 0x13c]
push esi
push 0
push str.hhMVP
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push str.ITIR.SystemSort
mov edi, str.HO:SortObject
push str.VIProgID
push edi
call esi
lea eax, [ebx + 0x118]
push eax
lea eax, [ebp - 0x24]
push eax
push str.CodePage
push edi
call esi
lea eax, [ebx + 0x118]
push eax
lea eax, [ebp - 0x38]
push eax
push str.Locale
push edi
call esi
lea eax, [ebx + 0x118]
push eax
push str.31_0
push str.Dword
push edi
call esi
lea eax, [ebx + 0x118]
push eax
push 0x453636e4
push str.String
push edi
call esi
xor edi, edi
lea eax, [ebp - 0x33c]
push edi
push edi
push 0x100
push eax
push 0xffffffffffffffff
push dword [ebx + 0x42c]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push edi
push edi
lea eax, [ebp - 0x23c]
push 0x100
push eax
push 0xffffffffffffffff
push dword [ebx + 0x430]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [ebx + 0x118]
push eax
lea eax, [ebp - 0x33c]
push str.ITIR.WordWheelBuild__SortObject
push eax
push str.INDEX
call esi
lea eax, [ebx + 0x118]
push eax
lea eax, [ebp - 0x23c]
push str.ITIR.WordWheelBuild__SortObject
push eax
push str.INDEX
call esi
lea eax, [ebx + 0x118]
push eax
push edi
push edi
push edi
call esi
lea esi, [ebx + 0x21c]
push 0x208
push esi
lea eax, [ebx + 0x118]
push 0xffffffffffffffff
push eax
push edi
push edi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebx + 0x434]
mov ecx, ebx
push eax
push 0x20
push esi
call fcn.4533fc32
mov esi, eax
cmp esi, edi
jl 0x4533fbef
mov eax, dword [ebx + 0x424]
lea ecx, [ebx + 0x438]
push ecx
push edi
mov eax, dword [eax + 4]
push edi
push 0x12
push str.logfile.txt
mov edx, dword [eax]
push eax
call dword [edx + 0xc]
mov esi, eax
cmp esi, edi
jl 0x4533fbef
push ebx
push 0x45363630
push 1
push edi
push 0x45363610
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
cmp esi, edi
jl 0x4533fbef
mov eax, dword [ebx + 0x424]
push dword [ebx + 0x438]
mov ecx, dword [eax + 4]
mov eax, dword [ebx]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0xc]
mov esi, eax
cmp esi, edi
jl 0x4533fbef
lea eax, [ebx + 0x43c]
push eax
push 0x45363620
push 1
push edi
push 0x45363600
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
cmp esi, edi
jl 0x4533fbef
mov eax, dword [ebx + 0x43c]
mov ecx, dword [ebx]
push ecx
push eax
mov edx, dword [eax]
mov dword [ebp - 0x10], eax
call dword [edx + 0xc]
mov esi, eax
cmp esi, edi
jl 0x4533fbef
push dword [ebx + 0x438]
mov eax, dword [ebp - 0x10]
push dword [ebx + 0x434]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov esi, eax
cmp esi, edi
jl 0x4533fbef
mov eax, dword [ebx]
lea edx, [ebx + 8]
mov esi, 0x45363650
push edx
mov ecx, dword [eax]
push esi
push dword [ebx + 0x42c]
push eax
call dword [ecx + 0x20]
mov eax, dword [ebx]
lea edx, [ebx + 0xc]
push edx
push esi
push dword [ebx + 0x430]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
lea eax, [ebx + 4]
push eax
push 0x453635c0
push 1
push edi
push 0x453635d0
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
cmp esi, edi
jl 0x4533fbef
cmp esi, edi
mov dword [ebx + 0x114], 1
jge 0x4533fbfe
mov ecx, ebx
call fcn.4533fcb2
mov dword [ebx + 0x114], edi
jmp 0x4533fc08
mov dword [ebx + 0x114], 1
mov eax, esi
jmp 0x4533fc23
push edi
push 0x20fb0
push dword [ebx + 0x440]
call fcn.4531deee
add esp, 0xc
push 1
pop eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret