Function at 0x43c750
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59f48f
mov eax, dword fs:[0]
push eax
sub esp, 0x6f4
mov eax, dword [0x5ec374]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x610], ecx
mov esi, dword [ebp + 8]
xor eax, eax
mov edx, esi
mov dword [ebp - 0x618], esi
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x630], 7
mov word [ebp - 0x644], ax
lea ecx, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x43c7b0
sub edx, ecx
lea ecx, [ebp - 0x644]
sar edx, 1
push edx
push esi
call fcn.0040c920
push 2
push 0x5aae90
lea ecx, [ebp - 0x644]
mov dword [ebp - 4], 0
call fcn.0040c690
mov dword [ebp - 0x224], 0
xor ecx, ecx
mov dword [ebp - 0x220], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x234], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x224], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [ebp - 0x630]
mov byte [ebp - 4], 2
cmp edx, 8
jb 0x43c867
mov ecx, dword [ebp - 0x644]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43c85d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ce88
push edx
push ecx
call fcn.0045673f
add esp, 8
xor eax, eax
mov dword [ebp - 0x634], 0
cmp dword [ebp - 0x220], 8
lea ecx, [ebp - 0x60c]
mov word [ebp - 0x644], ax
lea eax, [ebp - 0x234]
cmovae eax, dword [ebp - 0x234]
push ecx
push eax
mov dword [ebp - 0x630], 7
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [ebp - 0x614], edi
cmp edi, 0xffffffff
je 0x43ce21
nop word [eax + eax]
cmp word [ebp - 0x5e0], 0x2e
je 0x43cdfd
mov eax, dword [ebp - 0x60c]
test al, 0x10
je 0x43c91a
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005663c0
add esp, 0xc
lea eax, [ebp - 0x5e0]
push eax
push esi
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ecx, dword [ebp - 0x610]
lea eax, [ebp - 0x218]
push eax
call fcn.0043c750
jmp 0x43cdfd
test al, 2
jne 0x43cdfd
test al, 4
jne 0x43cdfd
push esi
lea ecx, [ebp - 0x620]
mov dword [ebp - 0x21c], 0
call fcn.0041b3a0
push 0x5ab294
push eax
lea eax, [ebp - 0x61c]
mov byte [ebp - 4], 3
push eax
call fcn.00414cf0
lea ecx, [ebp - 0x5e0]
mov byte [ebp - 4], 4
push ecx
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.00414cf0
add esp, 0x18
mov edx, dword [ebp - 0x61c]
or eax, 0xffffffff
mov byte [ebp - 4], 6
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43c993
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x620]
or eax, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43c9b5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0xb8
lea eax, [ebp - 0x34c]
push 0
push eax
call fcn.005663c0
add esp, 0xc
lea ecx, [ebp - 0x34c]
push 1
push 0x40
push 0x21
push dword [ebp - 0x21c]
call fcn.00405110
cmp dword [ebp - 0x2f0], 0
mov byte [ebp - 4], 8
jne 0x43cb19
call fcn.0047f7a0
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x43cdd0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x6a
push str.d:jenkins.jenkinsworkspacegroup_clean_software_pm_software_pm_software_pm_ui_src_software_pm_ui_wnd.cc
lea ecx, [ebp - 0x664]
mov dword [ebp - 0x624], eax
mov dword [ebp - 0x654], 0
mov dword [ebp - 0x650], 0xf
mov byte [ebp - 0x664], 0
call fcn.0040c820
push 3
push 0x5ab0b4
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 9
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0xf
mov byte [ebp - 0x24c], 0
call fcn.0040c820
mov byte [ebp - 4], 0xa
call fcn.0047f7a0
mov edi, eax
lea ecx, [ebp - 0x700]
push 0xf21
lea eax, [ebp - 0x664]
push eax
lea eax, [ebp - 0x24c]
push eax
call fcn.00405890
mov esi, eax
push str.open_xml_file_failed__file_path:
push esi
mov byte [ebp - 4], 0xb
call fcn.00406c40
mov ecx, dword [ebp - 0x21c]
mov edx, str._null_
test ecx, ecx
cmovne edx, ecx
push edx
push esi
call fcn.00403140
push str.error_code_
push esi
call fcn.00406c40
add esp, 0x18
mov ecx, esi
push dword [ebp - 0x624]
call fcn.00406aa0
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 0x1c]
lea ecx, [ebp - 0x700]
call fcn.00406f60
lea ecx, [ebp - 0x24c]
call fcn.004064a0
lea ecx, [ebp - 0x664]
call fcn.004064a0
mov edi, dword [ebp - 0x614]
jmp 0x43cdd0
mov eax, dword [ebp - 0x34c]
lea ecx, [ebp - 0x27c]
push dword [ebp - 0x618]
mov word [ebp - 0x648], 1
push dword [ebp - 0x648]
mov eax, dword [eax + 4]
push 0
mov byte [ebp - 0x627], 0
mov dword [ebp - 0x26c], 0
mov eax, dword [ebp + eax - 0x314]
test eax, eax
mov dword [ebp - 0x268], 0xf
sete byte [ebp - 0x628]
mov byte [ebp - 0x27c], 0
push dword [ebp - 0x628]
push eax
call fcn.00403570
cmp dword [ebp - 0x2f0], 0
lea esi, [ebp - 0x33c]
mov byte [ebp - 4], 0xc
jne 0x43cb94
xor esi, esi
jmp 0x43cbbb
lea ecx, [ebp - 0x33c]
call fcn.0040ab10
push dword [ebp - 0x2f0]
xor ecx, ecx
test al, al
cmove esi, ecx
call fcn.0056af88
xor ecx, ecx
add esp, 4
test eax, eax
cmovne esi, ecx
push 2
push 0
lea ecx, [ebp - 0x33c]
call fcn.0040b3e0
test esi, esi
jne 0x43cc0a
mov eax, dword [ebp - 0x34c]
mov ecx, dword [eax + 4]
xor eax, eax
cmp dword [ebp + ecx - 0x314], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ebp + ecx - 0x340]
and eax, 0x17
mov dword [ebp + ecx - 0x340], eax
mov ecx, dword [ebp + ecx - 0x33c]
and ecx, eax
jne 0x43ce8d
cmp dword [ebp - 0x268], 0x10
lea eax, [ebp - 0x27c]
push 0xfde9
cmovae eax, dword [ebp - 0x27c]
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.0047d3c0
push 0x70
lea eax, [ebp - 0x3bc]
mov byte [ebp - 4], 0xd
push 0
push eax
call fcn.005663c0
add esp, 0x18
lea ecx, [ebp - 0x3bc]
call fcn.00527360
cmp dword [ebp - 0x280], 0x10
lea eax, [ebp - 0x294]
push 0
cmovae eax, dword [ebp - 0x294]
lea ecx, [ebp - 0x3bc]
push 0
push eax
mov byte [ebp - 4], 0xe
call fcn.0052a6c0
lea ecx, [ebp - 0x3bc]
call fcn.00528e60
test eax, eax
je 0x43cdaf
push str.Task
lea ecx, [ebp - 0x3bc]
call fcn.00528e20
test eax, eax
je 0x43cdaf
push str.Actions
mov ecx, eax
call fcn.00528e20
test eax, eax
je 0x43cdaf
push str.Exec
mov ecx, eax
call fcn.00528e20
test eax, eax
je 0x43cdaf
push str.Command
mov ecx, eax
call fcn.00528e20
test eax, eax
je 0x43cdaf
mov ecx, eax
call fcn.00528ec0
mov esi, eax
test esi, esi
je 0x43cdaf
lea ecx, [ebp - 0x264]
call fcn.0041c6a0
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0xf
call fcn.00413d30
push 0xfde9
lea eax, [ebp - 0x664]
push esi
push eax
call fcn.0047d500
add esp, 0xc
lea ecx, [ebp - 0x24c]
push eax
call fcn.0041e030
lea ecx, [ebp - 0x664]
call fcn.004064f0
cmp dword [ebp - 0x238], 8
lea ecx, [ebp - 0x24c]
mov edx, dword [ebp - 0x24c]
lea edi, [ebp - 0x24c]
mov eax, dword [ebp - 0x23c]
cmovae ecx, edx
push fcn.0057a082
cmovae edi, edx
push edi
lea eax, [ecx + eax*2]
push eax
lea ecx, [ebp - 0x24c]
cmovae ecx, edx
lea eax, [ebp - 0x668]
push ecx
push eax
call fcn.0041b2c0
mov ecx, dword [ebp - 0x610]
lea eax, [ebp - 0x264]
add esp, 0x14
lea ecx, [ecx + 0x2f8]
push eax
call fcn.00447920
lea ecx, [ebp - 0x264]
call fcn.0041d240
mov edi, dword [ebp - 0x614]
lea ecx, [ebp - 0x3bc]
call fcn.004067d0
lea ecx, [ebp - 0x294]
call fcn.004064a0
lea ecx, [ebp - 0x27c]
call fcn.004064a0
lea ecx, [ebp - 0x34c]
call fcn.00406ed0
mov edx, dword [ebp - 0x21c]
or eax, 0xffffffff
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43cdfd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x60c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x43ce1a
mov esi, dword [ebp - 0x618]
jmp 0x43c8c0
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x610]
mov edx, dword [ebp - 0x220]
mov esi, dword [eax + 0x2fc]
cmp edx, 8
jb 0x43ce69
mov ecx, dword [ebp - 0x234]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43ce5f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ced8
push edx
push ecx
call fcn.0045673f
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045674d
mov esp, ebp
pop ebp
ret 4
call fcn.0056a5ea
test cl, 4
je 0x43ce99
mov esi, str.ios_base::badbit_set
jmp 0x43cea9
test cl, 2
mov esi, str.ios_base::failbit_set
mov eax, str.ios_base::eofbit_set
cmove esi, eax
lea eax, [ebp - 0x62c]
push 1
push eax
call fcn.0040dd60
add esp, 8
lea ecx, [ebp - 0x640]
push eax
push esi
call fcn.00405db0
push 0x5d9b68
lea eax, [ebp - 0x640]
push eax
call fcn.00565fa8
call fcn.0056a5ea
int3