Function at 0x10038470
Capabilities:
Check if file exists
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10180b27
mov eax, dword fs:[0]
push eax
sub esp, 0x59c
mov eax, dword [0x101dd594]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x498], eax
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 0
cmovae eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10038a71
call fcn.100d1170
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x10038624
push 0x69
push str.d:jenkins.jenkinsworkspacemultiplugin_nativemultipluginencryptplugin_shellwindowcfoldermonitor.cpp
lea ecx, [ebp - 0x4c8]
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4b4], 0xf
mov byte [ebp - 0x4c8], al
call fcn.10019000
push 3
push 0x10193e24
lea ecx, [ebp - 0x4b0]
mov byte [ebp - 4], 1
mov dword [ebp - 0x4a0], 0
mov dword [ebp - 0x49c], 0xf
mov byte [ebp - 0x4b0], 0
call fcn.10019000
mov byte [ebp - 4], 2
call fcn.100d1170
mov edi, eax
lea ecx, [ebp - 0x4e0]
lea eax, [ebp + 0xc]
push eax
call fcn.100348f0
push eax
lea eax, [ebp - 0x510]
mov byte [ebp - 4], 3
push 0x10195fa0
push eax
call fcn.10036f30
push 0x10195f9c
push eax
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 4
push eax
call fcn.10033db0
add esp, 0x18
mov esi, eax
push 0xaf
lea eax, [ebp - 0x4c8]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0x5a8]
call fcn.100167c0
mov ecx, eax
mov dword [ebp - 0x48c], ecx
cmp dword [esi + 0x14], 8
mov byte [ebp - 4], 6
jb 0x100385bd
mov esi, dword [esi]
test esi, esi
mov eax, 0x10193e70
cmovne eax, esi
push eax
push ecx
call fcn.1001a540
mov eax, dword [edi]
add esp, 8
mov ecx, edi
push dword [ebp - 0x48c]
call dword [eax + 0x1c]
lea ecx, [ebp - 0x5a8]
call fcn.10017580
lea ecx, [ebp - 0x4f8]
call fcn.100171c0
lea ecx, [ebp - 0x510]
call fcn.100171c0
lea ecx, [ebp - 0x4e0]
call fcn.100171c0
lea ecx, [ebp - 0x4b0]
call fcn.10017170
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 0
call fcn.10017170
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.10150460
add esp, 0xc
lea eax, [ebp + 0xc]
cmp dword [ebp + 0x20], 8
cmovae eax, dword [ebp + 0xc]
push 0x10195e30
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [ebp - 0x48c], edi
cmp edi, 0xffffffff
je 0x10038a71
lea eax, [ebp - 0x480]
xor esi, esi
push eax
push edi
mov dword [ebp - 0x488], esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x100388e6
nop dword [eax + eax]
cmp word [ebp - 0x454], 0x2e
je 0x100388d0
lea eax, [ebp - 0x454]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov ecx, eax
mov dword [ebp - 0x220], 0
mov esi, ecx
mov dword [ebp - 0x490], ecx
xor eax, eax
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
lea edx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x100386e5
sub esi, edx
sar esi, 1
cmp esi, 7
ja 0x10038721
mov dword [ebp - 0x220], esi
lea eax, [ebp - 0x230]
add esi, esi
push esi
push ecx
push eax
call fcn.1014fee0
add esp, 0xc
xor eax, eax
mov word [ebp + esi - 0x230], ax
jmp 0x100387a1
cmp esi, 0x7ffffffe
ja 0x10038b24
mov eax, esi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x10038740
mov eax, SysReAllocString
jmp 0x1003874b
cmp eax, 0xa
mov ecx, 0xa
cmovb eax, ecx
xor ecx, ecx
mov dword [ebp - 0x484], eax
add eax, 1
setb cl
neg ecx
or ecx, eax
push ecx
lea ecx, [ebp - 0x230]
call fcn.10018c50
mov dword [ebp - 0x220], esi
mov edi, eax
mov eax, dword [ebp - 0x484]
add esi, esi
push esi
push dword [ebp - 0x490]
mov dword [ebp - 0x21c], eax
push edi
call fcn.1014f960
add esp, 0xc
xor eax, eax
mov word [edi + esi], ax
mov dword [ebp - 0x230], edi
mov edi, dword [ebp - 0x48c]
cmp dword [ebp - 0x220], 0
mov byte [ebp - 4], 7
jne 0x100387c8
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0
call fcn.100171c0
mov esi, dword [ebp - 0x488]
jmp 0x100388d0
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x4e0]
push eax
call fcn.100373e0
mov esi, eax
add esp, 8
lea eax, [ebp - 0x230]
cmp eax, esi
je 0x1003881b
mov ecx, eax
call fcn.100171c0
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x220], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x4e0]
call fcn.100171c0
cmp dword [ebp - 0x21c], 8
lea edi, [ebp - 0x230]
mov edx, dword [ebp - 0x220]
mov ecx, 0x101e4bd0
cmovae edi, dword [ebp - 0x230]
cmp dword [0x101e4be4], 8
mov eax, dword [0x101e4be0]
cmovae ecx, dword [0x101e4bd0]
mov dword [ebp - 0x484], edi
mov dword [ebp - 0x494], ecx
cmp edx, eax
ja 0x100388a1
test edx, edx
jne 0x10038870
xor esi, esi
jmp 0x100388a4
sub eax, edx
mov esi, ecx
inc eax
lea eax, [ecx + eax*2]
mov dword [ebp - 0x490], eax
nop
sub eax, esi
sar eax, 1
je 0x100388a1
movzx ecx, word [edi]
nop dword [eax]
cmp word [esi], cx
je 0x10038aa3
add esi, 2
sub eax, 1
jne 0x10038890
or esi, 0xffffffff
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0
call fcn.100171c0
mov ecx, dword [ebp - 0x488]
cmp esi, 0xffffffff
mov edi, dword [ebp - 0x48c]
lea eax, [ecx + 1]
cmove eax, ecx
mov esi, eax
mov dword [ebp - 0x488], esi
lea eax, [ebp - 0x480]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x100386a0
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
call fcn.100d1170
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x10038a51
push 0x69
push str.d:jenkins.jenkinsworkspacemultiplugin_nativemultipluginencryptplugin_shellwindowcfoldermonitor.cpp
lea ecx, [ebp - 0x4b0]
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x49c], 0xf
mov byte [ebp - 0x4b0], al
call fcn.10019000
push 3
push 0x10193e24
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 8
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4b4], 0xf
mov byte [ebp - 0x4c8], 0
call fcn.10019000
mov byte [ebp - 4], 9
call fcn.100d1170
mov dword [ebp - 0x494], eax
lea ecx, [ebp - 0x4f8]
lea eax, [ebp + 0xc]
push eax
call fcn.100348f0
push eax
lea eax, [ebp - 0x510]
mov byte [ebp - 4], 0xa
push 0x10195fc0
push eax
call fcn.10036f30
push 0x10195fb0
push eax
lea eax, [ebp - 0x4e0]
mov byte [ebp - 4], 0xb
push eax
call fcn.10033db0
add esp, 0x18
mov esi, eax
push 0xd1
lea eax, [ebp - 0x4b0]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x4c8]
push eax
lea ecx, [ebp - 0x5a8]
call fcn.100167c0
mov edi, eax
cmp dword [esi + 0x14], 8
mov byte [ebp - 4], 0xd
jb 0x100389e1
mov esi, dword [esi]
test esi, esi
mov eax, 0x10193e70
cmovne eax, esi
push eax
push edi
call fcn.1001a540
mov esi, dword [ebp - 0x488]
add esp, 8
mov ecx, edi
push esi
call fcn.10023390
mov ecx, dword [ebp - 0x494]
push edi
mov eax, dword [ecx]
call dword [eax + 0x1c]
lea ecx, [ebp - 0x5a8]
call fcn.10017580
lea ecx, [ebp - 0x4e0]
call fcn.100171c0
lea ecx, [ebp - 0x510]
call fcn.100171c0
lea ecx, [ebp - 0x4f8]
call fcn.100171c0
lea ecx, [ebp - 0x4c8]
call fcn.10017170
lea ecx, [ebp - 0x4b0]
call fcn.10017170
push esi
push dword [ebp - 0x498]
push 0x40b
push 0
push str.encrypt_C4575FC3_CFD1_4687_9E2A_18A9227BDB9F
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov edx, dword [ebp + 0x20]
cmp edx, 8
jb 0x10038b02
mov ecx, dword [ebp + 0xc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10038af8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10038b1f
jmp 0x10038af8
test esi, esi
je 0x100388a1
mov ecx, edi
test edx, edx
je 0x10038ad1
mov edi, esi
sub edi, dword [ebp - 0x484]
nop dword [eax]
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x10038ade
add ecx, 2
sub edx, 1
jne 0x10038ac0
sub esi, dword [ebp - 0x494]
sar esi, 1
jmp 0x100388a4
mov edi, dword [ebp - 0x484]
add esi, 2
mov edx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x490]
jmp 0x10038880
push edx
push ecx
call fcn.10127e1e
add esp, 8
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.10128191
mov esp, ebp
pop ebp
ret 0x1c
call fcn.10153963
call fcn.10018bd0
int3