Function at 0x422eb0
Capabilities:
Enumerate files on windows

Disassembly:
push 0xffffffffffffffff
push 0x4377cc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x94c
push ebx
push ebp
push esi
lea eax, [esp + 0x15b]
mov esi, 0x3f8
mov ebx, 0xffff00
push edi
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], esi
mov dword [esp + 0x15c], ebx
push 0
push str.systemplugin.dll
lea ecx, [esp + 0x15c]
mov dword [esp + 0x96c], 0
call dword [sym.imp.GRBase.dll_public:_class_CGoRunSoftware::GString_const____thiscall_CGoRunSoftware::GString::WindowsPath_char_const__]
mov ecx, dword [0x4533dc]
push eax
push 0x232
push ecx
call dword [sym.imp.kernel.dll_int___cdecl_CGoRunSoftware::CreateFileFromResource_struct_HINSTANCE_____unsigned_short_int__class_CGoRunSoftware::GString_const___char_const__]
mov edi, dword [sym.imp.GRBase.dll_public:_void___thiscall_CGoRunSoftware::GString::destructor_void_]
add esp, 0x10
lea ecx, [esp + 0x154]
mov dword [esp + 0x964], 0xffffffff
call edi
lea edx, [esp + 0x15f]
mov dword [esp + 0x158], esi
mov dword [esp + 0x154], edx
mov dword [esp + 0x15c], ebx
mov ebp, dword [sym.imp.GRBase.dll_public:_class_CGoRunSoftware::GString_const____thiscall_CGoRunSoftware::GString::GRCADFilterPath_char_const__]
push str..8bf
lea ecx, [esp + 0x158]
mov dword [esp + 0x968], 1
call ebp
mov eax, dword [eax]
lea ecx, [esp + 0x14]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea ecx, [esp + 0x154]
mov esi, eax
mov dword [esp + 0x964], 0xffffffff
call edi
cmp esi, 0xffffffff
je 0x42308d
test byte [esp + 0x14], 0x10
jne 0x423009
lea edx, [esp + 0x15f]
mov dword [esp + 0x158], 0x3f8
mov dword [esp + 0x154], edx
mov dword [esp + 0x15c], ebx
lea eax, [esp + 0x40]
lea ecx, [esp + 0x154]
push eax
mov dword [esp + 0x968], 2
call ebp
push eax
call fcn.00422a50
add esp, 4
lea ecx, [esp + 0x154]
mov dword [esp + 0x964], 0xffffffff
call edi
lea ecx, [esp + 0x14]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x423086
test byte [esp + 0x14], 0x10
jne 0x423076
lea edx, [esp + 0x563]
mov dword [esp + 0x55c], 0x3f8
mov dword [esp + 0x558], edx
mov dword [esp + 0x560], ebx
lea eax, [esp + 0x40]
lea ecx, [esp + 0x558]
push eax
mov dword [esp + 0x968], 3
call ebp
push eax
call fcn.00422a50
add esp, 4
lea ecx, [esp + 0x558]
mov dword [esp + 0x964], 0xffffffff
call edi
lea ecx, [esp + 0x14]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x423019
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edx, dword [sym.imp.GRBase.dll_bool_CGoRunSoftware::g_bEnglish]
cmp byte [edx], 0
jne 0x423117
mov eax, dword [0x45c17c]
mov dword [esp + 0x10], 0
test eax, eax
jle 0x423117
mov ebx, 0x4545c0
lea ebp, [ebx - 0x40]
push ebp
call fcn.00421cc0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00421cc0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x10]
mov edx, ecx
mov esi, edi
mov edi, ebx
add ebx, 0x104
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x45c17c]
mov dword [esp + 0x10], eax
cmp eax, ecx
jl 0x4230ae
mov ecx, dword [esp + 0x95c]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x958
ret