Function at 0x406d50
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2e0
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x42c3e0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, 0xa64c8e5d
nop dword [eax + eax]
cmp eax, 0xa64c8e5d
je 0x406da0
cmp eax, 0xa5f73bcb
jne 0x406d90
jmp 0x406da7
mov eax, 0xa5f73bcb
jmp 0x406d90
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x2ec]
lea ecx, [ebp - 0x58]
push eax
push 0x4000
call fcn.00414e90
mov ecx, 0x27a21f0a
mov eax, dword [ebp - 0x58]
nop word [eax + eax]
cmp ecx, 0x27a21f0a
je 0x406de2
cmp ecx, 0x124ad419
jne 0x406dd0
jmp 0x406de9
mov ecx, 0x124ad419
jmp 0x406dd0
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov ecx, 0xab6fe5e2
nop word cs:[eax + eax]
cmp ecx, 0xab6fe5e2
je 0x406e12
cmp ecx, 0x4cea32da
jne 0x406e00
jmp 0x406e19
mov ecx, 0x4cea32da
jmp 0x406e00
mov dword [ebp - 0x2ec], eax
mov esi, dword [ebp - 0x2ec]
lea eax, [edi + 8]
mov dword [ebp - 0x48], eax
mov eax, 0x7b4ffa6d
cmp eax, 0x7b4ffa6d
je 0x406e40
cmp eax, 0x5288555c
jne 0x406e30
jmp 0x406e47
mov eax, 0x5288555c
jmp 0x406e30
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2ec]
call fcn.00419b70
push 0
push esi
push 0x4000
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x4077fa
lea eax, [ebp - 0x58]
mov dword [ebp - 0x74], eax
mov edx, 0x5c9aaf24
mov eax, 0x15ecd2c6
nop word cs:[eax + eax]
cmp edx, 0x15ecd2c5
jle 0x406ec0
cmp edx, 0x3f81e804
je 0x406ee9
cmp edx, 0x5c9aaf24
je 0x406ee2
cmp edx, 0x15ecd2c6
jne 0x406e90
jmp 0x40790b
cmp edx, 0xd6f2141b
je 0x406ef8
cmp edx, 0x14f775ca
jne 0x406e90
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx + 4]
cmp edx, dword [ecx]
mov edx, 0x3f81e804
cmove edx, eax
jmp 0x406e90
mov edx, 0x14f775ca
jmp 0x406e90
mov edx, dword [ecx]
mov dword [ebp - 0x2ec], edx
mov edx, 0xd6f2141b
jmp 0x406e90
push dword [ebp - 0x2ec]
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
mov ecx, 0x27a21f0a
mov eax, dword [ebp - 0x58]
nop dword [eax]
cmp ecx, 0x27a21f0a
je 0x406f22
cmp ecx, 0x124ad419
jne 0x406f10
jmp 0x406f29
mov ecx, 0x124ad419
jmp 0x406f10
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov ecx, 0xab6fe5e2
nop word cs:[eax + eax]
cmp ecx, 0xab6fe5e2
je 0x406f52
cmp ecx, 0x4cea32da
jne 0x406f40
jmp 0x406f59
mov ecx, 0x4cea32da
jmp 0x406f40
mov dword [ebp - 0x2ec], eax
mov edi, dword [ebp - 0x2ec]
mov ecx, 0x8133c7fa
nop word [eax + eax]
cmp ecx, 0x1f831c34
je 0x407049
cmp ecx, 0x8133c7fa
jne 0x406f70
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
mov esi, 0xae3de525
nop
cmp esi, 0xae6f2447
je 0x406fb0
cmp esi, 0xae3de525
jne 0x406f90
mov esi, 0xae6f2447
push edi
call fcn.0045ba37
add esp, 4
jmp 0x406f90
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x74], eax
mov ecx, 0xa83adc4
nop word cs:[eax + eax]
cmp ecx, 0x558baf8c
je 0x407033
cmp ecx, 0xa83adc4
jne 0x406fd0
mov eax, dword [ebp - 0x74]
mov ecx, 0x878830ff
nop dword [eax + eax]
cmp ecx, 0x878830ff
je 0x407002
cmp ecx, 0x519b963
jne 0x406ff0
jmp 0x407009
mov ecx, 0x519b963
jmp 0x406ff0
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x10], 0
push eax
push edi
mov dword [ebp - 0x28], edi
call fcn.0041e7d0
mov ecx, 0x558baf8c
mov edi, dword [ebp - 0x28]
jmp 0x406fd0
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
mov ecx, 0x1f831c34
jmp 0x406f70
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
push 0x250
push 0
lea eax, [ebp - 0x2ec]
push eax
call fcn.004552e0
add esp, 0xc
mov dword [ebp - 0x24], 0
lea ebx, [ebp - 0x74]
jmp 0x40708a
cmp byte [ebp - 0x28], 0
je 0x407801
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x44], ecx
mov eax, 0xed08fc61
nop
cmp eax, 0xbd5a589
je 0x4070c0
cmp eax, 0xed08fc61
jne 0x4070a0
mov eax, 0xbd5a589
mov ecx, dword [ebp - 0x44]
jmp 0x4070a0
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x8c]
sub ecx, dword [eax]
sar ecx, 6
cmp dword [ebp - 0x24], ecx
jae 0x407801
mov dword [ebp - 0x10], 0
push 0x478f5e
push dword [ebp - 0x48]
push ebx
call fcn.00415040
mov esi, dword [ebp + 8]
add esp, 0xc
cmp byte [esi + 4], 0
lea edi, [ebp - 0x2c0]
lea ebx, [ebp - 0x74]
je 0x407130
lea eax, [ebp - 0x2ec]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, 1
je 0x4072a6
mov dword [ebp - 0x28], 0
mov eax, 0x7829505
jmp 0x407760
mov byte [esi + 4], 1
mov ecx, 0x77a7fef1
jmp 0x407150
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov ecx, 0x72a74c11
nop word cs:[eax + eax]
cmp ecx, 0x297089a0
jle 0x407190
cmp ecx, 0x72a74c10
jg 0x4071e0
cmp ecx, 0x297089a1
je 0x40724c
cmp ecx, 0x69b2cf1f
jne 0x407150
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
mov ecx, 0xb91441ef
jmp 0x407150
cmp ecx, 0xd1a63e20
jg 0x407207
cmp ecx, 0xb91441ef
je 0x40721f
cmp ecx, 0xbe3768c0
jne 0x407150
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4c]
mov edx, 0x54c50fe2
nop word cs:[eax + eax]
cmp edx, 0x54c50fe2
je 0x4071d5
cmp edx, 0x928e2591
jne 0x4071c0
jmp 0x407260
mov edx, 0x928e2591
jmp 0x4071c0
cmp ecx, 0x72a74c11
je 0x407256
cmp ecx, 0x77a7fef1
jne 0x407150
mov dword [ebp - 0x4c], ebx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], ecx
mov ecx, 0xbe3768c0
jmp 0x407150
cmp ecx, 0xd1a63e21
jne 0x40727c
mov dword [ebp - 0x8c], eax
mov ecx, 0x297089a1
jmp 0x407150
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, 0x294ecc22
nop dword [eax]
cmp ecx, 0x294ecc22
je 0x407245
cmp ecx, 0xe8f71294
jne 0x407230
jmp 0x40713b
mov ecx, 0xe8f71294
jmp 0x407230
mov ecx, 0x1141b8f2
jmp 0x407150
mov ecx, 0xd1a63e21
jmp 0x407150
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x44]
cmp dword [ecx + 0x14], 8
mov ecx, 0xd1a63e21
mov edx, 0x69b2cf1f
cmovae ecx, edx
jmp 0x407150
cmp ecx, 0x1141b8f2
jne 0x407150
lea eax, [ebp - 0x2ec]
push eax
push dword [ebp - 0x8c]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esi], eax
cmp eax, 0xffffffff
je 0x407741
push 0x478f5a
push edi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
call esi
mov cl, 1
mov dword [ebp - 0x28], ecx
test eax, eax
je 0x40773a
push 0x478f58
push edi
call esi
test eax, eax
je 0x40773a
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x8c], ecx
mov ecx, 0xd568260c
nop
cmp ecx, 0xd568260b
jg 0x407330
cmp ecx, 0xc1ac9795
je 0x407363
cmp ecx, 0xcb71512c
je 0x407380
cmp ecx, 0xc4b08e46
jne 0x407300
jmp 0x4078ff
cmp ecx, 0x53d88ced
je 0x40735c
cmp ecx, 0xd568260c
jne 0x407300
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x8c]
sub edx, ecx
sar edx, 6
cmp edx, dword [ebp - 0x24]
setbe byte [ebp - 0x2c]
mov ecx, 0xc1ac9795
jmp 0x407300
mov ecx, 0xcb71512c
jmp 0x407300
cmp byte [ebp - 0x2c], 0
mov ecx, 0x53d88ced
mov edx, 0xc4b08e46
cmovne ecx, edx
jmp 0x407300
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
movzx eax, byte [ebp - 0x2ec]
mov esi, dword [ebp - 0x24]
shl esi, 6
shr al, 4
mov ecx, eax
xor cl, 0xe
and cl, al
mov byte [edx + esi + 1], cl
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x5c], esi
lea ebx, [edx + esi]
add ebx, 0x10
mov ecx, 0x8133c7fa
nop word cs:[eax + eax]
cmp ecx, 0x1f831c34
je 0x4074a0
cmp ecx, 0x8133c7fa
jne 0x4073c0
mov dword [ebp - 0x20], ebx
mov esi, 0xae3de525
nop dword [eax]
cmp esi, 0xae6f2447
je 0x407400
cmp esi, 0xae3de525
jne 0x4073e0
mov esi, 0xae6f2447
push edi
call fcn.0045ba37
add esp, 4
jmp 0x4073e0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x8c], eax
mov ecx, 0xa83adc4
nop word cs:[eax + eax]
cmp ecx, 0x558baf8c
je 0x407489
cmp ecx, 0xa83adc4
jne 0x407420
mov eax, dword [ebp - 0x8c]
mov ecx, 0x878830ff
nop dword [eax + eax]
cmp ecx, 0x878830ff
je 0x407452
cmp ecx, 0x519b963
jne 0x407440
jmp 0x407459
mov ecx, 0x519b963
jmp 0x407440
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], 1
push eax
push edi
mov dword [ebp - 0x90], ebx
call fcn.0041e7d0
mov ecx, 0x558baf8c
mov ebx, dword [ebp - 0x90]
lea edi, [ebp - 0x2c0]
jmp 0x407420
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov ecx, 0x1f831c34
jmp 0x4073c0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], 1
push 0x478f54
push dword [ebp - 0x48]
lea eax, [ebp - 0x8c]
push eax
call fcn.00415040
lea ebx, [ebp - 0x2c0]
add esp, 0xc
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], ebx
mov ecx, 0xfd583290
jmp 0x4074f0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov ecx, 0x441f0e6f
nop dword [eax + eax]
cmp ecx, 0x441f0e6f
je 0x407560
cmp ecx, 0xfd583290
jne 0x4074f0
mov esi, dword [ebp - 0x20]
mov edi, 0xae3de525
nop dword [eax + eax]
cmp edi, 0xae6f2447
je 0x407530
cmp edi, 0xae3de525
jne 0x407510
mov edi, 0xae6f2447
push esi
call fcn.0045ba37
add esp, 4
jmp 0x407510
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov ecx, 0x878830ff
nop dword [eax + eax]
cmp ecx, 0x878830ff
je 0x407552
cmp ecx, 0x519b963
jne 0x407540
jmp 0x4074dd
mov ecx, 0x519b963
jmp 0x407540
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], 2
push eax
push ebx
call fcn.0041f780
lea esi, [ebp - 0x44]
mov ecx, esi
push eax
call fcn.004137d0
mov edi, dword [ebp - 0x94]
mov eax, dword [ebp - 0x5c]
lea ecx, [edi + eax]
add ecx, 0x28
push esi
call fcn.00403730
mov eax, 0x7829505
lea ebx, [ebp - 0x74]
nop
cmp eax, 0x7829505
je 0x4075b0
cmp eax, 0xe864405
jne 0x4075a0
jmp 0x4075c0
mov eax, 0xe864405
jmp 0x4075a0
lea ecx, [ebp - 0x44]
call fcn.0041d790
mov eax, 0xb46d5a3b
nop dword [eax]
cmp eax, 0xb46d5a3b
je 0x4075e0
cmp eax, 0x1369437d
jne 0x4075d0
jmp 0x4075f0
mov eax, 0x1369437d
jmp 0x4075d0
mov eax, 0x17ac3f07
nop word cs:[eax + eax]
cmp eax, 0x17ac3f07
je 0x407610
cmp eax, 0x50fec471
jne 0x407600
jmp 0x407620
mov eax, 0x50fec471
jmp 0x407600
lea eax, [ebp - 0x44]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, 0x66eec162
nop
cmp eax, 0x66eec162
je 0x407640
cmp eax, 0xc44a53dd
jne 0x407630
jmp 0x407650
mov eax, 0xc44a53dd
jmp 0x407630
mov eax, 0x7829505
nop word cs:[eax + eax]
cmp eax, 0x7829505
je 0x407670
cmp eax, 0xe864405
jne 0x407660
jmp 0x407680
mov eax, 0xe864405
jmp 0x407660
lea ecx, [ebp - 0x8c]
call fcn.0041d790
mov eax, 0xb46d5a3b
cmp eax, 0xb46d5a3b
je 0x4076a0
cmp eax, 0x1369437d
jne 0x407690
jmp 0x4076b0
mov eax, 0x1369437d
jmp 0x407690
mov eax, 0x17ac3f07
nop word cs:[eax + eax]
cmp eax, 0x17ac3f07
je 0x4076d0
cmp eax, 0x50fec471
jne 0x4076c0
jmp 0x4076e0
mov eax, 0x50fec471
jmp 0x4076c0
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, 0x66eec162
nop word cs:[eax + eax]
cmp eax, 0x66eec162
je 0x407710
cmp eax, 0xc44a53dd
jne 0x407700
jmp 0x407720
mov eax, 0xc44a53dd
jmp 0x407700
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x5c]
mov dword [edi + ecx + 0xc], eax
mov eax, dword [ebp - 0x98]
mov dword [edi + ecx + 8], eax
inc dword [ebp - 0x24]
mov eax, 0x7829505
jmp 0x407760
mov dword [ebp - 0x28], 0
mov eax, 0x7829505
jmp 0x407760
mov eax, 0xe864405
nop word cs:[eax + eax]
cmp eax, 0x7829505
je 0x40774f
cmp eax, 0xe864405
jne 0x407760
mov ecx, ebx
call fcn.0041d790
mov eax, 0xb46d5a3b
nop word [eax + eax]
cmp eax, 0xb46d5a3b
je 0x407790
cmp eax, 0x1369437d
jne 0x407780
jmp 0x4077a0
mov eax, 0x1369437d
jmp 0x407780
mov eax, 0x17ac3f07
nop word cs:[eax + eax]
cmp eax, 0x17ac3f07
je 0x4077c0
cmp eax, 0x50fec471
jne 0x4077b0
jmp 0x4077d0
mov eax, 0x50fec471
jmp 0x4077b0
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x44]
mov eax, 0x66eec162
nop dword [eax + eax]
cmp eax, 0x66eec162
je 0x4077f3
cmp eax, 0xc44a53dd
jne 0x4077e0
jmp 0x407080
mov eax, 0xc44a53dd
jmp 0x4077e0
mov dword [ebp - 0x24], 0
mov edi, 0x264fc29f
lea esi, [ebp - 0x74]
nop dword [eax]
cmp edi, 0x6952555d
je 0x4078e8
cmp edi, 0x264fc29f
jne 0x407810
mov eax, 0xcb6b905
nop dword [eax]
cmp eax, 0xcb6b905
je 0x407840
cmp eax, 0x7af45fb0
jne 0x407830
jmp 0x407847
mov eax, 0x7af45fb0
jmp 0x407830
lea eax, [ebp - 0x58]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x58]
mov edi, 0x6952555d
test eax, eax
je 0x407810
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov edx, 0x626ae07b
nop dword [eax]
cmp edx, 0x626ae07b
je 0x407882
cmp edx, 0x6fb37541
jne 0x407870
jmp 0x407889
mov edx, 0x6fb37541
jmp 0x407870
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x74], ecx
cmp eax, 0x1000
jb 0x4078c4
lea eax, [ebp - 0x2ec]
push eax
push esi
call fcn.00413a80
add esp, 8
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x74]
push eax
push ecx
call fcn.00446e30
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
jmp 0x407810
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp - 0x24]
add esp, 0x2e0
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x10], 1
call fcn.00415930
mov dword [ebp - 0x10], 0
call fcn.00415930
nop word [eax + eax]
push ebp
sub esp, 0x10
add ebp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.004016f0
add esp, 0x10
pop ebp
ret