Function at 0x43f810
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0x548
push ebx
push esi
push edi
mov edi, edx
mov eax, dword [edi + 4]
xor esi, esi
cmp eax, esi
mov ebx, 1
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], esi
mov edx, ebx
je 0x43f876
cmp byte [eax], 0x2d
jne 0x43f876
push 0x6f
push eax
call fcn.00563730
add esp, 8
test eax, eax
je 0x43f857
mov dword [esp + 0x1c], ebx
mov eax, dword [edi + 4]
push 0x61
push eax
call fcn.00563730
add esp, 8
test eax, eax
je 0x43f871
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ebx
mov edx, 2
cmp dword [edi + edx*4], esi
jne 0x43f892
mov edx, dword [edi]
push esi
push esi
xor ecx, ecx
call fcn.00475f10
pop edi
pop esi
pop ebx
add esp, 0x548
ret 0xc
mov ebx, dword [esp + 0x558]
push ebp
push esi
push 0x104
push ebx
mov ecx, edi
call fcn.004ede70
mov ebp, eax
cmp ebp, esi
jge 0x43f8c7
mov edx, dword [edi]
push 3
push esi
xor ecx, ecx
call fcn.00475f10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x548
ret 0xc
mov edx, ebx
mov ecx, ebx
call fcn.0041ce00
test eax, eax
je 0x43f8ae
push esi
mov esi, dword [esp + 0x564]
push 0x104
push esi
lea edx, [ebp + 1]
mov ecx, edi
call fcn.004ede70
test eax, eax
jge 0x43f90a
mov edx, dword [edi]
push 3
push 0
xor ecx, ecx
call fcn.00475f10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x548
ret 0xc
push 0x5902c8
push 0x5901c8
push 0x5900c8
push 0x5900c0
push esi
call fcn.00563b42
mov al, byte [0x5900c0]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
test al, al
jne 0x43f978
mov al, byte [0x5900c8]
cmp al, 0x5c
je 0x43f978
cmp al, 0x2f
je 0x43f978
test al, al
push 0x5902c8
push 0x5901c8
je 0x43f968
push 0x5900c8
push 0x598248
push str._s_s_s_s
push esi
call edi
add esp, 0x18
jmp 0x43f978
push 0x598248
push str._s_s_s
push esi
call edi
add esp, 0x14
mov al, byte [0x5901c8]
test al, al
jne 0x43f999
mov al, byte [0x5902c8]
test al, al
jne 0x43f999
mov ecx, esi
call fcn.0041f4e0
mov dword [esp + 0x24], 1
lea ecx, [esp + 0x30]
push ecx
push ebx
mov dword [esp + 0x1c], 0
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x18], ebp
je 0x43fc35
mov dword [esp + 0x10], 0
test byte [esp + 0x30], 0x10
je 0x43f9e0
lea edx, [esp + 0x30]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x43f9c4
jmp 0x43fbe6
mov eax, dword [esp + 0x24]
test eax, eax
je 0x43fa1c
push 0x5902c8
push 0x5901c8
push 0x5900c8
push 0x5900c0
push esi
call fcn.00563b42
lea eax, [esp + 0x70]
push eax
push 0x5900c8
push 0x5900c0
push str._s_s_s
push esi
call edi
add esp, 0x28
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x43fab7
mov edx, 3
mov ecx, esi
call fcn.0041ef30
test eax, eax
je 0x43fab7
cmp dword [esp + 0x14], 1
jge 0x43fa4e
mov edx, dword [0x594094]
mov ecx, dword [esp + 0x1c]
call fcn.004fb620
push esi
xor edx, edx
mov ecx, 0x2cf
call fcn.0041c9e0
push eax
lea ecx, [esp + 0x178]
push ecx
call edi
mov edx, dword [0x594094]
mov ecx, dword [esp + 0x28]
add esp, 0xc
push edx
lea edx, [esp + 0x174]
mov dword [0x589b90], 0
call fcn.004fb730
lea eax, [esp + 0x30]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x43faa2
mov dword [esp + 0x10], 1
inc dword [esp + 0x14]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x43f9c4
jmp 0x43fbee
push 0x5902c8
push 0x5901c8
push 0x5900c8
push 0x5900c0
push ebx
call fcn.00563b42
lea ecx, [esp + 0x70]
push ecx
push 0x5900c8
push 0x5900c0
push str._s_s_s
push ebx
call edi
mov edx, dword [esp + 0x54]
add esp, 0x28
push edx
mov edx, esi
mov ecx, ebx
call fcn.0041d2d0
mov ebp, eax
test ebp, ebp
jne 0x43fb94
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x564]
inc ecx
test eax, eax
mov dword [esp + 0x14], ecx
je 0x43fb50
push esi
push ebx
xor edx, edx
mov ecx, 0x2d0
call fcn.0041c9e0
push eax
lea eax, [esp + 0x17c]
push eax
call edi
mov ecx, dword [0x594094]
add esp, 0x10
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x174]
mov dword [0x589b90], ebp
call fcn.004fb730
push 0x5902c8
push 0x5901c8
push 0x5900c8
push 0x5900c0
push str._s_s_s_s
push ebx
call edi
mov eax, dword [esp + 0x3c]
add esp, 0x18
test eax, eax
je 0x43fbe2
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x30]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
mov ebp, dword [esp + 0x18]
je 0x43fbe6
jmp 0x43f9c4
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp ebp, 1
jne 0x43fbc0
mov edx, dword [esp + 0x28]
mov edx, dword [edx]
push ebp
push ebx
xor ecx, ecx
call fcn.00475f10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x548
ret 0xc
cmp ebp, 2
jne 0x43fbf5
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
push 4
push esi
xor ecx, ecx
call fcn.00475f10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x548
ret 0xc
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x10], 1
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebp, dword [esp + 0x14]
test ebp, ebp
jle 0x43fc19
mov eax, dword [esp + 0x564]
test eax, eax
je 0x43fc17
mov edx, dword [0x594094]
mov ecx, dword [esp + 0x1c]
call fcn.004fb620
test ebp, ebp
je 0x43fc35
mov eax, dword [esp + 0x10]
test eax, eax
je 0x43fc35
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x548
ret 0xc
push esi
push ebx
xor edx, edx
mov ecx, 0x2d1
call fcn.0041c9e0
push eax
push 0x595d60
call edi
add esp, 0x10
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x548
ret 0xc