Function at 0x401040
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8d0
mov eax, dword [0x460a10]
xor eax, ebp
mov dword [ebp - 4], eax
movsd xmm0, qword [0x446798]
mov eax, dword [str.RAS2VEC]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x44], eax
mov eax, dword [0x446360]
movsd qword [ebp - 0x8c0], xmm0
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [0x4467a0]
push 0x38
mov dword [ebp - 0x40], eax
movsd qword [ebp - 0x8b4], xmm0
movsd xmm0, qword [0x4467b8]
lea eax, [ebp - 0x3c]
push 0
push eax
mov dword [ebp - 0x8a4], esi
mov dword [ebp - 0x8b8], 1
mov dword [ebp - 0x8a8], 1
movsd qword [ebp - 0x8d0], xmm0
call fcn.00432800
mov eax, 0x2e
push 0x102
mov word [ebp - 0x24c], ax
lea eax, [ebp - 0x24a]
push 0
push eax
call fcn.00432800
push 0x401020
push section..text
push 0x401020
call fcn.0042f380
push 0x401bb0
call fcn.00401d10
push 0x401c60
call fcn.00401d40
push 1
push 1
push str.__ras2vec__d._d_n_____by_Davide_Libenzi__davidel_xmailserver.org_______n
call fcn.0042f3b0
mov ebx, dword [ebp + 8]
add esp, 0x38
cmp ebx, 2
jge 0x401160
movsd xmm0, qword [0x4467a0]
lea eax, [ebp - 0x24c]
push eax
sub esp, 8
movsd qword [esp], xmm0
push str.__use_:_ras2vec___cdhxpXYeo__img_file_..._n_________c_________centerline__default__n_________d_________doubleline_n_________h_________hpgl_output_n_________m_________emf_output_n_________x_________dxf_output__default__n_________p_________polyline_output_n_________X_sf______X_scale_factor__default_1.0__n_________Y_sf______Y_scale_factor__default_1.0__n_________e_tf______set_tollerance__0..10___default__lf__n_________o_dir_____set_output_directory_n_________f_plf_____set_min_poly_length_factor_as_max_x__y____plf__default__1.0__none__n________img_file___image_files_type_bmp__tif_n____________________black__white___1_bit_x_pixel_n____________________bmp_uncompressed___tif_all_types_n____________________wildcards_are_allowed_n
call fcn.0042f3b0
add esp, 0x10
mov eax, 0x137
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004327ee
mov esp, ebp
pop ebp
ret
push edi
mov edi, 1
mov dword [ebp - 0x8ac], edi
cmp ebx, edi
jle 0x4016db
mov eax, dword [esi + edi*4]
movsd xmm1, qword [0x4467b0]
cmp byte [eax], 0x2d
jne 0x401352
movsx eax, byte [eax + 1]
add eax, 0xffffffa8
cmp eax, 0x20
ja case.0x40119f.90
movzx eax, byte [eax + 0x401724]
jmp dword [eax*4 + 0x4016f4]
mov dword [ebp - 0x8b8], 1
jmp case.0x40119f.90
mov dword [ebp - 0x8b8], 2
jmp case.0x40119f.90
mov dword [ebp - 0x8a8], 2
jmp case.0x40119f.90
mov dword [ebp - 0x8a8], 1
jmp case.0x40119f.90
mov dword [ebp - 0x8a8], 4
jmp case.0x40119f.90
mov dword [ebp - 0x8a8], 3
jmp case.0x40119f.90
inc edi
cmp edi, ebx
jge case.0x40119f.90
mov ecx, dword [esi + edi*4]
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x401204
sub edx, esi
lea esi, [ebp - 0x24c]
sub esi, ecx
mov al, byte [ecx]
mov byte [esi + ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x401215
lea eax, [edx - 1]
cmp byte [ebp + eax - 0x24c], 0x5c
jne 0x40124e
mov edi, edi
cmp eax, 0x104
jae 0x4016ee
mov byte [ebp + eax - 0x24c], 0
dec eax
cmp byte [ebp + eax - 0x24c], 0x5c
je 0x401230
mov esi, dword [ebp - 0x8a4]
inc edi
mov dword [ebp - 0x8ac], edi
cmp edi, ebx
jge 0x4016db
jmp 0x401174
inc edi
cmp edi, ebx
jge case.0x40119f.90
push dword [esi + edi*4]
call fcn.0043205b
fstp qword [ebp - 0x8c0]
movsd xmm0, qword [ebp - 0x8c0]
add esp, 4
movsd qword [ebp - 0x8c0], xmm0
jmp case.0x40119f.90
inc edi
cmp edi, ebx
jge case.0x40119f.90
push dword [esi + edi*4]
call fcn.0043205b
fstp qword [ebp - 0x8c8]
movsd xmm0, qword [ebp - 0x8c8]
add esp, 4
movsd qword [ebp - 0x8c8], xmm0
jmp case.0x40119f.90
inc edi
cmp edi, ebx
jge 0x4012e8
push dword [esi + edi*4]
call fcn.0043205b
fstp qword [ebp - 0x8b4]
movsd xmm2, qword [ebp - 0x8b4]
movsd xmm1, qword [0x4467b0]
add esp, 4
movsd qword [ebp - 0x8b4], xmm2
jmp 0x4012f0
movsd xmm2, qword [ebp - 0x8b4]
xorps xmm0, xmm0
comisd xmm0, xmm2
ja 0x401316
comisd xmm2, xmm1
jbe 0x40130c
movsd qword [ebp - 0x8b4], xmm1
jmp case.0x40119f.90
comisd xmm0, xmm2
jbe case.0x40119f.90
movsd qword [ebp - 0x8b4], xmm0
jmp case.0x40119f.90
inc edi
cmp edi, ebx
jge case.0x40119f.90
push dword [esi + edi*4]
call fcn.0043205b
fstp qword [ebp - 0x8d0]
movsd xmm0, qword [ebp - 0x8d0]
add esp, 4
movsd qword [ebp - 0x8d0], xmm0
jmp case.0x40119f.90
cmp edi, ebx
jge 0x4016db
mov ebx, dword [ebp - 0x8ac]
push 0x5c
push dword [esi + edi*4]
call fcn.00431e00
push 0x103
mov esi, eax
lea eax, [ebp - 0x557]
push 0
push eax
mov byte [ebp - 0x558], 0
call fcn.00432800
add esp, 0x14
test esi, esi
je 0x4013be
mov eax, dword [ebp - 0x8a4]
mov eax, dword [eax + edi*4]
sub esi, eax
inc esi
push esi
push eax
lea eax, [ebp - 0x558]
push eax
call fcn.00431cd0
add esp, 0xc
cmp esi, 0x104
jae 0x4016ee
mov byte [ebp + esi - 0x558], 0
lea eax, [ebp - 0x8a0]
push eax
mov eax, dword [ebp - 0x8a4]
push dword [eax + edi*4]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4013f6
mov esi, dword [ebp - 0x8a4]
push dword [esi + edi*4]
push str.__unable_to_find__s_n
call fcn.0042f3b0
add esp, 8
jmp 0x4016cb
mov edi, dword [ebp - 0x8a8]
lea esp, [esp]
lea eax, [ebp - 0x874]
push eax
lea eax, [ebp - 0x558]
push eax
lea eax, [ebp - 0x65c]
push str._s_s
push eax
call fcn.0043266b
lea eax, [ebp - 0x760]
push eax
lea eax, [ebp - 0x454]
push eax
push 0
lea eax, [ebp - 0x874]
push 0
push eax
call fcn.00432136
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x350]
push str._s_s.ply
push eax
call fcn.0043266b
mov eax, dword [ebp - 0x8b8]
add esp, 0x34
dec eax
je 0x4014a6
dec eax
jne 0x4014dc
movsd xmm0, qword [ebp - 0x8d0]
mulsd xmm0, qword [0x4467a8]
lea eax, [ebp - 0x350]
push eax
sub esp, 0x10
lea eax, [ebp - 0x65c]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x8b4]
movsd qword [esp], xmm0
push eax
call fcn.00401980
jmp 0x4014d7
movsd xmm0, qword [ebp - 0x8d0]
lea eax, [ebp - 0x350]
push eax
sub esp, 0x10
lea eax, [ebp - 0x65c]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x8b4]
movsd qword [esp], xmm0
push eax
call fcn.00401750
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x401686
mov eax, edi
dec eax
je 0x401601
dec eax
je 0x40157f
sub eax, 2
jne 0x401695
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x148]
push str._s_s.emf
push eax
call fcn.0043266b
lea eax, [ebp - 0x148]
push eax
push str.__writing_emf_file__s_n
call fcn.0042f3f0
movsd xmm0, qword [ebp - 0x8c8]
add esp, 0x18
lea eax, [ebp - 0x350]
push 0
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x8c0]
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.0042f530
add esp, 0x1c
test eax, eax
jne 0x401686
lea eax, [ebp - 0x148]
push eax
push str.__error_writing_emf_file__s_n
jmp 0x40167e
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x148]
push str._s_s.hgl
push eax
call fcn.0043266b
lea eax, [ebp - 0x148]
push eax
push str.__writing_hpgl_file__s_n
call fcn.0042f3f0
movsd xmm0, qword [ebp - 0x8c8]
add esp, 0x18
lea eax, [ebp - 0x350]
push 0
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x8c0]
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.0042f6a0
add esp, 0x1c
test eax, eax
jne 0x401686
lea eax, [ebp - 0x148]
push eax
push str.__error_writing_hpgl_file__s_n
jmp 0x40167e
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x148]
push str._s_s.dxf
push eax
call fcn.0043266b
lea eax, [ebp - 0x148]
push eax
push str.__writing_dxf_file__s_n
call fcn.0042f3f0
movsd xmm0, qword [ebp - 0x8c8]
add esp, 0x18
lea eax, [ebp - 0x44]
push 0
push eax
sub esp, 0x10
lea eax, [ebp - 0x350]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x8c0]
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.0042f410
add esp, 0x20
test eax, eax
jne 0x401686
lea eax, [ebp - 0x148]
push eax
push str.__error_writing_dxf_file__s_n
call fcn.0042f3b0
add esp, 8
lea eax, [ebp - 0x350]
push eax
call fcn.004324fd
add esp, 4
push str.__done_n_n
call fcn.0042f3f0
add esp, 4
lea eax, [ebp - 0x8a0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x401400
mov edi, dword [ebp - 0x8ac]
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, dword [ebp - 0x8a4]
inc edi
mov dword [ebp - 0x8ac], edi
cmp edi, dword [ebp + 8]
jl 0x401360
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004327ee
mov esp, ebp
pop ebp
ret
call fcn.00431be9
nop
push 0x90004012
adc al, byte [eax]
cmpsb byte [esi], byte es:[edi]
adc dword [eax], eax
mov ch, 0x11
inc eax
add byte [eax + 0x23004012], bh
adc eax, dword [eax]
les edx, [ecx]
inc eax
add bh, bl
adc dword [eax], eax
not dword [ecx]
inc eax
add bl, ch
adc dword [eax], eax
rcl dword [ecx], cl
inc eax
add byte [edx + edx + 0x40], dl
add byte [eax], al
add dword [ebx], ecx
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
add al, byte [ebx]
add al, 5
or eax, dword [esi]
or ecx, dword [ebx]
or ecx, dword [ebx]
pop es
or ecx, dword [eax]
or dword [ebx], ecx
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or cl, ah
int3