Function at 0x40bf70
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x426e4a
mov eax, dword fs:[0]
push eax
sub esp, 0x3ac
mov eax, dword [0x431540]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov esi, ecx
mov dword [ebp - 0x354], ebx
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x38c], eax
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
lea ecx, [ebp - 0x39c]
mov dword [ebp - 4], ebx
mov edi, 1
push ecx
mov dword [ebp - 0x354], edi
call fcn.0040a570
add esp, 4
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x398]
mov dword [ebp - 0x358], edi
cmp edi, eax
je 0x40c7c2
lea esp, [esp]
mov edx, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x358]
push edx
lea ebx, [ebp - 0xa4]
call fcn.00408800
add esp, 4
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xa4]
mov esi, 8
cmp dword [ebp - 0x90], esi
jae 0x40c034
mov eax, ebx
lea ecx, [ebp - 0x348]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x40c072
lea esp, [esp]
test byte [ebp - 0x348], 0x10
jne 0x40c08e
lea edx, [ebp - 0x348]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40c050
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 1
cmp dword [ebp - 0x90], esi
jb 0x40c797
mov eax, dword [ebp - 0xa4]
push eax
jmp 0x40c78f
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ebx, [ebp - 0xa4]
lea edi, [ebp - 0x380]
call fcn.00409250
mov byte [ebp - 4], 3
mov edi, dword [ebp - 0x380]
mov eax, dword [ebp - 0x37c]
mov dword [ebp - 0x35c], edi
cmp edi, eax
je 0x40c727
jmp 0x40c0d0
lea ecx, [ebp - 0xa4]
push ecx
mov ecx, dword [ebp - 0x35c]
lea ebx, [ebp - 0xdc]
call fcn.00408800
add esp, 4
mov byte [ebp - 4], 4
xor edx, edx
mov ebx, 7
xor edi, edi
push 3
mov eax, 0x42c198
lea esi, [ebp - 0x3b8]
mov dword [ebp - 0x3a4], ebx
mov dword [ebp - 0x3a8], edi
mov word [ebp - 0x3b8], dx
call fcn.00401c20
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x370]
push ecx
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.004091f0
add esp, 8
mov byte [ebp - 4], bl
cmp dword [ebp - 0x3a4], 8
jb 0x40c154
mov edx, dword [ebp - 0x3b8]
push edx
call fcn.00413644
add esp, 4
mov esi, dword [ebp - 0x370]
xor eax, eax
mov word [ebp - 0x3b8], ax
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x3a4], ebx
mov dword [ebp - 0x3a8], edi
mov dword [ebp - 0x360], esi
cmp esi, eax
je 0x40c68c
xor ecx, ecx
push 4
mov eax, 0x42bf14
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], cx
call fcn.00401c20
mov edi, dword [ebp - 0x360]
mov byte [ebp - 4], 8
mov ebx, dword [ebp - 0x354]
or ebx, 2
mov ecx, esi
mov edx, edi
mov dword [ebp - 0x354], ebx
call fcn.004085c0
test al, al
jne 0x40c21f
xor edx, edx
push 7
mov eax, str..pkcs12
lea esi, [ebp - 0xc0]
mov dword [ebp - 0xac], 7
mov dword [ebp - 0xb0], 0
mov word [ebp - 0xc0], dx
call fcn.00401c20
mov dword [ebp - 4], 9
or ebx, 4
mov ecx, esi
mov edx, edi
mov dword [ebp - 0x354], ebx
call fcn.004085c0
mov byte [ebp - 0x349], 0
test al, al
je 0x40c226
mov byte [ebp - 0x349], 1
test bl, 4
je 0x40c269
and ebx, 0xfffffffb
cmp dword [ebp - 0xac], 8
mov dword [ebp - 0x354], ebx
jb 0x40c24c
mov eax, dword [ebp - 0xc0]
push eax
call fcn.00413644
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xac], 7
mov dword [ebp - 0xb0], 0
mov word [ebp - 0xc0], cx
mov dword [ebp - 4], 7
test bl, 2
je 0x40c290
and ebx, 0xfffffffd
cmp dword [ebp - 0x18], 8
mov dword [ebp - 0x354], ebx
jb 0x40c290
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00413644
add esp, 4
mov eax, dword [ebp + 8]
cmp byte [eax + 5], 0
je 0x40c2ab
cmp byte [ebp - 0x349], 0
je 0x40c669
jmp 0x40c333
cmp byte [ebp - 0x349], 0
jne 0x40c2f8
xor ecx, ecx
push 4
mov eax, str..cer
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], cx
call fcn.00401c20
mov byte [ebp - 4], 0xa
or ebx, 8
mov ecx, esi
mov edx, edi
mov dword [ebp - 0x354], ebx
call fcn.004085c0
mov byte [ebp - 0x349], 1
test al, al
je 0x40c2ff
mov byte [ebp - 0x349], 0
mov dword [ebp - 4], 7
test bl, 8
je 0x40c326
and ebx, 0xfffffff7
cmp dword [ebp - 0x18], 8
mov dword [ebp - 0x354], ebx
jb 0x40c326
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00413644
add esp, 4
cmp byte [ebp - 0x349], 0
jne 0x40c669
mov ecx, dword [ebp - 0x360]
lea eax, [ebp - 0xdc]
push eax
lea ebx, [ebp - 0xf8]
call fcn.00408800
add esp, 4
mov eax, 7
xor esi, esi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x3c], eax
xor ecx, ecx
xor edx, edx
xor eax, eax
mov dword [ebp - 0x78], esi
mov word [ebp - 0x88], cx
mov dword [ebp - 0x5c], esi
mov word [ebp - 0x6c], dx
mov dword [ebp - 0x40], esi
mov word [ebp - 0x50], ax
push esi
mov ecx, ebx
push ecx
or eax, 0xffffffff
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xc
call fcn.00402050
mov edx, dword [ebp - 0x358]
push esi
push edx
or eax, 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.00402050
mov eax, dword [ebp - 0x35c]
push esi
push eax
or eax, 0xffffffff
lea ecx, [ebp - 0x6c]
call fcn.00402050
mov ebx, dword [ebp - 0x350]
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x88]
cmp edx, ecx
jae 0x40c4f4
mov eax, ebx
mov edi, dword [eax]
cmp edi, edx
ja 0x40c4ee
sub edx, edi
mov eax, 0x30c30c31
imul edx
sar edx, 4
mov esi, edx
shr esi, 0x1f
mov eax, ebx
mov ebx, dword [eax + 8]
add esi, edx
cmp ecx, ebx
jne 0x40c455
sub ecx, edi
mov eax, 0x30c30c31
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x30c30c2
ja 0x40c82c
sub ebx, edi
mov eax, 0x30c30c31
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x40c455
mov edx, eax
shr edx, 1
mov edi, 0x30c30c3
sub edi, edx
cmp edi, eax
jae 0x40c441
xor eax, eax
jmp 0x40c443
add eax, edx
cmp eax, ecx
jae 0x40c449
mov eax, ecx
mov ecx, dword [ebp - 0x350]
push eax
call fcn.00410430
mov eax, dword [ebp - 0x350]
imul esi, esi, 0x54
add esi, dword [eax]
mov ebx, esi
mov esi, dword [eax + 4]
mov dword [ebp - 0x388], esi
mov dword [ebp - 0x384], esi
mov byte [ebp - 4], 0xd
mov edi, 7
test esi, esi
je 0x40c4e5
xor ecx, ecx
push ecx
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], 0
mov word [esi], cx
push ebx
or eax, 0xffffffff
mov ecx, esi
call fcn.00402050
xor edx, edx
lea ecx, [esi + 0x1c]
mov byte [ebp - 4], 0xe
push edx
lea eax, [ebx + 0x1c]
push eax
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], 0
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00402050
xor edx, edx
lea ecx, [esi + 0x38]
mov byte [ebp - 4], 0xf
push edx
add ebx, 0x38
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], 0
push ebx
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00402050
mov eax, dword [ebp - 0x350]
add dword [eax + 4], 0x54
jmp 0x40c5e0
mov ebx, dword [ebp - 0x350]
mov esi, dword [ebx + 8]
cmp ecx, esi
jne 0x40c557
mov edi, dword [ebx]
sub ecx, edi
mov eax, 0x30c30c31
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x30c30c2
ja 0x40c82c
sub esi, edi
mov eax, 0x30c30c31
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x40c557
mov edx, eax
shr edx, 1
mov esi, 0x30c30c3
sub esi, edx
cmp esi, eax
jae 0x40c547
xor eax, eax
jmp 0x40c549
add eax, edx
cmp eax, ecx
jae 0x40c54f
mov eax, ecx
push eax
mov ecx, ebx
call fcn.00410430
mov esi, dword [ebx + 4]
mov dword [ebp - 0x384], esi
mov dword [ebp - 0x388], esi
xor edi, edi
mov byte [ebp - 4], 0x10
cmp esi, edi
je 0x40c5d7
xor eax, eax
push edi
lea ecx, [ebp - 0x88]
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], edi
mov word [esi], ax
push ecx
or eax, 0xffffffff
mov ecx, esi
call fcn.00402050
lea ecx, [esi + 0x1c]
mov byte [ebp - 4], 0x11
push edi
lea eax, [ebp - 0x6c]
xor edx, edx
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], edi
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00402050
lea ecx, [esi + 0x38]
mov byte [ebp - 4], 0x12
push edi
lea eax, [ebp - 0x50]
xor edx, edx
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], edi
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00402050
add dword [ebx + 4], 0x54
mov edi, 7
mov esi, 8
cmp dword [ebp - 0x3c], esi
jb 0x40c5f6
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.00413644
add esp, 4
xor edx, edx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 0
mov word [ebp - 0x50], dx
cmp dword [ebp - 0x58], esi
jb 0x40c617
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00413644
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], 0
mov word [ebp - 0x6c], cx
cmp dword [ebp - 0x74], esi
jb 0x40c63b
mov edx, dword [ebp - 0x88]
push edx
call fcn.00413644
add esp, 4
xor eax, eax
mov byte [ebp - 4], 7
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x78], 0
mov word [ebp - 0x88], ax
cmp dword [ebp - 0xe4], esi
jb 0x40c669
mov ecx, dword [ebp - 0xf8]
push ecx
call fcn.00413644
add esp, 4
mov ecx, dword [ebp - 0x360]
mov eax, dword [ebp - 0x36c]
add ecx, 0x1c
mov dword [ebp - 0x360], ecx
cmp ecx, eax
jne 0x40c183
mov esi, dword [ebp - 0x370]
xor ecx, ecx
cmp esi, ecx
je 0x40c6d6
mov edi, eax
cmp esi, eax
je 0x40c6cb
lea ebx, [ecx + 7]
jmp 0x40c6a0
cmp dword [esi + 0x14], 8
jb 0x40c6b3
mov eax, dword [esi]
push eax
call fcn.00413644
add esp, 4
xor ecx, ecx
xor edx, edx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x10], ecx
mov word [esi], dx
add esi, 0x1c
cmp esi, edi
jne 0x40c6a0
mov esi, dword [ebp - 0x370]
push esi
call fcn.00413644
add esp, 4
xor ecx, ecx
mov byte [ebp - 4], 3
cmp dword [ebp - 0xc8], 8
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x368], ecx
jb 0x40c704
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00413644
add esp, 4
mov ecx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x37c]
add ecx, 0x1c
mov dword [ebp - 0x35c], ecx
cmp ecx, eax
jne 0x40c0d0
mov edi, dword [ebp - 0x380]
xor esi, esi
cmp edi, esi
je 0x40c769
mov ebx, eax
cmp edi, eax
je 0x40c760
cmp dword [edi + 0x14], 8
jb 0x40c744
mov eax, dword [edi]
push eax
call fcn.00413644
add esp, 4
xor ecx, ecx
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], esi
mov word [edi], cx
add edi, 0x1c
cmp edi, ebx
jne 0x40c733
mov edi, dword [ebp - 0x380]
push edi
call fcn.00413644
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x90], 8
mov dword [ebp - 0x380], esi
mov dword [ebp - 0x37c], esi
mov dword [ebp - 0x378], esi
jb 0x40c797
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00413644
add esp, 4
mov ecx, dword [ebp - 0x358]
mov eax, dword [ebp - 0x398]
add ecx, 0x1c
mov dword [ebp - 0x358], ecx
cmp ecx, eax
jne 0x40c000
mov edi, dword [ebp - 0x39c]
mov esi, dword [ebp - 0x350]
xor ebx, ebx
cmp edi, ebx
je 0x40c80c
mov esi, eax
cmp edi, eax
je 0x40c7fd
lea esp, [esp]
cmp dword [edi + 0x14], 8
jb 0x40c7e1
mov eax, dword [edi]
push eax
call fcn.00413644
add esp, 4
xor eax, eax
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], ebx
mov word [edi], ax
add edi, 0x1c
cmp edi, esi
jne 0x40c7d0
mov edi, dword [ebp - 0x39c]
push edi
call fcn.00413644
mov esi, dword [ebp - 0x350]
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00413635
mov esp, ebp
pop ebp
ret 8
push str.vector_T__too_long
call fcn.00411bcd
int3