Function at 0x490870
Capabilities:
Enumerate files on windows
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x518c0f
mov eax, dword fs:[0]
push eax
mov eax, 0x1160
call fcn.004f2220
mov eax, dword [0x577680]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x114c], ecx
xor eax, eax
mov dword [ebp - 0x111c], eax
mov dword [ebp - 0x110c], eax
call fcn.00493d50
test al, al
jne 0x490926
xor eax, eax
push 0xb46
push eax
mov word [ebp - 0xb58], ax
lea eax, [ebp - 0xb56]
push eax
call fcn.004f2250
add esp, 0xc
xor edi, edi
xor esi, esi
xor edx, edx
test edi, edi
je 0x49090b
test edx, edx
je 0x49090b
lea eax, [esi + edx]
lea ecx, [ebp - 0xb58]
lea ecx, [ecx + eax*2]
lea eax, [esi + edx]
mov ax, word [ebp + eax*2 - 0xba4]
inc ax
add ax, word [ecx - 2]
mov word [ecx], ax
inc edx
cmp edx, 0x26
jl 0x4908e3
add esi, 0x26
inc edi
cmp esi, 0x5a4
jl 0x4908e1
movsx eax, word [ebp - 0x12]
mov dword [0x578ad4], eax
call fcn.0047f860
mov dword [ebp - 0x1144], 0
mov dword [ebp - 0x1140], 0
mov dword [ebp - 0x113c], 0
mov ebx, dword [0x578ad4]
mov eax, ebx
imul eax, ebx
cdq
mov ecx, 0x13
idiv ecx
mov dword [ebp - 4], 0
cmp edx, 0xd
jne 0x49097a
xor esi, esi
mov edi, ebx
lea esp, [esp]
inc esi
dec edi
cmp esi, 0xad
jb 0x490970
mov eax, dword [ebp - 0x114c]
cmp byte [eax + 0x94], 0
je 0x4909a0
lea eax, [ebp - 0x1144]
push eax
call fcn.00415990
add esp, 4
test al, al
jne 0x490a3c
lea eax, [ebp - 0x1110]
push eax
call fcn.00412cc0
add esp, 4
mov eax, dword [ebp - 0x1110]
mov byte [ebp - 4], 1
cmp dword [eax - 0xc], 0
jne 0x4909f0
lea edx, [eax - 0x10]
mov byte [ebp - 4], 0
lea ecx, [edx + 0xc]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4909dd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x1140]
mov esi, dword [ebp - 0x1144]
xor bl, bl
jmp 0x491577
lea eax, [ebp - 0x1110]
push eax
lea ecx, [ebp - 0x1144]
call fcn.00416fa0
call fcn.00493c50
test al, al
jne 0x490a18
lea eax, [ebp - 0x1108]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov edx, dword [ebp - 0x1110]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x490a3c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [0x578ad4]
mov eax, ebx
imul eax, ebx
cdq
mov ecx, 0xa
idiv ecx
mov byte [ebp - 0x1111], 0
cmp edx, 3
jne 0x490afa
xor edx, edx
mov dword [ebp - 0x1118], edx
lea ecx, [ebp - 0x84c]
lea ecx, [ecx]
xor eax, eax
mov dword [ebp - 0x1130], eax
mov dword [ebp - 0x1110], ecx
mov edi, edi
lea edi, [eax + 1]
lea ecx, [edx + 1]
mov eax, ebx
cdq
idiv ecx
mov eax, ebx
mov ecx, ebx
sub ecx, dword [ebp - 0x1118]
mov ebx, dword [ebp - 0x1110]
mov esi, edx
cdq
imul esi, ecx
idiv edi
add esi, eax
sub esi, dword [ebp - 0x1130]
push esi
push 0x52a4e0
call fcn.004f20c4
mov edx, dword [ebp - 0x1118]
mov eax, edi
add ebx, 4
add esp, 8
mov dword [ebp - 0x1130], eax
mov dword [ebp - 0x1110], ebx
cmp eax, 0x11
jge 0x490add
mov ebx, dword [0x578ad4]
jmp 0x490a80
inc edx
mov dword [ebp - 0x1118], edx
cmp edx, 0x1f
jge 0x490afa
mov ebx, dword [0x578ad4]
mov ecx, dword [ebp - 0x1110]
jmp 0x490a70
mov edi, dword [ebp - 0x1140]
mov esi, dword [ebp - 0x1144]
mov eax, edi
xor ebx, ebx
sub eax, esi
mov dword [ebp - 0x1130], ebx
test eax, 0xfffffffc
jle 0x491571
lea ecx, [ecx]
lea eax, [esi + ebx*4]
push str.Maxthon3Users
push eax
lea eax, [ebp - 0x1110]
push eax
call fcn.00402b40
lea eax, [ebp - 0x1110]
push eax
mov byte [ebp - 4], 2
call fcn.00412840
add esp, 0x10
test al, al
je 0x49152b
push 0x53457c
lea eax, [ebp - 0x1110]
push eax
lea eax, [ebp - 0x1168]
push eax
call fcn.00402b40
add esp, 0xc
lea ecx, [ebp - 0x105c]
push ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, dword [ebp - 0x1168]
add esi, 0xfffffff0
mov ebx, eax
mov dword [ebp - 0x116c], ebx
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x490ba2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp ebx, 0xffffffff
je 0x491525
jmp 0x490bb0
test byte [ebp - 0x105c], 0x10
je 0x490d14
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1138], eax
lea edi, [ebp - 0x1030]
shr edi, 0x10
mov byte [ebp - 4], 3
test edi, edi
jne 0x490c0a
lea eax, [ebp - 0x1030]
movzx esi, ax
push edi
push esi
call fcn.00403070
add esp, 8
test eax, eax
je 0x490c35
push esi
push eax
lea ecx, [ebp - 0x1138]
call fcn.00408b00
jmp 0x490c35
lea ecx, [ebp - 0x1030]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x490c13
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x1138]
call fcn.0040c730
mov ebx, dword [ebp - 0x111c]
lea eax, [ebp - 0x1138]
or ebx, 1
push 0x52afb8
push eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x111c], ebx
mov dword [ebp - 0x110c], ebx
call fcn.0047a200
add esp, 8
test al, al
je 0x490d14
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1134], eax
mov dword [ebp - 4], 5
test edi, edi
jne 0x490cb1
lea eax, [ebp - 0x1030]
movzx esi, ax
push edi
push esi
call fcn.00403070
add esp, 8
test eax, eax
je 0x490ce2
push esi
push eax
lea ecx, [ebp - 0x1134]
call fcn.00408b00
jmp 0x490ce2
lea ecx, [ebp - 0x1030]
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x490cc0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x1134]
call fcn.0040c730
lea eax, [ebp - 0x1134]
or ebx, 2
push 0x534584
push eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x111c], ebx
mov dword [ebp - 0x110c], ebx
call fcn.0047a200
add esp, 8
test al, al
je 0x490d14
mov bl, 1
jmp 0x490d16
xor bl, bl
mov eax, dword [ebp - 0x111c]
mov dword [ebp - 4], 4
test al, 2
je 0x490d5c
mov edx, dword [ebp - 0x1134]
and eax, 0xfffffffd
add edx, 0xfffffff0
mov dword [ebp - 0x111c], eax
mov dword [ebp - 0x110c], eax
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x490d56
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x111c]
mov dword [ebp - 4], 2
test al, 1
je 0x490d90
mov edx, dword [ebp - 0x1138]
and eax, 0xfffffffe
add edx, 0xfffffff0
mov dword [ebp - 0x111c], eax
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x490d90
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test bl, bl
je 0x491509
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x110c], eax
lea eax, [ebp - 0x1030]
mov byte [ebp - 4], 7
test eax, 0xffff0000
jne 0x490de0
movzx esi, ax
push 0
push esi
call fcn.00403070
add esp, 8
test eax, eax
je 0x490e12
push esi
push eax
lea ecx, [ebp - 0x110c]
call fcn.00408b00
jmp 0x490e12
lea ecx, [ebp - 0x1030]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x490df0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x110c]
call fcn.0040c730
push 0x52a1a0
lea eax, [ebp - 0x1110]
push eax
lea eax, [ebp - 0x1160]
push eax
mov byte [ebp - 4], 8
call fcn.00402b40
lea ecx, [ebp - 0x110c]
push ecx
push eax
lea eax, [ebp - 0x1148]
push eax
mov byte [ebp - 4], 9
call fcn.00402a80
add esp, 0x18
mov edx, dword [ebp - 0x1160]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xb
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x490e6d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x110c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xc
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x490e91
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x578ad4]
lea edx, [ecx + 1]
mov eax, edx
imul eax, ecx
and eax, 0x8000000f
jns 0x490eab
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 3
jne 0x490ed6
sub ecx, 0
je 0x490ecc
dec ecx
je 0x490ec0
mov dword [0x578ad4], edx
jmp 0x490ed6
mov dword [0x578ad4], 0
jmp 0x490ed6
mov dword [0x578ad4], 2
push str.Addons
lea eax, [ebp - 0x1148]
push eax
lea eax, [ebp - 0x1150]
push eax
call fcn.00402b40
push str.AddonsDataMxAddonMiscconfig.ini
lea eax, [ebp - 0x1148]
push eax
lea eax, [ebp - 0x1118]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402b40
lea eax, [ebp - 0x1150]
push eax
mov byte [ebp - 4], 0xe
call fcn.00412840
add esp, 0x1c
test al, al
je 0x491435
lea eax, [ebp - 0x1118]
push eax
call fcn.00412860
add esp, 4
test al, al
je 0x491435
push 0x52a1a0
lea eax, [ebp - 0x1150]
push eax
lea eax, [ebp - 0x1158]
push eax
call fcn.00402b40
mov ecx, dword [ebp - 0x114c]
add ecx, 0xe8
push ecx
push eax
lea eax, [ebp - 0x1154]
push eax
mov byte [ebp - 4], 0xf
call fcn.00402a80
add esp, 0x18
mov edx, dword [ebp - 0x1158]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x11
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x490f99
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x1154]
push ecx
mov ecx, dword [esi - 0x10]
mov ebx, esp
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
lea edx, [esi - 4]
mov ecx, eax
jl 0x490fc8
cmp ecx, dword [esi - 0x10]
jne 0x490fc8
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x491001
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4915d6
mov ecx, dword [esi - 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [esi - 0xc]
lea eax, [ecx*2 + 2]
push eax
lea eax, [ecx*2 + 2]
push esi
push eax
lea eax, [edi + 0x10]
push eax
call fcn.004f18c0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
call fcn.00412c10
add esp, 4
movzx esi, al
call fcn.00493930
mov ebx, dword [0x578ad4]
test al, al
jne 0x491027
inc ebx
mov dword [0x578ad4], ebx
test esi, esi
je 0x491411
mov dword [ebp - 0x112c], 0
mov dword [ebp - 0x1128], 0
mov dword [ebp - 0x1124], 0
lea eax, [ebx + 1]
imul eax, ebx
cdq
mov ecx, 0x16
idiv ecx
mov byte [ebp - 4], 0x12
cmp edx, 0xd
jne 0x4910c8
mov eax, ebx
cdq
lea esi, [ecx + 0x1b]
xor ecx, ecx
sub eax, edx
sar eax, 1
mov dword [ebp - 0x110c], ecx
mov dword [ebp - 0x1120], eax
lea esp, [esp]
test eax, eax
jle 0x4910bd
mov eax, ebx
mov ebx, dword [ebp - 0x1120]
cdq
and edx, 3
lea edi, [edx + eax]
sar edi, 2
xor edx, edx
test edi, edi
jle 0x4910ac
mov eax, edx
mov ecx, edi
add esi, eax
dec eax
dec ecx
jne 0x4910a0
mov ecx, dword [ebp - 0x110c]
add edx, ecx
dec ebx
jne 0x491098
mov ebx, dword [0x578ad4]
mov eax, dword [ebp - 0x1120]
inc ecx
mov dword [ebp - 0x110c], ecx
cmp ecx, esi
jl 0x491080
push 0x7fff
lea ecx, [ebp - 0x112c]
call fcn.00494360
mov edi, dword [ebp - 0x112c]
mov eax, dword [ebp - 0x1128]
push dword [ebp - 0x1118]
sub eax, edi
sar eax, 1
push eax
push edi
push str.addonsmgr4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov esi, eax
call fcn.00493cc0
test al, al
jne 0x491111
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x578ad4], eax
cmp esi, 0x7ffd
ja 0x4913e6
push dword [ebp - 0x1118]
mov byte [ebp - 0x1111], 1
push 0x52e4a0
push str.addonsmgr4
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionW]
push esi
lea ecx, [ebp - 0x112c]
call fcn.00494360
mov ebx, dword [ebp - 0x1128]
mov edi, dword [ebp - 0x112c]
mov dword [ebp - 0x1120], ebx
cmp edi, ebx
je 0x4913e6
call fcn.00493cf0
test al, al
jne 0x4911ce
mov esi, dword [0x578ad4]
mov eax, 0x1a6d01a7
imul esi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x9b
mov eax, esi
sub eax, ecx
xor edi, edi
cmp eax, 0x3e
je 0x4911c2
mov eax, esi
or eax, 0xffffffde
add esi, eax
mov eax, esi
imul eax, esi
inc edi
cmp edi, eax
jg 0x4911c2
mov eax, 0x1a6d01a7
imul esi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x9b
mov eax, esi
sub eax, ecx
cmp eax, 0x3e
jne 0x491191
mov dword [0x578ad4], edi
mov edi, dword [ebp - 0x112c]
mov esi, edi
cmp edi, ebx
je 0x4911e1
cmp word [esi], 0
je 0x4911e1
add esi, 2
cmp esi, ebx
jne 0x4911d4
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x110c], edi
mov edx, dword [ebp - 0x112c]
mov byte [ebp - 4], 0x13
test edx, edx
je 0x491251
test edx, 0xffff0000
jne 0x491237
movzx eax, dx
push 0
push eax
call fcn.00403070
add esp, 8
test eax, eax
je 0x491266
mov edx, dword [ebp - 0x112c]
movzx ecx, dx
push ecx
push eax
lea ecx, [ebp - 0x110c]
call fcn.00408b00
jmp 0x491260
mov ecx, edx
lea edi, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x491240
sub ecx, edi
sar ecx, 1
jmp 0x491253
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0x110c]
call fcn.0040c730
mov edi, dword [ebp - 0x110c]
lea eax, [esi + 2]
mov byte [ebp - 4], 0x14
cmp eax, ebx
jne 0x491279
mov eax, dword [ebp - 0x112c]
jmp 0x49129d
mov ecx, dword [ebp - 0x112c]
cmp ecx, eax
je 0x4912a9
sub ebx, eax
sar ebx, 1
lea esi, [ebx + ebx]
push esi
push eax
push ecx
call fcn.004f0690
mov eax, dword [ebp - 0x112c]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x1128], eax
mov dword [ebp - 0x1120], eax
mov eax, dword [edi - 0xc]
test eax, eax
je 0x4913b4
mov ecx, dword [ebp - 0x114c]
mov ecx, dword [ecx + 0xe0]
test ecx, ecx
je 0x4912e3
test eax, eax
js 0x4912e3
push ecx
push edi
call fcn.004f19aa
add esp, 8
test eax, eax
je 0x4912e3
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
jne 0x4913b4
cmp dword [edi - 0xc], 0
jge 0x4912ee
or eax, 0xffffffff
jmp 0x491309
push 0x5286dc
push edi
call fcn.004f19aa
add esp, 8
test eax, eax
jne 0x491305
or eax, 0xffffffff
jmp 0x491309
sub eax, edi
sar eax, 1
push eax
lea eax, [ebp - 0x1164]
push eax
lea ecx, [ebp - 0x110c]
call fcn.00408550
mov esi, dword [edi - 0xc]
mov byte [ebp - 4], 0x15
test esi, esi
jns 0x49132c
or eax, 0xffffffff
jmp 0x491347
push 0x5286dc
push edi
call fcn.004f19aa
add esp, 8
test eax, eax
jne 0x491343
or eax, 0xffffffff
jmp 0x491347
sub eax, edi
sar eax, 1
sub esi, eax
dec esi
push esi
lea eax, [ebp - 0x115c]
push eax
lea ecx, [ebp - 0x110c]
call fcn.00409910
push dword [ebp - 0x1118]
mov esi, dword [ebp - 0x115c]
mov ebx, dword [ebp - 0x1164]
push esi
push ebx
push str.addonsmgr4
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
add esi, 0xfffffff0
or ecx, 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x491396
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add ebx, 0xfffffff0
mov byte [ebp - 4], 0x14
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4913b4
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x12
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4913d2
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp - 0x1120]
mov edi, dword [ebp - 0x112c]
cmp edi, ebx
jne 0x491160
test edi, edi
je 0x491411
push edi
call fcn.004f03fe
add esp, 4
mov dword [ebp - 0x112c], 0
mov dword [ebp - 0x1128], 0
mov dword [ebp - 0x1124], 0
mov edx, dword [ebp - 0x1154]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xe
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x491435
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00493960
test al, al
jne 0x49149d
mov esi, dword [0x578ad4]
mov eax, 0x6bca1af3
imul esi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x13
mov eax, esi
sub eax, ecx
xor edi, edi
cmp eax, 0x82
je 0x491497
mov eax, esi
or eax, 0xffffff2c
add esi, eax
mov eax, esi
imul eax, esi
inc edi
cmp edi, eax
jg 0x491497
mov eax, 0x6bca1af3
imul esi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x13
mov eax, esi
sub eax, ecx
cmp eax, 0x82
jne 0x491465
mov dword [0x578ad4], edi
mov edx, dword [ebp - 0x1118]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4914c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1150]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xc
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4914e5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1148]
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x491509
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp - 0x116c]
lea eax, [ebp - 0x105c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x490bb0
mov ebx, dword [ebp - 0x1130]
mov edx, dword [ebp - 0x1110]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x49154f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x1140]
mov esi, dword [ebp - 0x1144]
mov eax, edi
sub eax, esi
inc ebx
sar eax, 2
mov dword [ebp - 0x1130], ebx
cmp ebx, eax
jl 0x490b20
mov bl, byte [ebp - 0x1111]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x4915b8
cmp esi, edi
je 0x4915af
mov edx, dword [esi]
sub edx, 0x10
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4915a2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 4
cmp esi, edi
jne 0x491586
mov esi, dword [ebp - 0x1144]
push esi
call fcn.004f03fe
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f0cd4
mov esp, ebp
pop ebp
ret
call fcn.0040cb60
int3