Function at 0x43df70
Capabilities:
Get common file path
Query environment variable

Disassembly:
mov eax, 0x50d4
call fcn.004ebbf0
mov eax, dword [0x528af4]
xor eax, esp
mov dword [esp + 0x50d0], eax
cmp byte [0x53898c], 0
push ebx
push esi
mov esi, dword [esp + 0x50e0]
mov ebx, ecx
jne 0x43dfcc
cmp word [esi], 0x2e
jne 0x43dfcc
movzx eax, word [esi + 2]
push eax
call fcn.004789a0
test al, al
je 0x43dfbb
add esi, 4
cmp word [esi], 0x2e
je 0x43dfa2
jmp 0x43dfcc
cmp word [esi], 0x2e
jne 0x43dfcc
cmp word [esi + 2], 0
je 0x43e445
push 0x800
lea eax, [esp + 0x3014]
push eax
push esi
call fcn.00478310
mov ecx, 0x50b7f8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43e00c
test dx, dx
je 0x43e008
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43e00c
add eax, 4
add ecx, 4
test dx, dx
jne 0x43dfe6
xor eax, eax
jmp 0x43e011
sbb eax, eax
or eax, 1
push edi
test eax, eax
push esi
sete byte [esp + 0x13]
call fcn.00478e80
mov edi, eax
movzx ecx, word [edi]
push ecx
call fcn.004789a0
test al, al
je 0x43e074
cmp byte [esp + 0xf], 0
jne 0x43e074
lea ecx, [esp + 0x3014]
mov eax, esi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43e066
test dx, dx
je 0x43e062
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43e066
add eax, 4
add ecx, 4
test dx, dx
jne 0x43e040
xor eax, eax
jmp 0x43e06b
sbb eax, eax
or eax, 1
test eax, eax
je 0x43e074
xor eax, eax
mov word [edi], ax
push ebp
xor ebp, ebp
mov edi, esi
cmp word [esi], bp
je 0x43e0b9
mov edi, edi
cmp word [edi], 0x2e
jne 0x43e0b9
cmp word [edi + 2], 0x2e
jne 0x43e0b9
movzx eax, word [edi + 4]
push eax
call fcn.004789a0
test al, al
jne 0x43e0a2
cmp word [edi + 4], 0
jne 0x43e0b9
xor eax, eax
cmp word [edi + 4], ax
setne al
inc ebp
add eax, 2
cmp word [edi + eax*2], 0
lea edi, [edi + eax*2]
jne 0x43e080
cmp byte [0x53898c], 0
je 0x43e0dd
cmp byte [esp + 0x50ec], 0
je 0x43e0dd
push esi
call fcn.00478870
test al, al
je 0x43e0dd
mov ecx, ebx
call fcn.0043e4b0
cmp byte [ebx + 0x1042], 0
je 0x43e112
mov ecx, dword [ebx + 0x2144]
mov eax, ebp
cmp ebp, ecx
jl 0x43e0f4
mov eax, ecx
cmp byte [esp + 0x13], 0
je 0x43e0fd
mov eax, ecx
test eax, eax
je 0x43e112
push 0
push eax
mov ecx, ebx
call fcn.0043f330
push 0
jmp 0x43e43c
mov byte [ebx + 0x1042], 0
cmp byte [0x53898c], 0
je 0x43e20b
push 0
push 0x50c6e8
push str.FileList
call fcn.0049fd30
test eax, eax
je 0x43e143
test ebp, ebp
je 0x43e443
push 0x800
lea eax, [esp + 0x201c]
mov ecx, 0x55a850
push eax
call fcn.004051a0
mov ecx, 0x50b7f8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43e187
test dx, dx
je 0x43e183
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43e187
add eax, 4
add ecx, 4
test dx, dx
jne 0x43e161
xor eax, eax
jmp 0x43e18c
sbb eax, eax
or eax, 1
test eax, eax
je 0x43e1bd
push esi
mov ecx, 0x55a850
call fcn.00406aa0
test al, al
je 0x43e1bd
xor eax, eax
lea ecx, [esp + 0x2018]
test ebp, ebp
setle al
dec eax
and eax, ecx
mov ecx, ebx
push eax
call fcn.00442300
jmp 0x43e443
push 0x800
lea eax, [esp + 0x1c]
mov ecx, 0x55a850
push eax
call fcn.00404e00
push 0x800
lea eax, [esp + 0x1c]
push eax
lea esi, [ebx + 0x1044]
push esi
call fcn.0048e710
push esi
call fcn.00478f10
mov ecx, ebx
call fcn.0043e4b0
test al, al
je 0x43e443
lea eax, [esp + 0x18]
push eax
call fcn.00478eb0
jmp 0x43e43b
push 0x800
lea edi, [ebx + 0x1044]
push edi
lea eax, [esp + 0x2020]
push eax
call fcn.0048e710
xor eax, eax
mov word [esp + 0x18], ax
test ebp, ebp
jle 0x43e2f6
cmp byte [ebx + 0x1042], 0
jne 0x43e2f6
push edi
call fcn.00478840
test al, al
je 0x43e2b2
movzx eax, word [ebx + 0x1048]
push eax
call fcn.004789a0
test al, al
je 0x43e2b2
cmp word [ebx + 0x104a], 0
jne 0x43e2b2
cmp dword [ebx + 0x2144], 0
jle 0x43e277
mov byte [ebx + 0x1042], 1
jmp 0x43e2ce
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push 0
push 0
push 0x11
push dword [ebx + 0x28]
call dword [sym.imp.SHELL32.dll_SHGetFolderLocation]
push dword [esp + 0x14]
mov ecx, 0x55d4d8
call fcn.00444330
mov eax, dword [0x595554]
push dword [esp + 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
jmp 0x43e2ce
push 0x800
push edi
call fcn.00478eb0
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0048e710
push edi
call fcn.00478f10
dec ebp
cmp word [esi], 0x2e
jne 0x43e2de
add esi, 2
cmp word [esi], 0x2e
je 0x43e2d5
movzx eax, word [esi]
push eax
call fcn.004789a0
test al, al
je 0x43e2ee
add esi, 2
test ebp, ebp
jg 0x43e233
cmp byte [esp + 0x13], 0
je 0x43e325
push 0x800
lea eax, [esp + 0x101c]
push eax
push edi
call fcn.00478310
push 0x800
lea eax, [esp + 0x101c]
push eax
push edi
call fcn.0048e710
jmp 0x43e35a
push esi
call fcn.00478870
test al, al
je 0x43e33d
push 0x800
push esi
push edi
call fcn.0048e710
jmp 0x43e35a
cmp word [esi], 0
je 0x43e35a
push 0x800
push edi
call fcn.00477290
push 0x800
push esi
push edi
call fcn.0048e6d0
push edi
call fcn.004782d0
mov ebp, eax
cmp ebp, 0xffffffff
je 0x43e391
call fcn.004c3b10
mov edx, 1
mov ecx, ebp
shl edx, cl
test edx, eax
jne 0x43e391
push 0x800
lea eax, [esp + 0x201c]
push eax
push edi
call fcn.0048e710
jmp 0x43e443
cmp byte [ebx + 0x1042], 0
jne 0x43e42c
push edi
call fcn.00469360
test al, al
jne 0x43e42c
push 0x800
lea eax, [esp + 0x101c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x43e3de
lea eax, [esp + 0x1018]
push eax
call fcn.00469360
test al, al
je 0x43e3de
lea eax, [esp + 0x1018]
jmp 0x43e420
push edi
push 0x6c
call fcn.00488530
push eax
lea eax, [esp + 0x4020]
push 0x864
push eax
call fcn.004028e0
add esp, 0x10
push 0x10
push 0x66
call fcn.00488530
push eax
lea eax, [esp + 0x4020]
push eax
push dword [0x538900]
call fcn.004c4910
lea eax, [esp + 0x2018]
push 0x800
push eax
push edi
call fcn.0048e710
movzx eax, word [esp + 0x18]
lea ecx, [esp + 0x18]
neg eax
sbb eax, eax
and eax, ecx
push eax
mov ecx, ebx
call fcn.00442c60
pop ebp
pop edi
mov ecx, dword [esp + 0x50d8]
pop esi
pop ebx
xor ecx, esp
call fcn.004ebbd8
add esp, 0x50d4
ret 8