Function at 0x4031d0
Capabilities:
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x4492b0
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x460df4]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 0x124], 0x40
je 0x40322b
mov eax, dword [esi + 0x1c]
push 0
push 0
push 0x5404
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
xor al, al
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov dword [esi + 0x94], 4
call fcn.00418b02
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40324f
push 0x80004005
call fcn.004010a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [esp + 0x14], ebx
push 0x95
mov dword [esp + 0x28], 0
call fcn.00418ab1
test eax, eax
je 0x403288
push 0x95
push eax
lea ecx, [esp + 0x1c]
call fcn.00401540
mov ebx, dword [esp + 0x14]
mov ecx, dword [esi + 0x1c]
push 0
push ebx
push 0x5400
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, 0x10
cmp dword [esi + 0x144], eax
jb 0x4032af
mov edx, dword [esi + 0x130]
jmp 0x4032b5
lea edx, [esi + 0x130]
cmp dword [esi + 0x128], eax
jb 0x4032c5
mov eax, dword [esi + 0x114]
jmp 0x4032cb
lea eax, [esi + 0x114]
mov ebp, dword [esi + 0x9c]
mov ecx, dword [esi + 0x98]
mov edi, dword [ecx]
push 1
push ebp
push edx
mov edx, dword [edi + 0x10]
push eax
call edx
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
push 1
call edx
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
and eax, 0xffff0000
cmp eax, 0x20000
je 0x4033d9
call fcn.00418b02
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x403336
push 0x80004005
call fcn.004010a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x18], edi
push 0x96
mov byte [esp + 0x28], 1
call fcn.00418ab1
test eax, eax
je 0x40336c
push 0x96
push eax
lea ecx, [esp + 0x20]
call fcn.00401540
mov edi, dword [esp + 0x18]
mov ecx, dword [esi + 0x1c]
push 0
push edi
push 0x5404
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [edi - 0x10]
mov byte [esp + 0x24], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40339f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov dword [esp + 0x24], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4033c3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
cmp dword [esi + 0x144], 0x10
jb 0x4033f7
mov eax, dword [esi + 0x130]
jmp 0x4033fd
lea eax, [esi + 0x130]
push 2
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x97
call fcn.00418ab1
test eax, eax
je 0x403427
push 0x97
push eax
lea ecx, [esp + 0x1c]
call fcn.00401540
mov ebx, dword [esp + 0x14]
mov ecx, dword [esi + 0x1c]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push ebx
push 0x5400
push ecx
call edi
mov edx, dword [esi + 0x1c]
push 0
push 0x44c8cf
push 0x5401
push edx
call edi
lea eax, [ebx - 0x10]
mov dword [esp + 0x24], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403471
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret