Function at 0x432910
Capabilities:
Enumerate files on windows
Get file size
Read file on windows

Disassembly:
sub esp, 0x480
mov eax, dword [0x4cbbe8]
xor eax, esp
mov dword [esp + 0x47c], eax
push esi
push edi
mov edi, dword [esp + 0x48c]
push 0
push 0x80
push 3
push 0
push 0
mov dword [esp + 0x1c], edi
push closesocket
add edi, 0x20
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x432b6b
push ebx
push ebp
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, eax
lea eax, [ebp + 0x800]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push 0x800
mov ebx, eax
push 0
push ebx
call fcn.0046faa0
add esp, 0xc
push 0
lea ecx, [esp + 0x28]
push ecx
push ebp
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x38c]
push eax
push 0x104
push 0x4d7700
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
test eax, eax
je 0x432b69
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x38c]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
mov dword [esp + 0x20], esi
je 0x432b01
cmp dword [esp + 0x1c], 0
je 0x432b01
lea eax, [esp + 0x180]
push eax
lea ecx, [esp + 0x38c]
push ecx
call fcn.0042b040
lea edx, [esp + 0x188]
push 0x104
push edx
call fcn.0042b140
add esp, 0x10
lea esp, [esp]
test byte [esp + 0x40], 0x10
jne 0x432a80
push 0xffffffffffffffff
lea eax, [esp + 0x184]
push eax
lea ecx, [esp + 0x28c]
push 0x104
push ecx
call fcn.0046fb1a
push 0xffffffffffffffff
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x29c]
push 0x104
push eax
call fcn.004723db
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x3c]
push edx
push ebp
push ebx
lea eax, [esp + 0x2b4]
push edi
push eax
call fcn.0042f4c0
add esp, 0x38
test eax, eax
jne 0x432a92
lea ecx, [esp + 0x40]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x432a20
jmp 0x432afa
mov edx, dword [esp + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_LocalLock]
push edx
call esi
mov ebp, eax
mov eax, dword [esp + 0x14]
push eax
call esi
mov esi, dword [esp + 0x10]
push eax
add esi, 0x124
push ebp
push esi
call fcn.0042f5b0
mov ecx, dword [esp + 0x20]
mov ebp, dword [sym.imp.KERNEL32.dll_LocalUnlock]
add esp, 0xc
push ecx
call ebp
mov edx, dword [esp + 0x18]
push edx
call ebp
mov eax, dword [esp + 0x14]
mov ebp, dword [sym.imp.KERNEL32.dll_LocalFree]
push eax
call ebp
mov ecx, dword [esp + 0x18]
push ecx
call ebp
push 0xffffffffffffffff
push esi
push 0x104
push edi
call fcn.0046fb1a
mov esi, dword [esp + 0x30]
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call fcn.0042f0e0
test eax, eax
je 0x432b24
push 0x10
push 0
push 0
push 0
push edi
push 0
call dword [sym.imp.USER32.dll_LoadImageA]
jmp 0x432b2b
mov eax, edi
call fcn.0042f9b0
mov esi, eax
test esi, esi
je 0x432b5e
lea edx, [esp + 0x28]
push edx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
push esi
call fcn.0042f230
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov dword [ecx], eax
mov eax, dword [esp + 0x30]
add esp, 4
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
jmp 0x432b69
mov eax, dword [esp + 0x10]
mov dword [eax + 4], 0
pop ebp
pop ebx
mov ecx, dword [esp + 0x484]
pop edi
pop esi
xor ecx, esp
call fcn.0046fa34
add esp, 0x480
ret