Function at 0x453269a0
Capabilities:
Enumerate files on windows
Get common file path
Read .ini file

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x45362a77
push eax
mov eax, 0x1058
mov dword fs:[0], esp
call fcn.45342670
push ebx
push ebp
push esi
lea eax, [esp + 0x20]
push edi
push eax
mov ebp, ecx
push 6
push 0
mov dword [esp + 0x28], ebp
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jl 0x45326f87
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x104]
push ecx
push edx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
test eax, eax
je 0x45326f87
lea eax, [esp + 0x104]
push eax
call sym.HHA.dll_Ordinal_80
lea ecx, [esp + 0x104]
push ecx
call sym.HHA.dll_Ordinal_23
mov edx, eax
mov dword [esp + 0x14], edx
test edx, edx
mov dword [esp + 0x1070], 0
jne 0x45326a3c
push 0x4536697c
call sym.HHA.dll_Ordinal_23
mov ebx, eax
mov dword [esp + 0x14], ebx
jmp 0x45326a97
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x4536697c
mov esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esi + ecx + 1]
push eax
push edx
call fcn.453422b0
mov edx, eax
mov edi, 0x4536697c
or ecx, 0xffffffff
xor eax, eax
add esp, 8
mov dword [esp + 0x14], edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xac]
call sym.HHA.dll_Ordinal_35
lea ecx, [esp + 0x54]
mov byte [esp + 0x1070], 1
call sym.HHA.dll_Ordinal_35
lea ecx, [esp + 0x208]
mov byte [esp + 0x1070], 2
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x45326b26
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileA]
test byte [esp + 0x208], 0x10
je 0x45326afe
cmp byte [esp + 0x234], 0x2e
je 0x45326b10
lea edx, [esp + 0x234]
lea eax, [esp + 0xac]
push edx
push eax
jmp 0x45326b0b
lea ecx, [esp + 0x234]
lea edx, [esp + 0x54]
push ecx
push edx
call sym.HHA.dll_Ordinal_46
lea eax, [esp + 0x208]
push eax
push esi
call edi
test eax, eax
jne 0x45326ad8
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [esp + 0xbc]
dec ecx
test ecx, ecx
jne 0x45326b3f
mov edx, dword [esp + 0x64]
dec edx
test edx, edx
je 0x45326f55
mov ebx, dword [esp + 0x1078]
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x28]
rep stosd dword es:[edi], eax
mov byte [esp + 0x3d], bl
inc ebx
push 0x1d72a
mov dword [esp + 0x107c], ebx
call sym.HHA.dll_Ordinal_76
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
add ebp, 4
repne scasb al, byte es:[edi]
not ecx
push ecx
push ebp
mov dword [esp + 0x20], ebp
call sym.HHA.dll_Ordinal_108
mov edx, eax
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov edx, ecx
mov esi, edi
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], eax
push ecx
push 0x1c
push ebp
call sym.HHA.dll_Ordinal_47
lea ecx, [esp + 0xac]
call sym.HHA.dll_Ordinal_60
mov edx, dword [esp + 0xbc]
mov esi, 1
dec edx
cmp edx, esi
jl 0x45326c05
mov eax, dword [esp + 0xb0]
push ebx
lea edx, [esp + 0x108]
mov ecx, dword [eax + esi*4]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.45326fb0
mov eax, dword [esp + 0xbc]
inc esi
dec eax
cmp esi, eax
jle 0x45326bdb
lea ecx, [esp + 0x54]
call sym.HHA.dll_Ordinal_60
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], 1
dec ecx
cmp ecx, 1
jl 0x45326f51
lea edi, [esp + 0x104]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x348]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x348]
push ecx
call sym.HHA.dll_Ordinal_80
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
or ecx, 0xffffffff
mov edi, dword [eax + edx*4]
lea ebx, [edx*4]
xor eax, eax
lea edx, [esp + 0x348]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x44c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x348]
push ecx
push 0x410
push edx
push 0x453636e4
push 0x45367a80
push 0x45367a6c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jbe 0x45326f3b
mov al, byte [esp + 0x44c]
test al, al
je 0x45326f3b
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + ebx]
push ecx
call sym.HHA.dll_Ordinal_23
mov ebx, eax
mov dword [esp + 0x44], ebx
push 0x2e
push ebx
mov byte [esp + 0x1078], 3
call sym.HHA.dll_Ordinal_10
test eax, eax
je 0x45326f26
mov dl, byte [esp + 0x1078]
mov byte [eax], 0
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x3d], dl
repne scasb al, byte es:[edi]
not ecx
push ecx
push ebp
call sym.HHA.dll_Ordinal_108
mov edx, eax
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x10
mov esi, edi
mov ebp, ecx
mov edi, edx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x74]
shl esi, 2
call fcn.45341d70
mov ebp, eax
xor ecx, ecx
mov edx, ebp
add esp, 4
test esi, esi
mov dword [edx], ecx
mov dword [esp + 0x48], ebp
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
jne 0x45326d7f
mov esi, 4
push esi
call fcn.45341d70
mov edx, eax
mov ecx, esi
xor eax, eax
mov edi, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
add esp, 4
and ecx, 3
mov dword [esp + 0x50], 0
rep stosb byte es:[edi], al
mov dword [ebp + 0xc], edx
lea eax, [esp + 0x44c]
mov byte [esp + 0x1070], 4
test eax, eax
je 0x45326dc5
mov al, byte [esp + 0x44c]
test al, al
jne 0x45326dcc
xor eax, eax
jmp 0x45326ee7
mov ecx, dword [esp + 0x1c]
mov edi, dword [ecx + 0x98]
test edi, edi
je 0x45326e90
cmp byte [edi], 0
je 0x45326e90
lea edx, [esp + 0x44c]
push 0x3a
push edx
call sym.HHA.dll_Ordinal_8
test eax, eax
jne 0x45326e90
or ecx, 0xffffffff
lea edx, [esp + 0x85c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x85c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x44c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x85c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x18]
lea esi, [esp + 0x85c]
not ecx
push ecx
push eax
call sym.HHA.dll_Ordinal_108
mov edx, eax
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
mov edx, ecx
mov esi, edi
jmp 0x45326ed9
lea ecx, [esp + 0x44c]
push ecx
call sym.HHA.dll_Ordinal_3
test eax, eax
mov esi, eax
jne 0x45326ea8
mov esi, 0x453636e4
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x18]
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
call sym.HHA.dll_Ordinal_108
mov edx, eax
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
mov edx, ecx
mov esi, edi
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 4], eax
mov cl, byte [esp + 0x3f]
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x28]
and cl, 0xfe
push edx
xor cl, 1
push 0x1c
push eax
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x4b], cl
call sym.HHA.dll_Ordinal_47
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.45341e40
add esp, 4
push ebp
call fcn.45341e40
mov ebp, dword [esp + 0x1c]
add esp, 4
test ebx, ebx
mov byte [esp + 0x1070], 2
je 0x45326f3b
push ebx
call fcn.45341e40
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x64]
inc eax
dec edx
cmp eax, edx
mov dword [esp + 0x10], eax
jle 0x45326c24
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x54]
mov byte [esp + 0x1070], 1
call sym.HHA.dll_Ordinal_38
lea ecx, [esp + 0xac]
mov byte [esp + 0x1070], 0
call sym.HHA.dll_Ordinal_38
test ebx, ebx
je 0x45326f87
push ebx
call fcn.45341e40
add esp, 4
mov ecx, dword [esp + 0x1068]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1064
ret 4