Function at 0x4033f0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x437fe0
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x3f8
mov eax, dword [0x4447bc]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x3f8], ecx
mov ecx, dword [ebp - 0x3f8]
call dword [sym.imp.sqlite.dll_public:_void___thiscall_CppSQLite3DB::constructor_void_]
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x3f8]
add ecx, 0xc
call dword [sym.imp.sqlite.dll_public:_void___thiscall_CppSQLite3Buffer::constructor_void_]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x3f8]
add ecx, 0x14
call fcn.004079a0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3f8]
add ecx, 0x34
call fcn.00408130
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x3f8]
add ecx, 0x60
call fcn.004017a0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x3f8]
mov dword [eax + 0x58], 0
mov dword [eax + 0x5c], 0
push str.STAT_EBOOSTR_MUTEX
push 0
lea ecx, [ebp - 0x3c0]
call fcn.00401740
mov ecx, eax
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
push eax
mov ecx, dword [ebp - 0x3f8]
add ecx, 0x60
call fcn.00401680
mov ecx, dword [ebp - 0x3f8]
push ecx
lea ecx, [ebp - 0x14]
call fcn.00407560
mov byte [ebp - 4], 5
lea edx, [ebp - 0x3dc]
push edx
call fcn.00403db0
add esp, 4
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x400], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x400]
call fcn.00412c30
push eax
push 0x104
lea ecx, [ebp - 0x368]
push ecx
call fcn.00429344
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3dc]
call fcn.00412c10
movzx edx, byte [ebp + 8]
push edx
lea eax, [ebp - 0x368]
push eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 8]
call eax
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x403566
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x14]
call fcn.00407590
jmp 0x40393f
mov dword [ebp - 0x384], 0
push str.version
mov edx, dword [ebp - 0x3f8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [eax + 0x10]
call edx
movzx eax, al
test eax, eax
je 0x403625
push str.select__from_version_
mov ecx, dword [ebp - 0x3f8]
add ecx, 0xc
push ecx
mov edx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 4]
call ecx
add esp, 8
mov ecx, dword [ebp - 0x3f8]
add ecx, 0xc
mov edx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0xc]
mov edx, dword [eax + 8]
call edx
push eax
lea eax, [ebp - 0x3a0]
push eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0x18]
call eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3a0]
call dword [sym.imp.sqlite.dll_public_virtual:_bool___thiscall_CppSQLite3Query::eof_void_]
movzx ecx, al
test ecx, ecx
jne 0x403615
push 0
push 0x43a688
lea ecx, [ebp - 0x3a0]
call dword [sym.imp.sqlite.dll_public_virtual:_int___thiscall_CppSQLite3Query::getIntField_char_const___int_]
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3a0]
call dword [sym.imp.sqlite.dll_public_virtual:_void___thiscall_CppSQLite3Query::destructor_void_]
mov edx, dword [ebp - 0x3f8]
mov dword [edx + 0x64], 1
cmp dword [ebp - 0x384], 7
je 0x4036d9
cmp dword [ebp - 0x384], 5
jge 0x403658
mov ecx, dword [ebp - 0x3f8]
call fcn.00403f90
jmp 0x4036d9
cmp dword [ebp - 0x384], 5
jne 0x403691
push str.update_applications_set_pid0_name_boot__weight100_where_iid__2_
mov eax, dword [ebp - 0x3f8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0x14]
call eax
push str.delete_from_summary_where__apid__2__
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0x14]
call eax
push str.ALTER_TABLE_files_ADD_COLUMN_loadorder_INTEGER_
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0x14]
call eax
push str.UPDATE_files_set_loadorder__1000000_
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0x14]
call eax
push str.update_version_set_ver__7_
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0x14]
call eax
push str.select__from_iteration_
mov ecx, dword [ebp - 0x3f8]
add ecx, 0xc
push ecx
mov edx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 4]
call ecx
add esp, 8
mov ecx, dword [ebp - 0x3f8]
add ecx, 0xc
mov edx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0xc]
mov edx, dword [eax + 8]
call edx
push eax
lea eax, [ebp - 0x380]
push eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0x18]
call eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x380]
call dword [sym.imp.sqlite.dll_public_virtual:_bool___thiscall_CppSQLite3Query::eof_void_]
movzx ecx, al
test ecx, ecx
jne 0x403761
push 0
push 0x43a788
lea ecx, [ebp - 0x380]
call dword [sym.imp.sqlite.dll_public_virtual:_int___thiscall_CppSQLite3Query::getIntField_char_const___int_]
add eax, 1
mov edx, dword [ebp - 0x3f8]
mov dword [edx + 0x64], eax
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [eax + 0x64]
push ecx
push 0x43a78c
mov edx, dword [ebp - 0x3f8]
add edx, 0xc
push edx
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 4]
call edx
add esp, 0xc
mov ecx, dword [ebp - 0x3f8]
add ecx, 0xc
mov eax, dword [ebp - 0x3f8]
mov edx, dword [eax + 0xc]
mov eax, dword [edx + 8]
call eax
push eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0x14]
call eax
mov ecx, dword [ebp - 0x3f8]
mov dword [0x4457ec], ecx
mov byte [ebp - 4], 9
push 0x5c
lea edx, [ebp - 0x368]
push edx
call fcn.00407540
add esp, 8
mov dword [ebp - 0x404], eax
mov eax, dword [ebp - 0x404]
mov byte [eax + 1], 0
lea ecx, [ebp - 0x368]
push ecx
push str.PRAGMA_temp_store_directory___Q_
mov edx, dword [ebp - 0x3f8]
add edx, 0xc
push edx
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 4]
call edx
add esp, 0xc
mov ecx, dword [ebp - 0x3f8]
add ecx, 0xc
mov eax, dword [ebp - 0x3f8]
mov edx, dword [eax + 0xc]
mov eax, dword [edx + 8]
call eax
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x408]
push ecx
lea edx, [ebp - 0x3f4]
push edx
mov eax, dword [ebp - 0x3f8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0x18]
call eax
lea ecx, [ebp - 0x3f4]
call dword [sym.imp.sqlite.dll_public_virtual:_void___thiscall_CppSQLite3Query::destructor_void_]
jmp 0x403867
mov dword [ebp - 4], 8
push str.etilqs
push 0x208
lea ecx, [ebp - 0x368]
push ecx
call fcn.004292d0
add esp, 0xc
mov dword [ebp - 0x18], 1
lea edx, [ebp - 0x160]
push edx
lea eax, [ebp - 0x368]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x388], eax
cmp dword [ebp - 0x388], 0xffffffff
jne 0x4038b8
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 0
je 0x403916
push 0x5c
lea ecx, [ebp - 0x368]
push ecx
call fcn.00407540
add esp, 8
mov byte [eax + 1], 0
lea edx, [ebp - 0x134]
push edx
push 0x208
lea eax, [ebp - 0x368]
push eax
call fcn.004292d0
add esp, 0xc
lea ecx, [ebp - 0x368]
push ecx
call fcn.004292c5
add esp, 4
lea edx, [ebp - 0x160]
push edx
mov eax, dword [ebp - 0x388]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov dword [ebp - 0x18], eax
jmp 0x4038b8
mov ecx, dword [ebp - 0x388]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x380]
call dword [sym.imp.sqlite.dll_public_virtual:_void___thiscall_CppSQLite3Query::destructor_void_]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x14]
call fcn.00407590
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00428b32
mov esp, ebp
pop ebp
ret 4