Function at 0x43b300
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53cfc2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x29c
mov eax, dword [0x58becc]
xor eax, dword [ebp + 4]
push ebx
mov dword [ebp - 0x10], eax
mov al, byte [ebp + 8]
xor ebx, ebx
cmp al, bl
jne 0x43b33f
cmp byte [0x58d62c], bl
jne 0x43baf5
push esi
mov esi, dword [0x58d674]
cmp esi, ebx
push edi
mov byte [0x58d62c], 1
je 0x43b37d
mov edi, dword [0x58d678]
cmp esi, edi
je 0x43b374
lea esp, [esp]
mov ecx, esi
call fcn.0043a550
add esi, 0x64
cmp esi, edi
jne 0x43b360
mov esi, dword [0x58d674]
push esi
call fcn.00527b8e
add esp, 4
mov eax, dword [0x58d654]
cmp eax, ebx
mov dword [0x58d674], ebx
mov dword [0x58d678], ebx
mov dword [0x58d67c], ebx
je 0x43b3a1
push eax
call fcn.00527b8e
add esp, 4
mov eax, dword [0x58d664]
cmp eax, ebx
mov dword [0x58d654], ebx
mov dword [0x58d658], ebx
mov dword [0x58d65c], ebx
je 0x43b3c5
push eax
call fcn.00527b8e
add esp, 4
mov eax, dword [0x58d648]
mov dword [0x58d664], ebx
mov dword [0x58d668], ebx
mov dword [0x58d66c], ebx
mov ecx, dword [eax + 4]
push ecx
mov ecx, 0x58d644
call fcn.0042ef90
mov eax, dword [0x58d648]
mov dword [eax + 4], eax
mov eax, dword [0x58d648]
mov dword [0x58d64c], ebx
lea edx, [ebp - 0x244]
mov dword [eax], eax
mov eax, dword [0x58d648]
push edx
push str.fishsongs.txt
mov dword [eax + 8], eax
mov dword [0x58d624], ebx
mov dword [0x58d628], ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x3c], eax
je 0x43baf3
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x1c], ebx
jmp 0x43b440
mov eax, str.fishsongs_
mov dword [ebp - 0x20], 0xf
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43b455
sub eax, edx
push eax
push str.fishsongs_
lea ecx, [ebp - 0x38]
call fcn.0041af60
lea eax, [ebp - 0x218]
mov dword [ebp - 4], ebx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43b478
sub eax, edi
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x38]
call fcn.0041ae40
lea ecx, [ebp - 0x2a8]
call fcn.0043a810
push eax
mov ecx, 0x58d670
mov byte [ebp - 4], 1
call fcn.0043b270
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], bl
call fcn.0043a550
mov esi, dword [0x58d678]
mov eax, dword [ebp - 0x20]
add esi, 0xffffff9c
cmp eax, 0x10
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], esi
jae 0x43b4d3
lea eax, [ebp - 0x34]
push eax
mov ecx, esi
call fcn.0043a0c0
test al, al
jne 0x43b588
cmp byte [ebp + 0xb], bl
jne 0x43b505
push 0x54d1c8
push str.fishsongerror.txt
mov byte [ebp + 0xb], 1
call fcn.00528841
mov ecx, eax
add esp, 8
mov dword [ebp - 0x1c], ecx
jmp 0x43b508
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
je 0x43b535
cmp dword [0x5860a4], 0x10
mov eax, dword [0x586090]
jae 0x43b51f
mov eax, 0x586090
push eax
lea edx, [ebp - 0x218]
push edx
push str._s____s_n
push ecx
call fcn.005291a3
add esp, 0x10
mov eax, dword [0x58d674]
cmp eax, ebx
je 0x43b588
mov edi, dword [0x58d678]
mov ecx, edi
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [ebp - 0xe8], edx
je 0x43b588
lea esi, [edi - 0x64]
cmp esi, edi
je 0x43b57c
mov ecx, esi
call fcn.0043a550
add esi, 0x64
cmp esi, edi
jne 0x43b568
mov edi, dword [0x58d678]
mov esi, dword [ebp - 0x18]
sub edi, 0x64
mov dword [0x58d678], edi
lea ecx, [ebp - 0x218]
push 0x5f
push ecx
call fcn.00528f00
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x43b6cb
mov byte [edi], bl
inc edi
push str.long.txt
push edi
call fcn.0053aed6
add esp, 8
test eax, eax
jne 0x43b63d
mov eax, str.long
mov dword [ebp - 0x5c], 0xf
mov dword [ebp - 0x60], ebx
mov byte [ebp - 0x70], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43b5d1
sub eax, edx
push eax
push str.long
lea ecx, [ebp - 0x74]
call fcn.0041af60
lea edx, [ebp - 0x74]
push edx
lea ecx, [esi + 0x58]
mov byte [ebp - 4], 2
call fcn.00438900
lea edx, [ebp - 0x218]
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
cmp cl, bl
jne 0x43b601
sub edx, edi
push edx
lea ecx, [ebp - 0x218]
push ecx
mov ecx, eax
call fcn.0041af60
cmp dword [ebp - 0x5c], 0x10
jb 0x43b62b
mov edx, dword [ebp - 0x70]
push edx
call fcn.00527b8e
add esp, 4
mov dword [ebp - 0x5c], 0xf
mov dword [ebp - 0x60], ebx
mov byte [ebp - 0x70], bl
jmp 0x43b6cb
push str.short.txt
push edi
call fcn.0053aed6
add esp, 8
test eax, eax
jne 0x43b6cb
mov eax, str.short
mov dword [ebp - 0x40], 0xf
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x54], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43b664
sub eax, edx
push eax
push str.short
lea ecx, [ebp - 0x58]
call fcn.0041af60
lea eax, [ebp - 0x58]
push eax
lea ecx, [esi + 0x58]
mov byte [ebp - 4], 3
call fcn.00438900
lea edx, [ebp - 0x218]
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
cmp cl, bl
jne 0x43b694
sub edx, edi
push edx
lea ecx, [ebp - 0x218]
push ecx
mov ecx, eax
call fcn.0041af60
cmp dword [ebp - 0x40], 0x10
jb 0x43b6be
mov edx, dword [ebp - 0x54]
push edx
call fcn.00527b8e
add esp, 4
mov dword [ebp - 0x40], 0xf
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x54], bl
cmp dword [ebp - 0x20], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x43b6e4
mov eax, dword [ebp - 0x34]
push eax
call fcn.00527b8e
add esp, 4
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x244]
push ecx
push edx
mov dword [ebp - 0x20], 0xf
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x43b440
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x43b724
push eax
call fcn.0052829a
add esp, 4
mov esi, dword [0x58d674]
cmp esi, dword [0x58d678]
je 0x43baf3
mov eax, 0xf
mov byte [ebp + 0xb], 1
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], ebx
mov byte [ebp - 0x8c], bl
mov dword [ebp - 0x40], eax
mov eax, str.test
mov dword [ebp - 4], 4
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x54], bl
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43b763
sub eax, edi
push eax
push str.test
lea ecx, [ebp - 0x58]
call fcn.0041af60
push ebx
lea ecx, [ebp - 0x58]
push ecx
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.00434d50
mov byte [ebp - 0x11], al
cmp dword [ebp - 0x40], 0x10
mov byte [ebp - 4], 4
jb 0x43b7a3
mov edx, dword [ebp - 0x54]
push edx
call fcn.00527b8e
add esp, 4
cmp byte [ebp - 0x11], bl
mov eax, 0xf
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x54], bl
je 0x43b7c6
mov dword [0x58d628], esi
mov edi, 0x10
jmp 0x43ba18
mov dword [ebp - 0x5c], eax
mov eax, str.long
mov dword [ebp - 0x60], ebx
mov byte [ebp - 0x70], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43b7d7
sub eax, edx
push eax
push str.long
lea ecx, [ebp - 0x74]
call fcn.0041af60
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x74]
push ecx
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.00434d50
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0x5c]
mov edi, 0x10
cmp eax, edi
mov byte [ebp - 4], 4
jb 0x43b823
mov edx, dword [ebp - 0x70]
push edx
call fcn.00527b8e
add esp, 4
cmp byte [ebp - 0x11], bl
mov eax, 0xf
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], ebx
mov byte [ebp - 0x70], bl
je 0x43b851
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x58d644
call fcn.00438a10
mov dword [eax], esi
mov byte [ebp + 0xb], bl
jmp 0x43ba18
mov dword [ebp - 0x20], eax
mov eax, str.beethovenrare
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43b862
sub eax, edx
push eax
push str.beethovenrare
lea ecx, [ebp - 0x38]
call fcn.0041af60
push ebx
lea ecx, [ebp - 0x38]
push ecx
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.00434d50
mov byte [ebp - 0x11], al
cmp dword [ebp - 0x20], edi
mov byte [ebp - 4], 4
jb 0x43b8a1
mov edx, dword [ebp - 0x34]
push edx
call fcn.00527b8e
add esp, 4
cmp byte [ebp - 0x11], bl
mov eax, 0xf
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
je 0x43b8cd
lea eax, [ebp + 8]
push eax
mov ecx, 0x58d660
mov dword [ebp + 8], esi
call fcn.00437770
mov byte [ebp + 0xb], bl
jmp 0x43ba18
mov dword [ebp - 0x94], eax
mov eax, str.beethoven
mov dword [ebp - 0x98], ebx
mov byte [ebp - 0xa8], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43b8e7
sub eax, edx
push eax
push str.beethoven
lea ecx, [ebp - 0xac]
call fcn.0041af60
push ebx
lea ecx, [ebp - 0xac]
push ecx
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00434d50
mov byte [ebp - 0x11], al
cmp dword [ebp - 0x94], edi
mov byte [ebp - 4], 4
jb 0x43b932
mov edx, dword [ebp - 0xa8]
push edx
call fcn.00527b8e
add esp, 4
cmp byte [ebp - 0x11], bl
mov dword [ebp - 0x94], 0xf
mov dword [ebp - 0x98], ebx
mov byte [ebp - 0xa8], bl
je 0x43b95b
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x58d660
jmp 0x43ba10
push str.santarare
lea ecx, [ebp - 0xe4]
call fcn.0041c120
push ebx
lea ecx, [ebp - 0xe4]
push ecx
mov ecx, esi
mov byte [ebp - 4], 9
call fcn.00434d50
mov byte [ebp - 0x11], al
cmp dword [ebp - 0xcc], edi
mov byte [ebp - 4], 4
jb 0x43b99c
mov edx, dword [ebp - 0xe0]
push edx
call fcn.00527b8e
add esp, 4
cmp byte [ebp - 0x11], bl
mov dword [ebp - 0xcc], 0xf
mov dword [ebp - 0xd0], ebx
mov byte [ebp - 0xe0], bl
je 0x43b9cd
lea eax, [ebp + 8]
push eax
mov ecx, 0x58d634
mov dword [ebp + 8], esi
call fcn.00437770
mov byte [ebp + 0xb], bl
jmp 0x43ba18
push str.santa
lea ecx, [ebp - 0x104]
call fcn.0041c120
push ebx
lea ecx, [ebp - 0x104]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.00434d50
lea ecx, [ebp - 0x104]
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 4
call fcn.0042d770
cmp byte [ebp - 0x11], bl
je 0x43ba18
lea edx, [ebp - 0x18]
push edx
mov ecx, 0x58d634
mov dword [ebp - 0x18], esi
call fcn.00437770
mov eax, str.kilgore
mov dword [ebp - 0xb0], 0xf
mov dword [ebp - 0xb4], ebx
mov byte [ebp - 0xc4], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x43ba36
sub eax, edx
push eax
push str.kilgore
lea ecx, [ebp - 0xc8]
call fcn.0041af60
push ebx
lea eax, [ebp - 0xc8]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.00434d50
mov byte [ebp - 0x11], al
cmp dword [ebp - 0xb0], edi
mov byte [ebp - 4], 4
jb 0x43ba81
mov ecx, dword [ebp - 0xc4]
push ecx
call fcn.00527b8e
add esp, 4
cmp byte [ebp - 0x11], bl
mov dword [ebp - 0xb0], 0xf
mov dword [ebp - 0xb4], ebx
mov byte [ebp - 0xc4], bl
je 0x43baa2
mov dword [0x58d624], esi
cmp byte [ebp + 0xb], bl
je 0x43bab8
lea edx, [ebp + 8]
push edx
mov ecx, 0x58d650
mov dword [ebp + 8], esi
call fcn.00437770
cmp dword [ebp - 0x78], edi
mov dword [ebp - 4], 0xffffffff
jb 0x43bad3
mov eax, dword [ebp - 0x8c]
push eax
call fcn.00527b8e
add esp, 4
mov eax, dword [0x58d678]
add esi, 0x64
cmp esi, eax
mov dword [ebp - 0x78], 0xf
mov dword [ebp - 0x7c], ebx
mov byte [ebp - 0x8c], bl
jne 0x43b736
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, dword [ebp + 4]
pop ebx
call fcn.00528d83
mov esp, ebp
pop ebp
ret