Function at 0x4043e0
Capabilities:
Enumerate files on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x420157
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x308
mov eax, dword [0x42e00c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x2f8], 0
xor eax, eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
mov byte [ebp - 4], 3
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x42eac8]
cmp eax, dword [ecx + 4]
jle 0x4044da
push 0x42eac8
call fcn.0041e8f4
add esp, 4
cmp dword [0x42eac8], 0xffffffff
jne 0x4044da
call fcn.00412d10
push 0x421e30
call fcn.0041ec5e
add esp, 4
push 0x42eac8
call fcn.0041e8b5
add esp, 4
push 0xffffffffffffffff
push dword [0x42ea60]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
push 0
push 0x42ea80
lea ecx, [ebp - 0x74]
call fcn.00406de0
push dword [0x42ea60]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 1
push 0x423c84
lea ecx, [ebp - 0x74]
call fcn.00406260
push str.Searching_dalp_TAs_in_the_repository...
call fcn.00401b10
add esp, 4
lea ecx, [ebp - 0x8c]
mov edx, 0x42eb64
call fcn.00401ef0
mov esi, eax
push 0x423cb0
lea edx, [ebp - 0x74]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
call fcn.00407420
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x5c]
call fcn.00407580
mov esi, eax
add esp, 4
lea eax, [ebp - 0x44]
cmp eax, esi
je 0x4045a9
mov ecx, dword [ebp - 0x30]
cmp ecx, 8
jb 0x404577
inc ecx
push ecx
push dword [ebp - 0x44]
call fcn.004025b0
mov dword [ebp - 0x34], 0
xor eax, eax
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x34], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov eax, dword [ebp - 0x48]
cmp eax, 8
jb 0x4045bb
inc eax
push eax
push dword [ebp - 0x5c]
call fcn.004025b0
xor eax, eax
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x5c], ax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x48], 7
cmp eax, 8
jb 0x4045e1
inc eax
push eax
push dword [ebp - 0x2c]
call fcn.004025b0
xor eax, eax
mov byte [ebp - 4], 3
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
cmp eax, 8
jb 0x40460e
inc eax
push eax
push dword [ebp - 0x8c]
call fcn.004025b0
cmp dword [ebp - 0x30], 8
lea ecx, [ebp - 0x2e8]
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push ecx
push eax
call edi
mov dword [ebp - 0x2f0], eax
cmp eax, 0xffffffff
jne 0x404650
push str.FindFirstFile_failed.
call fcn.00401b10
add esp, 4
jmp 0x404758
xor eax, eax
mov dword [ebp - 0x18], 7
lea ecx, [ebp - 0x2bc]
mov word [ebp - 0x27c], ax
mov dword [ebp - 0x1c], eax
lea edx, [ecx + 2]
mov word [ebp - 0x2c], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404670
sub ecx, edx
lea eax, [ebp - 0x2bc]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00406190
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x5c]
call fcn.00401f90
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x4046b4
inc eax
push eax
push dword [ebp - 0x2c]
call fcn.004025b0
xor eax, eax
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0x4c], 0x20
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
jne 0x40472b
mov esi, dword [ebp - 0x48]
lea ecx, [ebp - 0x5c]
mov edi, dword [ebp - 0x5c]
cmp esi, 0x10
cmovae ecx, edi
cmp byte [ecx + 0x20], al
jne 0x40472b
xor edx, edx
mov al, byte [ecx]
cmp al, 0x30
jl 0x4046ee
cmp al, 0x39
jle 0x4046fe
cmp al, 0x61
jl 0x4046f6
cmp al, 0x66
jle 0x4046fe
cmp al, 0x41
jl 0x40472b
cmp al, 0x46
jg 0x40472b
inc edx
inc ecx
cmp edx, 0x20
jl 0x4046e4
cmp esi, 0x10
lea eax, [ebp - 0x5c]
cmovae eax, edi
push eax
push str.The_TA__s_was_found_in_the_repository.
call fcn.00401b10
add esp, 8
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x300]
push eax
call fcn.00407810
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 3
call fcn.00402470
lea eax, [ebp - 0x2e8]
push eax
push dword [ebp - 0x2f0]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x404650
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
push str.Searching_acp_TAs_in_the_repository...
call fcn.00401b10
add esp, 4
lea ecx, [ebp - 0x8c]
mov edx, 0x42eb34
call fcn.00401ef0
mov esi, eax
push 0x423cb0
lea edx, [ebp - 0x74]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2c]
call fcn.00407420
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5c]
call fcn.00407580
mov esi, eax
add esp, 4
lea eax, [ebp - 0x44]
cmp eax, esi
je 0x4047ed
mov ecx, dword [ebp - 0x30]
cmp ecx, 8
jb 0x4047bb
inc ecx
push ecx
push dword [ebp - 0x44]
call fcn.004025b0
mov dword [ebp - 0x34], 0
xor eax, eax
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x34], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov eax, dword [ebp - 0x48]
cmp eax, 8
jb 0x4047ff
inc eax
push eax
push dword [ebp - 0x5c]
call fcn.004025b0
xor eax, eax
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x5c], ax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x48], 7
cmp eax, 8
jb 0x404825
inc eax
push eax
push dword [ebp - 0x2c]
call fcn.004025b0
xor eax, eax
mov byte [ebp - 4], 3
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
cmp eax, 8
jb 0x404852
inc eax
push eax
push dword [ebp - 0x8c]
call fcn.004025b0
cmp dword [ebp - 0x30], 8
lea ecx, [ebp - 0x2e8]
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push ecx
push eax
call edi
mov dword [ebp - 0x2f0], eax
cmp eax, 0xffffffff
jne 0x404890
push str.FindFirstFile_failed.
call fcn.00401b10
add esp, 4
jmp 0x404992
xor eax, eax
mov dword [ebp - 0x18], 7
lea ecx, [ebp - 0x2bc]
mov word [ebp - 0x27c], ax
mov dword [ebp - 0x1c], eax
lea edx, [ecx + 2]
mov word [ebp - 0x2c], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4048b0
sub ecx, edx
lea eax, [ebp - 0x2bc]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00406190
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x5c]
call fcn.00401f90
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x4048f4
inc eax
push eax
push dword [ebp - 0x2c]
call fcn.004025b0
xor eax, eax
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0x4c], 0x20
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
jne 0x40496b
mov esi, dword [ebp - 0x48]
lea ecx, [ebp - 0x5c]
mov edi, dword [ebp - 0x5c]
cmp esi, 0x10
cmovae ecx, edi
cmp byte [ecx + 0x20], al
jne 0x40496b
xor edx, edx
mov al, byte [ecx]
cmp al, 0x30
jl 0x40492e
cmp al, 0x39
jle 0x40493e
cmp al, 0x61
jl 0x404936
cmp al, 0x66
jle 0x40493e
cmp al, 0x41
jl 0x40496b
cmp al, 0x46
jg 0x40496b
inc edx
inc ecx
cmp edx, 0x20
jl 0x404924
cmp esi, 0x10
lea eax, [ebp - 0x5c]
cmovae eax, edi
push eax
push str.The_TA__s_was_found_in_the_repository.
call fcn.00401b10
add esp, 8
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x300]
push eax
call fcn.00407810
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 3
call fcn.00402470
lea eax, [ebp - 0x2e8]
push eax
push dword [ebp - 0x2f0]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x404890
mov esi, dword [ebp - 0x300]
cmp esi, dword [ebp - 0x2fc]
je 0x404a7c
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
nop word [eax + eax]
cmp dword [esi + 0x14], 0x10
jb 0x4049ba
mov eax, dword [esi]
jmp 0x4049bc
mov eax, esi
push str.BA8D164350B649CC861D2C01BED14BE8
push eax
call edi
add esp, 8
test eax, eax
je 0x404a6d
mov eax, dword [ebp - 0x2ec]
push 0xffffffffffffffff
mov word [ebp - 0x2f0], 0
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
push 0
push esi
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0xf
mov byte [ebp - 0x94], 0
call fcn.004026d0
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x7c], 2
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 0xe
call fcn.00408240
push eax
add eax, 0x10
push eax
push ecx
mov ecx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x314]
push eax
call fcn.004082a0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 3
call fcn.00402470
mov eax, dword [ebp - 0x2ec]
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
add esi, 0x18
cmp esi, dword [ebp - 0x2fc]
jne 0x4049b0
mov eax, dword [ebp - 0x30]
cmp eax, 8
jb 0x404a8e
inc eax
push eax
push dword [ebp - 0x44]
call fcn.004025b0
xor eax, eax
mov dword [ebp - 0x34], 0
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x30], 7
cmp eax, 8
jb 0x404ab4
inc eax
push eax
push dword [ebp - 0x74]
call fcn.004025b0
xor eax, eax
mov dword [ebp - 0x64], 0
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
call fcn.00406070
lea ecx, [ebp - 0x30c]
call fcn.00406070
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041e725
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret