Function at 0x48a010
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5aeecb
mov eax, dword fs:[0]
push eax
sub esp, 0x170
mov eax, dword [0x616798]
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 esi, ecx
mov dword [ebp - 0x16c], esi
mov eax, dword [esi + 0x234]
mov byte [eax + esi + 0x1ac], 0
cmp dword [esi + 0x188], 0xffffffff
jle 0x48a160
mov ecx, dword [esi + 0x14f74]
add ecx, 8
call fcn.0044dcb0
mov edi, eax
test edi, edi
je 0x48a160
nop dword [eax]
mov ecx, dword [esi + 0x14f74]
push edi
add ecx, 8
call fcn.0044dea0
cmp dword [edi + 0x118], 0
jne 0x48a0a2
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
jmp 0x48a0b9
imul ecx, dword [esi + 0x188], 0x980
push edi
mov ecx, dword [ecx + esi + 0x2d8]
call fcn.0050dff0
mov ecx, dword [esi + 0x14f74]
add ecx, 8
call fcn.0044dcb0
mov edi, eax
test edi, edi
jne 0x48a080
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x174], eax
mov ecx, dword [esi + 0x180]
mov dword [ebp - 4], eax
mov dword [ebp - 0x178], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x157], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x158], cl
mov byte [ebp - 0x156], al
lea eax, [ebp - 0x158]
sar ecx, 0x18
push eax
mov byte [ebp - 0x155], cl
lea ecx, [ebp - 0x17c]
push edi
mov byte [ebp - 0x154], 0
call fcn.0043eab0
mov eax, dword [0x61aa7c]
lea edx, [ebp - 0x17c]
mov word [ebp - 0x15c], 0x42
push edx
push edi
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x15c]
push edx
push 2
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], 0xffffffff
call fcn.00471720
xor eax, eax
cmp byte [esi + 0x18c], 0x20
jne 0x48a17b
nop dword [eax + eax]
inc eax
cmp byte [esi + eax + 0x18c], 0x20
je 0x48a170
lea ecx, [esi + 0x18c]
mov byte [ebp - 0x15f], 0
add ecx, eax
push ecx
mov dword [ebp - 0x158], ecx
mov al, byte [ecx]
mov byte [ebp - 0x160], al
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x50]
push str.users_s_s.use
push eax
call fcn.0043d360
mov cl, byte [ebp - 0x50]
add esp, 0x10
test cl, cl
je 0x48a1d0
lea eax, [ebp - 0x50]
nop dword [eax + eax]
cmp cl, 0x20
jne 0x48a1c8
mov byte [eax], 0x2d
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x48a1c0
lea eax, [ebp - 0x50]
push 0x5bbca0
push eax
call fcn.00561dfc
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x48a8ad
xor edi, edi
cmp byte [esi + 0x1ac], 0x20
jne 0x48a20b
nop word [eax + eax]
inc edi
cmp byte [esi + edi + 0x1ac], 0x20
je 0x48a200
movsd xmm0, qword [0x5bbd20]
sub esp, 8
movsd qword [esp], xmm0
push 0x5be5c8
push ebx
call fcn.0043d330
lea eax, [esi + 0x1ac]
add eax, edi
push eax
push dword [ebp - 0x158]
push str._s_n_s_n
push ebx
call fcn.0043d330
push dword [esi + 0x14f48]
push dword [esi + 0x14f44]
push dword [esi + 0x23c]
push dword [esi + 0x238]
push dword [esi + 0x14f34]
push str._d__lu__ld__d__d_n
push ebx
call fcn.0043d330
push dword [esi + 0x14fb0]
push dword [esi + 0x14fac]
push str._d__d_n
push ebx
call fcn.0043d330
movzx eax, word [esi + 0x14f92]
add esp, 0x4c
push eax
movzx eax, word [esi + 0x14f90]
push eax
movzx eax, word [esi + 0x14f8e]
push eax
movzx eax, word [esi + 0x14f8c]
push eax
movzx eax, word [esi + 0x14f88]
push eax
movzx eax, word [esi + 0x14f8a]
push eax
movzx eax, word [esi + 0x14f86]
push eax
movzx eax, word [esi + 0x14f84]
push eax
push str._d__d__d__d__d__d__d__d_n
push ebx
call fcn.0043d330
movzx eax, word [esi + 0x14fa2]
push eax
movzx eax, word [esi + 0x14fa0]
push eax
movzx eax, word [esi + 0x14f9e]
push eax
movzx eax, word [esi + 0x14f9c]
push eax
movzx eax, word [esi + 0x14f98]
push eax
movzx eax, word [esi + 0x14f9a]
push eax
movzx eax, word [esi + 0x14f96]
push eax
movzx eax, word [esi + 0x14f94]
push eax
push str._d__d__d__d__d__d__d__d_n
push ebx
call fcn.0043d330
add esp, 0x50
push dword [esi + 0x14fa4]
push 0x5be744
push ebx
call fcn.0043d330
lea edi, [esi + 0x2d1]
mov dword [ebp - 0x164], 0
add esp, 0xc
mov dword [ebp - 0x168], edi
movzx eax, byte [edi]
push eax
movzx eax, byte [edi - 1]
push eax
movzx eax, byte [edi - 2]
push eax
push dword [edi - 0xd]
lea eax, [edi - 0x31]
push eax
push str._s_n_d__d__d__d_n
push ebx
call fcn.0043d330
movzx eax, byte [edi + 3]
push eax
movzx eax, byte [edi + 2]
push eax
movzx eax, byte [edi + 1]
push eax
push dword [edi - 9]
push str._d__d__d__d_n
push ebx
call fcn.0043d330
movzx eax, byte [edi - 3]
push eax
movzx eax, byte [edi - 4]
push eax
movzx eax, byte [edi - 5]
push eax
push dword [edi - 0x11]
push str._d__d__d__d_n
push ebx
call fcn.0043d330
movss xmm0, dword [edi + 0x2f]
add esp, 0x4c
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 0x5be5c8
push ebx
call fcn.0043d330
push dword [edi + 0x27]
push dword [edi + 0x2b]
push str._ld__ld_n
push ebx
call fcn.0043d330
push dword [edi + 0x23]
push dword [edi + 0x1f]
push dword [edi + 0x1b]
push dword [edi + 0x17]
push str._ld__ld__ld__ld_n
push ebx
call fcn.0043d330
push dword [edi + 0x43]
push dword [edi + 0x3f]
push dword [edi + 0x3b]
push dword [edi + 0x37]
push str._d__d__d__d_n
push ebx
call fcn.0043d330
movzx eax, word [edi + 0x47]
add esp, 0x50
push dword [edi + 0x8ff]
push dword [edi + 0x4b]
push eax
push str._ld__ld__d_n
push ebx
call fcn.0043d330
mov eax, dword [ebp - 0x164]
add esp, 0x14
cmp eax, dword [esi + 0x188]
jne 0x48a432
lea ecx, [edi + 0x53]
call fcn.00515840
movzx eax, word [edi + 0x61]
push eax
movzx eax, word [edi + 0x5f]
push eax
movzx eax, word [edi + 0x5d]
push eax
movzx eax, word [edi + 0x5b]
push eax
movzx eax, word [edi + 0x57]
push eax
movzx eax, word [edi + 0x59]
push eax
movzx eax, word [edi + 0x55]
push eax
movzx eax, word [edi + 0x53]
push eax
push str._d__d__d__d__d__d__d__d_n
push ebx
call fcn.0043d330
lea esi, [edi + 0x83]
add esp, 0x28
mov edi, 2
lea eax, [esi - 0x20]
push eax
push 0x5ba654
push ebx
call fcn.0043d330
movss xmm0, dword [esi]
add esp, 4
movzx eax, byte [esi - 7]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
movzx eax, byte [esi - 8]
push eax
push dword [esi - 0xc]
movzx eax, byte [esi - 0xd]
push eax
movzx eax, byte [esi - 0xe]
push eax
movzx eax, byte [esi - 0xf]
push eax
movzx eax, byte [esi - 0x10]
push eax
push str._d__d__d__d__ld__d__d__f_n
push ebx
call fcn.0043d330
add esp, 0x2c
lea esi, [esi + 0x34]
sub edi, 1
jne 0x48a473
mov esi, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x164]
mov edi, dword [ebp - 0x168]
cmp eax, dword [esi + 0x188]
jne 0x48a93b
cmp dword [esi + 0x14f70], 0
je 0x48a6d9
mov ecx, esi
call fcn.00473770
cmp eax, 9
jle 0x48a6d9
mov eax, dword [esi + 0x14f70]
add eax, 0x184
cmp byte [eax], 0
jle 0x48a524
push eax
push 0x5ba654
push ebx
call fcn.0043d330
add esp, 0xc
jmp 0x48a532
push str.NO_NAME_n
push ebx
call fcn.0043d330
add esp, 8
mov edx, dword [esi + 0x14f70]
sub esp, 8
movss xmm0, dword [edx + 0x1a8]
movzx eax, byte [edx + 0x1a7]
cvtps2pd xmm0, xmm0
mov ecx, dword [edx + 0x1b0]
movsd qword [esp], xmm0
movss xmm0, dword [edx + 0x1f4]
push eax
movzx eax, byte [edx + 0x1a6]
push eax
movzx eax, byte [edx + 0x1a5]
push eax
movzx eax, byte [edx + 0x1a4]
push eax
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [edx + 0x234]
push dword [edx + 0x1b8]
push dword [edx + 0x1bc]
push dword [edx + 0x1b4]
push ecx
push ecx
push dword [edx + 0x224]
push dword [edx + 0x220]
push str._d__d__ld__ld__ld__ld__ld__d__f__d__d__d__d__f_n
push ebx
call fcn.0043d330
mov eax, dword [esi + 0x14f70]
push 0x20
movzx eax, byte [eax + 0x1a7]
mov byte [edi + 0x926], al
mov eax, dword [esi + 0x14f70]
movzx eax, byte [eax + 0x1a6]
mov byte [edi + 0x925], al
mov eax, dword [esi + 0x14f70]
mov eax, dword [eax + 0x1b4]
mov dword [edi + 0x943], eax
mov eax, dword [esi + 0x14f70]
movzx eax, byte [eax + 0x1a5]
mov byte [edi + 0x924], al
mov eax, dword [esi + 0x14f70]
movzx eax, byte [eax + 0x1a4]
mov byte [edi + 0x923], al
mov eax, dword [esi + 0x14f70]
mov eax, dword [eax + 0x1a8]
mov dword [edi + 0x927], eax
mov eax, dword [esi + 0x14f70]
mov eax, dword [eax + 0x220]
mov dword [edi + 0x92f], eax
mov eax, dword [esi + 0x14f70]
mov eax, dword [eax + 0x224]
mov dword [edi + 0x933], eax
mov eax, dword [esi + 0x14f70]
mov eax, dword [eax + 0x1ac]
mov dword [edi + 0x93b], eax
mov eax, dword [esi + 0x14f70]
mov eax, dword [eax + 0x1b0]
mov dword [edi + 0x93f], eax
mov eax, dword [esi + 0x14f70]
mov eax, dword [eax + 0x1bc]
mov dword [edi + 0x94b], eax
mov eax, dword [esi + 0x14f70]
mov eax, dword [eax + 0x1b8]
mov dword [edi + 0x947], eax
mov eax, dword [esi + 0x14f70]
mov eax, dword [eax + 0x234]
mov dword [edi + 0x937], eax
mov eax, dword [esi + 0x14f70]
mov eax, dword [eax + 0x1f4]
mov dword [edi + 0x92b], eax
lea eax, [edi + 0x903]
push eax
mov eax, dword [esi + 0x14f70]
add eax, 0x184
push 0x20
push eax
call fcn.0044c9c0
add esp, 0x58
jmp 0x48a7b1
cmp dword [esi + 0x14f34], 0
jne 0x48a70c
mov ecx, esi
call fcn.00473770
cmp eax, 0xa
jge 0x48a70c
push str.NO_MONSTER_n
push ebx
call fcn.0043d330
push str.0_0_0_0_0_0_0_0_0.0_0_0_0_0_0.0_n
push ebx
call fcn.0043d330
add esp, 0x10
jmp 0x48a7b1
cmp byte [edi + 0x903], 0
lea eax, [edi + 0x903]
jg 0x48a94f
push str.NO_NAME_n
push ebx
call fcn.0043d330
add esp, 8
movss xmm0, dword [edi + 0x927]
sub esp, 8
movzx eax, byte [edi + 0x926]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [edi + 0x92b]
push eax
movzx eax, byte [edi + 0x925]
push eax
movzx eax, byte [edi + 0x924]
push eax
movzx eax, byte [edi + 0x923]
push eax
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [edi + 0x937]
push dword [edi + 0x947]
push dword [edi + 0x94b]
push dword [edi + 0x943]
push dword [edi + 0x93b]
push dword [edi + 0x93f]
push dword [edi + 0x933]
push dword [edi + 0x92f]
push str._d__d__ld__ld__ld__ld__ld__d__f__d__d__d__d__f_n
push ebx
call fcn.0043d330
add esp, 0x48
lea esi, [edi + 0xcb]
mov dword [ebp - 0x158], 4
mov edi, 5
push dword [esi + 0x50]
push dword [esi]
push str.__d__d
push ebx
call fcn.0043d330
add esp, 0x10
add esi, 4
sub edi, 1
jne 0x48a7c6
sub dword [ebp - 0x158], 1
jne 0x48a7c1
push 0x5bcc98
push ebx
call fcn.0043d330
mov esi, dword [ebp - 0x168]
add esp, 8
add esi, 0x16b
mov edi, 6
nop dword [eax]
push ebx
mov ecx, esi
call fcn.00524ca0
add esi, 0x138
sub edi, 1
jne 0x48a810
mov edi, dword [ebp - 0x168]
lea eax, [edi + 0x8bf]
push eax
push dword [edi + 0x8bb]
push str._d_n_s_n
push ebx
call fcn.0043d330
mov ecx, dword [edi + 7]
add esp, 0x10
push ebx
call fcn.0050ee00
mov ecx, dword [edi + 0xb]
push ebx
call fcn.0050ee00
mov ecx, dword [edi + 0xf]
push ebx
call fcn.0050ee00
mov ecx, dword [edi + 0x13]
push ebx
call fcn.0050ee00
mov eax, dword [ebp - 0x164]
add edi, 0x980
mov esi, dword [ebp - 0x16c]
inc eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x168], edi
cmp eax, 8
jl 0x48a346
mov ecx, dword [esi + 0x14f78]
push ebx
call fcn.0050ee00
push ebx
mov ecx, esi
call fcn.0048a970
push ebx
call fcn.00561aa9
add esp, 4
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x150]
push str._s.crc
push eax
call fcn.0043d360
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00449bc0
mov edi, dword [ebp - 0x170]
lea eax, [ebp - 0x150]
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
add esp, 0x14
push 0
push eax
call ebx
lea eax, [ebp - 0x150]
push 0x5bbca0
push eax
call fcn.00561dfc
push edi
mov esi, eax
push 0x5bbc9c
push esi
call fcn.0043d330
push esi
call fcn.00561aa9
add esp, 0x18
lea eax, [ebp - 0x150]
push 2
push eax
call 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.005548c1
mov esp, ebp
pop ebp
ret
lea eax, [edi + 0x903]
test eax, eax
je 0x48a71f
lea eax, [edi + 0x903]
push eax
push 0x5ba654
push ebx
call fcn.0043d330
add esp, 0xc
jmp 0x48a72d