Function at 0x403860
Capabilities:
Set file attributes

Disassembly:
mov eax, 0xc804
call fcn.00419f70
mov eax, dword [0x442230]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xc814]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x80
push esi
mov dword [esp + 0xc818], eax
call edi
mov ecx, dword [0x4410bc]
mov eax, 0x61f4f3e1
imul ecx
mov ecx, dword [0x4410b8]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0xa0c15
cdq
idiv ecx
push 0x80
mov ebp, eax
mov eax, 0x1984ece9
imul ecx
sar edx, 0x10
sub ebp, ebx
mov ecx, edx
add ebp, edx
shr ecx, 0x1f
add ecx, ebp
mov ebp, dword [esp + 0xc820]
push ebp
mov dword [str._r_____r____], ecx
call edi
mov ecx, dword [0x4410c8]
mov edi, dword [0x4410b8]
mov eax, 0x61f4f3e1
imul edi, edi, 0xd454
imul ecx
mov ecx, dword [0x4410c0]
sar edx, 0x11
imul ecx, ecx, 0xa081a
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
sub edi, ecx
test esi, esi
mov dword [0x4410b8], edi
je 0x403a5a
test ebp, ebp
je 0x403a5a
push 0
push esi
call fcn.0041a1d4
add esp, 8
cmp eax, 0xffffffff
je 0x403a5a
mov ecx, dword [0x4410d0]
mov eax, 0x61f4f3e1
imul ecx
sar edx, 0x11
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x4410bc]
mov eax, 0x3307af59
imul edx
sar edx, 0x11
add edi, edx
mov ebx, edx
mov eax, 0x1984ece9
imul ecx
shr ebx, 0x1f
sar edx, 0x10
add ebx, edi
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
mov dword [0x4410c4], eax
cmp dword [esp + 0xc820], 1
jne 0x4039ab
push 0
push ebp
call fcn.0041a1d4
add esp, 8
cmp eax, 0xffffffff
jne 0x403a5a
mov ecx, dword [0x4410d0]
mov edi, dword [0x4410b4]
mov eax, 0x3307af59
imul edi, edi, 0x53a0f
imul ecx
sar edx, 0x11
mov ecx, edx
add edi, edx
mov edx, dword [0x4410b8]
imul edx, edx, 0xff4b
shr ecx, 0x1f
push 0x100
add ecx, edi
sub ecx, edx
push 0x8000
push esi
mov dword [0x4410b4], ecx
call fcn.00424404
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
jne 0x403a73
mov ecx, dword [0x4410b4]
mov eax, 0x88a76c3f
imul ecx
add edx, ecx
mov ecx, dword [0x4410c0]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x61f4f3e1
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebx, ecx
mov ecx, dword [0x4410d4]
mov eax, 0x402d6015
imul ecx
sar edx, 0xe
mov eax, edx
sub ebx, edi
shr eax, 0x1f
add ebx, edx
add eax, ebx
push esi
push 0x43580c
mov dword [0x4410c8], eax
call fcn.0041a21a
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0xc800]
call fcn.00419f5d
add esp, 0xc804
ret
push 0
push 0
push edi
call fcn.00424004
mov ecx, dword [0x4410d0]
mov esi, dword [0x4410c4]
mov eax, 0xccf850a7
imul esi, esi, 0x3bf27
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x181cd
push 0x180
sub ecx, esi
add ecx, edx
push 0x8302
push ebp
mov dword [0x4410bc], ecx
call fcn.00424404
mov ebx, eax
add esp, 0x18
cmp ebx, 0xffffffff
jne 0x403b29
mov ecx, dword [str._r_____r____]
mov eax, 0x197ad0b7
imul ecx
mov ecx, dword [0x4410cc]
mov eax, ecx
imul eax, eax, 0xa0887
sar edx, 0x10
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, eax
mov eax, 0x40499437
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add esi, edx
add ecx, esi
push edi
mov dword [0x4410cc], ecx
call fcn.0041dfa5
push ebp
push 0x43580c
call fcn.0041a21a
add esp, 0xc
jmp 0x403a5a
push 0
push 0
push ebx
call fcn.00424004
mov ecx, dword [0x4410c8]
mov esi, dword [0x4410b8]
mov eax, 0x61f4f3e1
imul esi, esi, 0xd454
imul ecx
mov ecx, dword [0x4410c0]
sar edx, 0x11
imul ecx, ecx, 0xa081a
mov eax, edx
shr eax, 0x1f
add eax, edx
push 0xc800
lea edx, [esp + 0x20]
sub esi, eax
push edx
sub esi, ecx
push edi
mov dword [0x4410b8], esi
call fcn.00425623
mov esi, eax
add esp, 0x18
test esi, esi
je 0x403bf5
jmp 0x403b90
mov ecx, dword [0x4410c8]
mov eax, 0x3307af59
imul ecx
imul ecx, ecx, 0xff4b
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4410c4]
mov ebp, eax
mov eax, 0x1984ece9
imul edx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
sub ebp, ecx
push esi
lea ecx, [esp + 0x14]
push ecx
push ebx
mov dword [0x4410d0], ebp
call fcn.0041dad6
push 0xc800
lea edx, [esp + 0x20]
push edx
push edi
call fcn.00425623
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x403b90
mov esi, dword [0x4410c0]
mov eax, dword [0x4410bc]
imul esi, esi, 0x53a0f
mov ecx, dword [0x4410b4]
imul eax, eax, 0xa0c15
sub esi, eax
mov eax, 0x3307af59
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add esi, edx
add ecx, esi
push edi
mov dword [0x4410d4], ecx
call fcn.0041dfa5
push ebx
call fcn.0041dfa5
mov ecx, dword [0x4410b4]
mov eax, 0x88a76c3f
imul ecx
add edx, ecx
mov ecx, dword [0x4410c0]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x61f4f3e1
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edi, ecx
mov ecx, dword [0x4410d4]
mov eax, 0x402d6015
imul ecx
mov ecx, dword [esp + 0xc818]
sar edx, 0xe
sub edi, esi
add esp, 8
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
pop edi
pop esi
pop ebp
mov dword [0x4410c8], eax
mov eax, 1
pop ebx
call fcn.00419f5d
add esp, 0xc804
ret