Function at 0x10006a28
Capabilities:
Enumerate files on windows
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf68
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov byte [esi + 0x12c], 1
cmp dword [0x1002c458], ebx
jne 0x10006a58
call fcn.1000fdef
cmp dword [0x1002c458], ebx
je 0x10006ee6
lea eax, [ebp - 8]
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push eax
lea eax, [ebp - 0x14]
push eax
push ebx
push ebx
push str.LanguageID
push dword [0x1002c458]
mov dword [ebp - 8], 4
call edi
test eax, eax
jne 0x10006ee6
mov eax, dword [ebp - 0x14]
cmp ax, 9
mov dword [ebp - 0x18], eax
je 0x10006ee6
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x104
push eax
lea eax, [ebp - 0x568]
push eax
push ebx
push ebx
push 0x1002a4a0
push dword [0x1002c458]
call edi
test eax, eax
jne 0x10006ee6
lea eax, [ebp - 0x768]
push eax
lea eax, [ebp - 0x668]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x568]
push eax
call dword [sym.imp.MSVCRT.dll__splitpath]
add esp, 0x14
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x360]
push str._s_sLanguagesidm_.lng
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x360]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0xc], eax
je 0x10006ee6
mov edi, dword [sym.imp.MSVCRT.dll_strchr]
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x464]
push str._s_sLanguages_s
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea eax, [ebp - 0x464]
push 0x1002a4e8
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebx, eax
add esp, 0x1c
test ebx, ebx
je 0x10006ec5
push ebx
lea eax, [ebp - 0xf68]
push 0x800
push eax
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
test eax, eax
je 0x10006ebd
push 4
lea eax, [ebp - 0xf68]
push str.lang
push eax
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x10006ebd
lea eax, [ebp - 0xf64]
push 0x3d
push eax
call edi
pop ecx
test eax, eax
pop ecx
je 0x10006ebd
lea ecx, [ebp - 0x1c]
inc eax
push ecx
push 0x1002a4dc
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x10006ebd
movzx eax, word [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jne 0x10006ebd
push ebx
lea eax, [ebp - 0xf68]
push 0x800
push eax
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
test eax, eax
je 0x10006ebd
and dword [ebp - 0x10], 0
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xf68]
push 0x1002a4d8
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne case.default.0x10006dbd
lea eax, [ebp - 0xf68]
push 0x3d
push eax
call edi
pop ecx
test eax, eax
pop ecx
je case.default.0x10006dbd
mov ecx, dword [ebp - 0x10]
mov edx, 0x5175
inc eax
cmp ecx, edx
jg 0x10006d9b
je 0x10006d8d
mov edx, 0x5063
cmp ecx, edx
jg 0x10006d24
je 0x10006d10
sub ecx, 0x4fc5
je 0x10006cfc
dec ecx
je 0x10006ce5
dec ecx
je 0x10006cce
sub ecx, 0x99
je 0x10006cb7
dec ecx
je 0x10006ca0
dec ecx
jne case.default.0x10006dbd
push eax
lea ecx, [esi + 0xa8]
call fcn.10006f0f
push dword [esi + 0xac]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x9c]
call fcn.10006f0f
push dword [esi + 0xa0]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x90]
call fcn.10006f0f
push dword [esi + 0x94]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x120]
call fcn.10006f0f
push dword [esi + 0x124]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x114]
call fcn.10006f0f
push dword [esi + 0x118]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x108]
call fcn.10006f0f
push dword [esi + 0x10c]
jmp 0x10006d81
push eax
lea ecx, [esi + 0xb4]
call fcn.10006f0f
push dword [esi + 0xb8]
jmp 0x10006d81
sub ecx, 0x5136
je 0x10006d76
dec ecx
je 0x10006d68
sub ecx, 0x3b
je 0x10006d5a
dec ecx
je 0x10006d4c
dec ecx
jne case.default.0x10006dbd
push eax
lea ecx, [esi + 0x30]
call fcn.10006f0f
push dword [esi + 0x34]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x24]
call fcn.10006f0f
push dword [esi + 0x28]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x18]
call fcn.10006f0f
push dword [esi + 0x1c]
jmp 0x10006d81
push eax
lea ecx, [esi + 0xc]
call fcn.10006f0f
push dword [esi + 0x10]
jmp 0x10006d81
push eax
mov ecx, esi
call fcn.10006f0f
push dword [esi + 4]
mov ecx, esi
call fcn.10006f6c
jmp case.default.0x10006dbd
push eax
lea ecx, [esi + 0x3c]
call fcn.10006f0f
push dword [esi + 0x40]
jmp 0x10006d81
mov edx, 0x51a9
cmp ecx, edx
jg 0x10006e80
je 0x10006e69
add ecx, 0xffffae8a
cmp ecx, 8
ja case.default.0x10006dbd
jmp dword [ecx*4 + 0x10006eeb]
push eax
lea ecx, [esi + 0x48]
call fcn.10006f0f
push dword [esi + 0x4c]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x54]
call fcn.10006f0f
push dword [esi + 0x58]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x60]
call fcn.10006f0f
push dword [esi + 0x64]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x6c]
call fcn.10006f0f
push dword [esi + 0x70]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x78]
call fcn.10006f0f
push dword [esi + 0x7c]
jmp 0x10006d81
push eax
lea ecx, [esi + 0x84]
call fcn.10006f0f
push dword [esi + 0x88]
jmp 0x10006d81
push eax
lea ecx, [esi + 0xc0]
call fcn.10006f0f
push dword [esi + 0xc4]
jmp 0x10006d81
push eax
lea ecx, [esi + 0xcc]
call fcn.10006f0f
push dword [esi + 0xd0]
jmp 0x10006d81
push eax
lea ecx, [esi + 0xd8]
call fcn.10006f0f
push dword [esi + 0xdc]
jmp 0x10006d81
push eax
lea ecx, [esi + 0xe4]
call fcn.10006f0f
push dword [esi + 0xe8]
jmp 0x10006d81
sub ecx, 0x51aa
je 0x10006ea6
dec ecx
jne case.default.0x10006dbd
push eax
lea ecx, [esi + 0xfc]
call fcn.10006f0f
push dword [esi + 0x100]
jmp 0x10006d81
push eax
lea ecx, [esi + 0xf0]
call fcn.10006f0f
push dword [esi + 0xf4]
jmp 0x10006d81
push ebx
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
lea eax, [ebp - 0x25c]
push eax
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x10006b2c
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
pop ebx
leave
ret