Function at 0x5319d0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63281d
mov eax, dword fs:[0]
push eax
sub esp, 0xf58
mov eax, dword [0x6b278c]
xor eax, ebp
mov dword [ebp - 0x2c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xf5c], ecx
cmp dword [ebp + 8], 0
je 0x531a17
mov eax, dword [ebp + 8]
push eax
call fcn.005b50b1
add esp, 4
test eax, eax
ja 0x531a1e
xor al, al
jmp 0x53237d
lea ecx, [ebp - 0x24]
call fcn.00414100
mov dword [ebp - 4], 0
xor ecx, ecx
mov word [ebp - 0x43c], cx
push 0x40e
push 0
lea edx, [ebp - 0x43a]
push edx
call fcn.005b4de0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x84c], ax
push 0x40e
push 0
lea ecx, [ebp - 0x84a]
push ecx
call fcn.005b4de0
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x43c]
push eax
call fcn.005b4dbe
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.005b50b1
add esp, 4
movzx edx, word [ebp + eax*2 - 0x43e]
cmp edx, 0x5c
je 0x531ab0
mov eax, dword [ebp + 8]
push eax
call fcn.005b50b1
add esp, 4
movzx ecx, word [ebp + eax*2 - 0x43e]
cmp ecx, 0x2f
jne 0x531ac6
mov edx, dword [ebp + 8]
push edx
call fcn.005b50b1
add esp, 4
xor ecx, ecx
mov word [ebp + eax*2 - 0x43e], cx
lea edx, [ebp - 0x43c]
push edx
push 0x6540d0
lea eax, [ebp - 0x84c]
push eax
call fcn.005b50ec
add esp, 0xc
lea ecx, [ebp - 0xa9c]
push ecx
lea edx, [ebp - 0x84c]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
jne 0x531b1f
mov byte [ebp - 0xf0d], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.00416190
mov al, byte [ebp - 0xf0d]
jmp 0x53237d
mov eax, dword [ebp - 0xa9c]
and eax, 0x10
je 0x531b2e
jmp 0x531ba3
xor ecx, ecx
mov word [ebp - 0xeac], cx
push 0x40e
push 0
lea edx, [ebp - 0xeaa]
push edx
call fcn.005b4de0
add esp, 0xc
lea eax, [ebp - 0xa70]
push eax
lea ecx, [ebp - 0x43c]
push ecx
push 0x6540e0
lea edx, [ebp - 0xeac]
push edx
call fcn.005b50ec
add esp, 0x10
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0xf2c]
call fcn.0040e4b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf2c]
push ecx
lea ecx, [ebp - 0x24]
call fcn.004161f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xf2c]
call fcn.0040e530
lea edx, [ebp - 0xa9c]
push edx
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x531b1f
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x24]
call fcn.004163e0
test eax, eax
ja 0x531bf3
mov byte [ebp - 0xf2d], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.00416190
mov al, byte [ebp - 0xf2d]
jmp 0x53237d
push fcn.005315f0
lea edx, [ebp - 0xf38]
push edx
lea ecx, [ebp - 0x24]
call fcn.0040e8c0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0xf40]
push eax
lea ecx, [ebp - 0x24]
call fcn.00414550
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.00536010
add esp, 0x14
mov dword [ebp - 0xeb0], 0
jmp 0x531c47
mov eax, dword [ebp - 0xeb0]
add eax, 1
mov dword [ebp - 0xeb0], eax
lea ecx, [ebp - 0x24]
call fcn.004163e0
cmp dword [ebp - 0xeb0], eax
jae 0x5322c8
push 0
mov ecx, dword [ebp - 0xeb0]
push ecx
lea ecx, [ebp - 0x24]
call fcn.0041cab0
mov ecx, eax
call fcn.0040e5d0
push eax
call fcn.005332c0
add esp, 8
mov dword [ebp - 0xeb4], eax
cmp dword [ebp - 0xeb4], 0
je 0x532269
mov ecx, dword [ebp - 0xeb4]
call fcn.00532bf0
test eax, eax
jbe 0x532269
mov ecx, dword [ebp - 0xeb4]
call fcn.00532c50
test eax, eax
jbe 0x532269
cmp dword [ebp - 0xeb0], 0
jne 0x5320c6
xor edx, edx
mov dword [ebp - 0xef8], edx
mov dword [ebp - 0xef4], edx
mov dword [ebp - 0xef0], edx
mov dword [ebp - 0xeec], edx
mov dword [ebp - 0xee8], edx
mov dword [ebp - 0xee4], edx
mov dword [ebp - 0xee0], edx
mov dword [ebp - 0xedc], edx
mov dword [ebp - 0xed8], edx
mov dword [ebp - 0xed4], edx
mov dword [ebp - 0xef8], 0x28
lea eax, [ebp - 0xef8]
push eax
push 2
mov ecx, dword [ebp - 0xf5c]
mov edx, dword [ecx + 0xa88]
push edx
call dword [sym.imp.USER32.dll_MonitorFromWindow]
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [ebp - 0xedc]
sub eax, dword [ebp - 0xee4]
mov dword [ebp - 0xf04], eax
mov ecx, dword [ebp - 0xed8]
sub ecx, dword [ebp - 0xee0]
mov dword [ebp - 0xf00], ecx
mov edx, dword [ebp - 0xee4]
mov dword [ebp - 0xefc], edx
mov eax, dword [ebp - 0xee0]
mov dword [ebp - 0xf08], eax
mov ecx, dword [ebp - 0xeb4]
call fcn.00532bf0
mov ecx, dword [ebp - 0xf5c]
mov dword [ecx + 0xa5c], eax
mov ecx, dword [ebp - 0xeb4]
call fcn.00532c50
mov edx, dword [ebp - 0xf5c]
mov dword [edx + 0xa60], eax
mov eax, dword [ebp - 0xf5c]
mov ecx, dword [ebp - 0xf5c]
mov edx, dword [ecx + 0xa5c]
mov dword [eax + 0xa64], edx
mov eax, dword [ebp - 0xf5c]
mov ecx, dword [ebp - 0xf5c]
mov edx, dword [ecx + 0xa60]
mov dword [eax + 0xa68], edx
mov eax, dword [ebp - 0xf5c]
mov ecx, dword [ebp - 0xf5c]
mov edx, dword [eax + 0xa5c]
cmp edx, dword [ecx + 0xa60]
jle 0x531f7f
mov eax, dword [ebp - 0xf5c]
fild dword [eax + 0xa5c]
fidiv dword [ebp - 0xf04]
fcomp qword [0x654138]
fnstsw ax
test ah, 0x41
jne 0x531ef6
push 0x6540ec
call fcn.00412530
push eax
call fcn.0040d040
add esp, 8
fild dword [ebp - 0xf04]
fmul qword [0x654138]
call fcn.005b8450
mov ecx, dword [ebp - 0xf5c]
mov dword [ecx + 0xa64], eax
mov edx, dword [ebp - 0xf5c]
fild dword [edx + 0xa64]
mov eax, dword [ebp - 0xf5c]
fimul dword [eax + 0xa60]
mov ecx, dword [ebp - 0xf5c]
fidiv dword [ecx + 0xa5c]
call fcn.005b8450
mov edx, dword [ebp - 0xf5c]
mov dword [edx + 0xa68], eax
mov eax, dword [ebp - 0xf5c]
fild dword [eax + 0xa68]
fidiv dword [ebp - 0xf00]
fcomp qword [0x654138]
fnstsw ax
test ah, 0x41
jne 0x531ef1
push 0x6540f4
call fcn.00412530
push eax
call fcn.0040d040
add esp, 8
fild dword [ebp - 0xf00]
fmul qword [0x654138]
call fcn.005b8450
mov ecx, dword [ebp - 0xf5c]
mov dword [ecx + 0xa68], eax
mov edx, dword [ebp - 0xf5c]
fild dword [edx + 0xa68]
mov eax, dword [ebp - 0xf5c]
fidiv dword [eax + 0xa60]
mov ecx, dword [ebp - 0xf5c]
fimul dword [ecx + 0xa5c]
call fcn.005b8450
mov edx, dword [ebp - 0xf5c]
mov dword [edx + 0xa64], eax
jmp 0x531f7a
mov eax, dword [ebp - 0xf5c]
fild dword [eax + 0xa60]
fidiv dword [ebp - 0xf00]
fcomp qword [0x654138]
fnstsw ax
test ah, 0x41
jne 0x531f7a
push str.1111
call fcn.00412530
push eax
call fcn.0040d040
add esp, 8
fild dword [ebp - 0xf00]
fmul qword [0x654138]
call fcn.005b8450
mov ecx, dword [ebp - 0xf5c]
mov dword [ecx + 0xa68], eax
mov edx, dword [ebp - 0xf5c]
fild dword [edx + 0xa68]
mov eax, dword [ebp - 0xf5c]
fidiv dword [eax + 0xa60]
mov ecx, dword [ebp - 0xf5c]
fimul dword [ecx + 0xa5c]
call fcn.005b8450
mov edx, dword [ebp - 0xf5c]
mov dword [edx + 0xa64], eax
jmp 0x532076
push str.11323211
call fcn.00412530
push eax
call fcn.0040d040
add esp, 8
mov eax, dword [ebp - 0xf5c]
fild dword [eax + 0xa60]
fidiv dword [ebp - 0xf00]
fcomp qword [0x654138]
fnstsw ax
test ah, 0x41
jne 0x532005
fild dword [ebp - 0xf00]
fmul qword [0x654138]
call fcn.005b8450
mov ecx, dword [ebp - 0xf5c]
mov dword [ecx + 0xa68], eax
mov edx, dword [ebp - 0xf5c]
fild dword [edx + 0xa68]
mov eax, dword [ebp - 0xf5c]
fidiv dword [eax + 0xa60]
mov ecx, dword [ebp - 0xf5c]
fimul dword [ecx + 0xa5c]
call fcn.005b8450
mov edx, dword [ebp - 0xf5c]
mov dword [edx + 0xa64], eax
jmp 0x532076
mov eax, dword [ebp - 0xf5c]
fild dword [eax + 0xa5c]
fidiv dword [ebp - 0xf04]
fcomp qword [0x654138]
fnstsw ax
test ah, 0x41
jne 0x532076
fild dword [ebp - 0xf04]
fmul qword [0x654138]
call fcn.005b8450
mov ecx, dword [ebp - 0xf5c]
mov dword [ecx + 0xa64], eax
mov edx, dword [ebp - 0xf5c]
fild dword [edx + 0xa64]
mov eax, dword [ebp - 0xf5c]
fimul dword [eax + 0xa60]
mov ecx, dword [ebp - 0xf5c]
fidiv dword [ecx + 0xa5c]
call fcn.005b8450
mov edx, dword [ebp - 0xf5c]
mov dword [edx + 0xa68], eax
mov eax, dword [ebp - 0xf5c]
mov dword [eax + 0xab8], 0
mov ecx, dword [ebp - 0xf5c]
mov dword [ecx + 0xabc], 0
mov edx, dword [ebp - 0xf5c]
mov eax, dword [ebp - 0xf5c]
mov ecx, dword [eax + 0xa64]
mov dword [edx + 0xac0], ecx
mov edx, dword [ebp - 0xf5c]
mov eax, dword [ebp - 0xf5c]
mov ecx, dword [eax + 0xa68]
mov dword [edx + 0xac4], ecx
mov dword [ebp - 0xed0], 0
mov ecx, dword [ebp - 0xeb4]
call fcn.00533200
push eax
mov edx, dword [ebp - 0xf5c]
mov eax, dword [edx + 0xa68]
push eax
mov ecx, dword [ebp - 0xf5c]
mov edx, dword [ecx + 0xa64]
push edx
lea ecx, [ebp - 0xec4]
call fcn.00533230
mov byte [ebp - 4], 2
lea eax, [ebp - 0xec4]
push eax
lea ecx, [ebp - 0xecc]
call fcn.00533010
mov byte [ebp - 4], 3
push 2
lea ecx, [ebp - 0xecc]
call fcn.005330e0
push 7
lea ecx, [ebp - 0xecc]
call fcn.005330b0
push 5
lea ecx, [ebp - 0xecc]
call fcn.00533080
lea ecx, [ebp - 0xec4]
call fcn.00532c50
push eax
lea ecx, [ebp - 0xec4]
call fcn.00532bf0
push eax
push 0
push 0
mov ecx, dword [ebp - 0xeb4]
push ecx
lea ecx, [ebp - 0xecc]
call fcn.00533410
push 0
lea ecx, [ebp - 0xf44]
call sym.demo.exe_public:_void___thiscall_DuiLib::STRINGorID::constructor_wchar_t_const__
lea edx, [ebp - 0xed0]
push edx
lea eax, [ebp - 0xf44]
push eax
lea ecx, [ebp - 0xec4]
call fcn.00532c80
cmp dword [ebp - 0xed0], 0
je 0x53224b
push 0x98
call fcn.005b4bed
add esp, 4
mov dword [ebp - 0xf4c], eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0xf4c], 0
je 0x5321d6
mov ecx, dword [ebp - 0xf4c]
call fcn.00532cb0
mov dword [ebp - 0xf60], eax
jmp 0x5321e0
mov dword [ebp - 0xf60], 0
mov ecx, dword [ebp - 0xf60]
mov dword [ebp - 0xf48], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xf48]
mov dword [ebp - 0xf0c], edx
mov eax, dword [ebp - 0xf0c]
mov ecx, dword [ebp - 0xed0]
mov dword [eax], ecx
lea ecx, [ebp - 0xec4]
call fcn.00532bf0
mov edx, dword [ebp - 0xf0c]
mov dword [edx + 4], eax
lea ecx, [ebp - 0xec4]
call fcn.00532c50
mov ecx, dword [ebp - 0xf0c]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0xf0c]
mov byte [edx + 0xc], 1
lea eax, [ebp - 0xf0c]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.0040e920
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xecc]
call fcn.00533060
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xec4]
call fcn.00532f80
cmp dword [ebp - 0xeb4], 0
je 0x5322c3
mov ecx, dword [ebp - 0xeb4]
mov dword [ebp - 0xf54], ecx
mov edx, dword [ebp - 0xf54]
mov dword [ebp - 0xf50], edx
cmp dword [ebp - 0xf50], 0
je 0x5322af
push 1
mov eax, dword [ebp - 0xf50]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xf50]
mov eax, dword [edx]
call eax
mov dword [ebp - 0xf64], eax
jmp 0x5322b9
mov dword [ebp - 0xf64], 0
mov dword [ebp - 0xeb4], 0
jmp 0x531c38
mov ecx, dword [ebp + 0xc]
call fcn.00442370
test eax, eax
jbe 0x532352
mov ecx, dword [ebp + 0xc]
call fcn.00442370
mov ecx, dword [ebp - 0xf5c]
cmp dword [ecx + 0x1fc], eax
jb 0x532301
mov ecx, dword [ebp + 0xc]
call fcn.00442370
sub eax, 1
mov edx, dword [ebp - 0xf5c]
mov dword [edx + 0x1fc], eax
mov eax, dword [ebp - 0xf5c]
mov ecx, dword [ebp - 0xf5c]
mov edx, dword [eax + 0x1f8]
cmp edx, dword [ecx + 0x1fc]
jle 0x532333
mov eax, dword [ebp - 0xf5c]
mov ecx, dword [ebp - 0xf5c]
mov edx, dword [ecx + 0x1fc]
mov dword [eax + 0x1f8], edx
mov eax, dword [ebp - 0xf5c]
cmp dword [eax + 0x1f8], 0
jge 0x532352
mov ecx, dword [ebp - 0xf5c]
mov dword [ecx + 0x1f8], 0
mov ecx, dword [ebp + 0xc]
call fcn.00442370
xor edx, edx
cmp edx, eax
sbb eax, eax
neg eax
mov byte [ebp - 0xf55], al
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.00416190
mov al, byte [ebp - 0xf55]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.005b4b30
mov esp, ebp
pop ebp
ret 8