Function at 0x43add0
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52e5e1
mov eax, dword fs:[0]
push eax
sub esp, 0x990
mov eax, dword [0x5c6150]
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 ebx, ecx
mov dword [ebp - 0x8cc], ebx
mov eax, dword [ebp + 8]
mov esi, dword [ebx + 4]
mov dword [ebp - 0x8c0], eax
mov dword [ebp - 0x908], esi
lea edi, [ebx + 0x24]
mov dword [ebp - 4], 0
cmp dword [edi], 0
mov dword [ebp - 0x8c8], edi
jne 0x43b805
test esi, esi
je 0x43b805
push 8
mov ecx, esi
call fcn.00417070
push 0x508
lea eax, [ebp - 0x8b0]
push 0
push eax
call fcn.004d9fe0
add esp, 0xc
lea eax, [ebp - 0x8b0]
mov ecx, ebx
push 0x5973e4
push eax
call fcn.0043d650
mov byte [ebp - 0x8d0], 0
mov dword [ebp - 0x8d4], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x954]
push dword [ebx + 0x10]
push 0x5d58dc
push dword [ebx + 0x1c]
push edi
push dword [ebx + 0x18]
push dword [ebx + 0x14]
call fcn.0042d1d0
push 1
push 2
lea eax, [ebp - 0x8d4]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x954]
call fcn.00434f60
test al, al
jne 0x43aed6
push 0x597414
lea eax, [ebp - 0x8b0]
mov ecx, ebx
push eax
call fcn.0043d650
or ebx, 0xffffffff
jmp 0x43b7b8
push 5
push 0x5dc670
mov ecx, 0x5d58dc
call fcn.0047ab30
push 1
push 0x5d58dc
push dword [ebx + 0x10]
lea eax, [ebp - 0x8d4]
push eax
call fcn.004cd840
mov ecx, eax
call fcn.004cde90
push 0x597464
lea eax, [ebp - 0x8b0]
mov ecx, ebx
push eax
call fcn.0043d650
lea ecx, [ebp - 0x938]
call fcn.004397f0
mov eax, dword [0x5c6ad0]
mov dword [ebp - 0x8e4], eax
mov dword [ebp - 0x8e0], eax
mov dword [ebp - 0x8dc], eax
mov byte [ebp - 4], 0xf
xorps xmm0, xmm0
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x5920ac
mov word [ebp - 0x904], 1
movlpd qword [ebp - 0x8fc], xmm0
movlpd qword [ebp - 0x8f4], xmm0
mov dword [ebp - 0x8e8], 0
mov word [ebp - 0x8ec], 1
mov byte [ebp - 0x8ea], 0
call ebx
mov edi, eax
lea ecx, [ebp - 0x8e4]
push edi
mov dword [ebp - 0x8bc], edi
call fcn.00413c20
test eax, eax
je 0x43afc5
lea ebx, [edi + edi]
mov edi, dword [ebp - 0x8e4]
push ebx
push 0x5920ac
push edi
call fcn.004d9a60
mov eax, dword [ebp - 0x8bc]
add esp, 0xc
mov dword [edi - 8], eax
xor eax, eax
mov word [edi + ebx], ax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x5920ac
call ebx
mov edi, eax
lea ecx, [ebp - 0x8e0]
push edi
mov dword [ebp - 0x8bc], edi
call fcn.00413c20
test eax, eax
je 0x43b011
lea ebx, [edi + edi]
mov edi, dword [ebp - 0x8e0]
push ebx
push 0x5920ac
push edi
call fcn.004d9a60
mov eax, dword [ebp - 0x8bc]
add esp, 0xc
mov dword [edi - 8], eax
xor eax, eax
mov word [edi + ebx], ax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x5920ac
call ebx
mov edi, eax
lea ecx, [ebp - 0x8dc]
push edi
mov dword [ebp - 0x8bc], edi
call fcn.00413c20
test eax, eax
je 0x43b05b
add edi, edi
push edi
push 0x5920ac
push dword [ebp - 0x8dc]
call fcn.004d9a60
mov ecx, dword [ebp - 0x8dc]
add esp, 0xc
mov eax, dword [ebp - 0x8bc]
mov dword [ecx - 8], eax
xor eax, eax
mov word [ecx + edi], ax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x99c]
mov edi, dword [ebp - 0x8cc]
push edi
push dword [edi + 0x1c]
lea eax, [edi + 0x24]
push eax
push dword [edi + 0x10]
push 0x5d58dc
push dword [ebp - 0x94c]
push dword [edi + 0x18]
push dword [edi + 0x14]
call fcn.00424540
lea eax, [ebp - 0x938]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x8cc]
mov byte [ebp - 0x8cc], 0
push eax
lea eax, [ebp - 0x8d4]
push eax
lea ecx, [ebp - 0x99c]
call fcn.00424b20
test al, al
jne 0x43b0da
push 0x597434
lea eax, [ebp - 0x8b0]
mov ecx, edi
push eax
call fcn.0043d650
mov byte [ebp - 0x8cc], 1
jmp 0x43b71f
mov al, byte [ebp - 0x938]
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 0x904], al
mov al, byte [ebp - 0x918]
mov byte [ebp - 0x8ec], al
mov al, byte [ebp - 0x917]
mov byte [ebp - 0x8eb], al
lea eax, [edi + 0x24]
push eax
lea eax, [ebp - 0x8b0]
push eax
push dword [edi + 4]
call fcn.00439760
mov byte [ebp - 4], 0x12
cmp byte [ebp - 0x8cc], 0
je 0x43b707
push 0
call fcn.004e2e2c
add esp, 4
mov dword [ebp - 0x8b8], eax
mov ecx, 0x5d58dc
mov dword [ebp - 0x8b4], edx
push 0x5da300
call fcn.0047aa00
push 0x5da558
mov ecx, 0x5d58dc
mov dword [ebp - 0x8bc], eax
call fcn.0047aa00
cmp eax, 1
jne 0x43b188
mov eax, dword [ebp - 0x8bc]
cdq
cmp dword [ebp - 0x8b4], edx
jg 0x43b188
jl 0x43b707
cmp dword [ebp - 0x8b8], eax
jb 0x43b707
lea eax, [ebp - 0x8bc]
mov byte [ebp - 0x8b4], 0
push eax
lea ecx, [ebp - 0x99c]
call fcn.00424940
push 0x80
mov byte [ebp - 4], 0x13
push dword [ebp - 0x8bc]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x8bc]
lea ecx, [ebp - 0x258]
call fcn.00451610
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0x14
call fcn.00451e10
test al, al
je 0x43b255
lea eax, [ebp - 0x990]
push eax
lea ecx, [ebp - 0x8b8]
call fcn.00413a70
sub esp, 0x124
mov byte [ebp - 4], 0x15
mov ecx, esp
lea eax, [ebp - 0x258]
push 0
push 0
push 0
push 0
push 0
push eax
call fcn.00451900
mov ecx, dword [ebp - 0x8b8]
call fcn.00439320
add esp, 0x124
lea ecx, [ebp - 0x8b8]
mov bl, al
call fcn.00413c80
mov eax, dword [ebp - 0x8b4]
test bl, bl
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, 1
movzx eax, al
cmovne eax, ecx
mov dword [ebp - 0x8b4], eax
lea ecx, [ebp - 0x134]
call fcn.0044fd40
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.00427820
cmp byte [ebp - 0x18], 0
lea eax, [ebp - 0x128]
push 0xff
cmove eax, dword [ebp - 0x12c]
add eax, 4
push eax
mov eax, dword [edi + 4]
add eax, 0x7ee
push 0x100
push eax
call fcn.004e2f3b
add esp, 0x10
cmp byte [ebp - 0x8b4], 0
jne 0x43b426
cmp byte [ebp - 0x918], 0
je 0x43b3ef
call fcn.00424a90
test al, al
je 0x43b3ef
mov eax, dword [0x5c6ad0]
mov edi, 0x5920ac
mov dword [ebp - 0x8b4], eax
mov eax, edi
shr eax, 0x10
test eax, eax
jne 0x43b2f8
movzx eax, di
lea ecx, [ebp - 0x8b4]
push eax
call fcn.00413df0
jmp 0x43b32c
push 0x5920ac
call ebx
mov edi, eax
test edi, edi
je 0x43b32c
push edi
lea ecx, [ebp - 0x8b4]
call fcn.00413af0
test eax, eax
je 0x43b32c
lea eax, [edi + edi]
push eax
push 0x5920ac
push dword [ebp - 0x8b4]
call fcn.004d9a60
add esp, 0xc
mov byte [ebp - 4], 0x17
mov al, byte [ebp - 0x916]
mov byte [ebp - 0x8b8], al
mov eax, dword [ebp - 0x8c8]
cmp dword [eax], 0
je 0x43b362
push 0x5c080c
lea eax, [ebp - 0x8c8]
mov dword [ebp - 0x8c8], 0x80800000
push eax
call fcn.004da58d
mov eax, dword [0x5d1f0c]
test eax, eax
je 0x43b37c
push 0
push 0
push 0x800c
push eax
mov eax, dword [sym.imp.USER32.dll_PostMessageW]
call eax
push dword [ebp - 0x8b8]
lea eax, [ebp - 0x8c4]
mov dword [ebp - 0x8c4], 0xffffffff
push eax
mov eax, dword [ebp - 0x8c0]
lea ecx, [ebp - 0x99c]
push eax
sub esp, 8
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x8d4]
push eax
call fcn.00428ab0
test al, al
jne 0x43b3df
lea ecx, [ebp - 0x8d4]
call fcn.00450c80
push str.sodalib
push 0x5971f4
push eax
call fcn.00450580
add esp, 0xc
lea ecx, [ebp - 0x8b4]
call fcn.00413c80
jmp 0x43b6a5
push dword [ebp - 0x920]
mov eax, dword [ebp - 0x8c0]
mov ecx, edi
sub esp, 8
push dword [ebp - 0x915]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x99c]
push eax
lea eax, [ebp - 0x8d4]
push eax
call fcn.0043c850
jmp 0x43b6a5
call fcn.0041f020
test al, al
je 0x43b57c
mov eax, dword [edi + 4]
push 0
push 0
push 0x50a
push dword [eax + 4]
mov eax, dword [sym.imp.USER32.dll_PostMessageW]
call eax
mov ecx, edi
call fcn.00423ae0
mov eax, dword [edi + 4]
cmp byte [eax + 0x7ec], 0
mov eax, dword [ebp - 0x8c0]
je 0x43b6a2
mov byte [eax], 0
mov edi, 0x5920ac
mov eax, dword [0x5c6ad0]
mov dword [ebp - 0x8b4], eax
mov eax, edi
shr eax, 0x10
mov dword [ebp - 0x8c8], eax
test ax, ax
jne 0x43b49a
movzx eax, di
lea ecx, [ebp - 0x8b4]
push eax
call fcn.00413df0
jmp 0x43b4d7
push 0x5920ac
call ebx
mov dword [ebp - 0x8c4], eax
test eax, eax
je 0x43b4d7
push eax
lea ecx, [ebp - 0x8b4]
call fcn.00413af0
test eax, eax
je 0x43b4d7
mov eax, dword [ebp - 0x8c4]
add eax, eax
push eax
push 0x5920ac
push dword [ebp - 0x8b4]
call fcn.004d9a60
add esp, 0xc
mov byte [ebp - 4], 0x18
cmp word [ebp - 0x8c8], 0
mov eax, dword [0x5c6ad0]
mov dword [ebp - 0x8b8], eax
jne 0x43b501
movzx eax, di
lea ecx, [ebp - 0x8b8]
push eax
call fcn.00413df0
jmp 0x43b535
push 0x5920ac
call ebx
mov edi, eax
test edi, edi
je 0x43b535
push edi
lea ecx, [ebp - 0x8b8]
call fcn.00413af0
test eax, eax
je 0x43b535
lea eax, [edi + edi]
push eax
push 0x5920ac
push dword [ebp - 0x8b8]
call fcn.004d9a60
add esp, 0xc
push 0
push 1
lea eax, [ebp - 0x8b4]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x8b8]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x8d4]
push eax
lea ecx, [ebp - 0x99c]
call fcn.0042b2c0
lea ecx, [ebp - 0x8b8]
mov bl, al
call fcn.00413c80
lea ecx, [ebp - 0x8b4]
jmp 0x43b693
mov eax, dword [ebp - 0x8c0]
mov edi, 0x5920ac
mov byte [eax], 0
mov eax, dword [0x5c6ad0]
mov dword [ebp - 0x8b8], eax
mov eax, edi
shr eax, 0x10
mov dword [ebp - 0x8c8], eax
test ax, ax
jne 0x43b5b6
movzx eax, di
lea ecx, [ebp - 0x8b8]
push eax
call fcn.00413df0
jmp 0x43b5f3
push 0x5920ac
call ebx
mov dword [ebp - 0x8c4], eax
test eax, eax
je 0x43b5f3
push eax
lea ecx, [ebp - 0x8b8]
call fcn.00413af0
test eax, eax
je 0x43b5f3
mov eax, dword [ebp - 0x8c4]
add eax, eax
push eax
push 0x5920ac
push dword [ebp - 0x8b8]
call fcn.004d9a60
add esp, 0xc
mov byte [ebp - 4], 0x1a
cmp word [ebp - 0x8c8], 0
mov eax, dword [0x5c6ad0]
mov dword [ebp - 0x8b4], eax
jne 0x43b61d
movzx eax, di
lea ecx, [ebp - 0x8b4]
push eax
call fcn.00413df0
jmp 0x43b651
push 0x5920ac
call ebx
mov edi, eax
test edi, edi
je 0x43b651
push edi
lea ecx, [ebp - 0x8b4]
call fcn.00413af0
test eax, eax
je 0x43b651
lea eax, [edi + edi]
push eax
push 0x5920ac
push dword [ebp - 0x8b4]
call fcn.004d9a60
add esp, 0xc
push 0
push 1
lea eax, [ebp - 0x8b8]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x8b4]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x8d4]
push eax
lea ecx, [ebp - 0x99c]
call fcn.0042b2c0
lea ecx, [ebp - 0x8b4]
mov bl, al
call fcn.00413c80
lea ecx, [ebp - 0x8b8]
call fcn.00413c80
test bl, bl
jne 0x43b6a5
mov eax, dword [ebp - 0x8c0]
mov byte [eax], 1
cmp byte [ebp - 0x18], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x43b6ce
mov eax, dword [ebp - 0x12c]
lea ecx, [ebp - 0x128]
cmp eax, ecx
je 0x43b6ce
push eax
call fcn.004e1b56
add esp, 4
cmp byte [ebp - 0x13c], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x43b6fa
mov eax, dword [ebp - 0x250]
lea ecx, [ebp - 0x24c]
cmp eax, ecx
je 0x43b6fa
push eax
call fcn.004e1b56
add esp, 4
lea ecx, [ebp - 0x8bc]
call fcn.00413c80
jmp 0x43b710
mov eax, dword [ebp - 0x8c0]
mov byte [eax], 1
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0x11
call fcn.0043ad70
lea eax, [ebp - 0x910]
push eax
push dword [ebp - 0x8cc]
call fcn.0043b8b0
lea ecx, [ebp - 0x99c]
call fcn.00424740
mov ecx, dword [ebp - 0x8dc]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea eax, [ecx - 0xc]
cmp eax, 0x5c6ad4
je 0x43b765
lea ebx, [ecx - 0xc]
push ebx
call edi
test eax, eax
jg 0x43b765
push ebx
call fcn.004d71b8
add esp, 4
mov ecx, dword [ebp - 0x8e0]
lea eax, [ecx - 0xc]
cmp eax, 0x5c6ad4
je 0x43b788
lea ebx, [ecx - 0xc]
push ebx
call edi
test eax, eax
jg 0x43b788
push ebx
call fcn.004d71b8
add esp, 4
mov ebx, dword [ebp - 0x8e4]
lea eax, [ebx - 0xc]
cmp eax, 0x5c6ad4
je 0x43b7ab
add ebx, 0xfffffff4
push ebx
call edi
test eax, eax
jg 0x43b7ab
push ebx
call fcn.004d71b8
add esp, 4
lea ecx, [ebp - 0x938]
call fcn.0043ad10
xor ebx, ebx
lea ecx, [ebp - 0x954]
call fcn.0043ac90
lea ecx, [ebp - 0x8d4]
call fcn.00450c20
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x43b7e5
push 0
push 2
push 0x501
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, ebx
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.004d6cfd
mov esp, ebp
pop ebp
ret 8
push 0x5c080c
lea eax, [ebp - 0x8c4]
mov dword [ebp - 0x8c4], 0x80800000
push eax
call fcn.004da58d
int3