Function at 0x48b720
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c61d0
mov eax, dword fs:[0]
push eax
sub esp, 0x56c
mov eax, dword [0x62b768]
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 - 0x568], esi
mov eax, dword [esi + 0x234]
mov byte [eax + esi + 0x1ac], 0
cmp dword [esi + 0x188], 0xffffffff
jle 0x48b8b2
mov ecx, dword [esi + 0x14f4c]
add ecx, 4
call fcn.0044e500
mov edi, eax
test edi, edi
je 0x48b8b2
nop dword [eax]
mov ecx, dword [esi + 0x14f4c]
push edi
add ecx, 4
call fcn.0044e6f0
cmp dword [edi + 0x118], 0
jne 0x48b7b2
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
jmp 0x48b7c9
imul ecx, dword [esi + 0x188], 0x980
push edi
mov ecx, dword [ecx + esi + 0x2d8]
call fcn.0050e390
mov ecx, dword [esi + 0x14f4c]
add ecx, 4
call fcn.0044e500
mov edi, eax
test edi, edi
jne 0x48b790
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], eax
mov ecx, dword [esi + 0x180]
mov dword [ebp - 4], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x557], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x558], cl
mov byte [ebp - 0x556], al
lea eax, [ebp - 0x558]
sar ecx, 0x18
push eax
mov byte [ebp - 0x555], cl
lea ecx, [ebp - 0x574]
push edi
mov byte [ebp - 0x554], 0
call fcn.0043ec40
mov eax, dword [0x62fb20]
lea edx, [ebp - 0x574]
mov word [ebp - 0x55c], 0x42
push edx
push edi
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x55c]
push edx
push 2
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x574]
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x48b8b2
mov ecx, dword [ebp - 0x56c]
mov eax, 0x66666667
sub ecx, edi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
mov eax, edi
cmp ecx, 0x1000
jb 0x48b8a8
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48c0e0
push ecx
push edi
call fcn.00559eda
add esp, 8
lea eax, [esi + 0x18c]
xor ecx, ecx
cmp byte [eax], 0x20
jne 0x48b8c9
nop
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0x20
je 0x48b8c0
add ecx, 0x18c
mov byte [ebp - 0x55f], 0
add ecx, esi
push ecx
mov dword [ebp - 0x558], ecx
mov al, byte [ecx]
mov byte [ebp - 0x560], al
lea eax, [ebp - 0x560]
push eax
lea eax, [ebp - 0x50]
push str.users_s_s.use
push eax
call fcn.0043d370
mov cl, byte [ebp - 0x50]
add esp, 0x10
test cl, cl
je 0x48b920
lea eax, [ebp - 0x50]
nop dword [eax]
cmp cl, 0x20
jne 0x48b918
mov byte [eax], 0x2d
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x48b910
lea eax, [ebp - 0x50]
push 0x5d2d18
push eax
call fcn.00569bde
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x48c030
lea eax, [esi + 0x1ac]
xor edi, edi
cmp byte [eax], 0x20
jne 0x48b951
lea eax, [eax + 1]
inc edi
cmp byte [eax], 0x20
je 0x48b948
movsd xmm0, qword [0x5d2d98]
sub esp, 8
movsd qword [esp], xmm0
push 0x5d5860
push ebx
call fcn.0043d340
lea eax, [esi + 0x1ac]
add eax, edi
push eax
push dword [ebp - 0x558]
push str._s_n_s_n
push ebx
call fcn.0043d340
push dword [esi + 0x238]
lea eax, [ebp - 0x550]
push str.saving_character:__lu_n
push eax
call fcn.0043d370
lea eax, [ebp - 0x550]
push eax
push str.saving.dat
call fcn.004a2860
push dword [esi + 0x14f20]
push dword [esi + 0x14f1c]
push dword [esi + 0x23c]
push dword [esi + 0x238]
push dword [esi + 0x14f10]
push str._d__lu__ld__d__d_n
push ebx
call fcn.0043d340
add esp, 0x50
push dword [esi + 0x14f88]
push dword [esi + 0x14f84]
push str._d__d_n
push ebx
call fcn.0043d340
movzx eax, word [esi + 0x14f6a]
push eax
movzx eax, word [esi + 0x14f68]
push eax
movzx eax, word [esi + 0x14f66]
push eax
movzx eax, word [esi + 0x14f64]
push eax
movzx eax, word [esi + 0x14f60]
push eax
movzx eax, word [esi + 0x14f62]
push eax
movzx eax, word [esi + 0x14f5e]
push eax
movzx eax, word [esi + 0x14f5c]
push eax
push str._d__d__d__d__d__d__d__d_n
push ebx
call fcn.0043d340
movzx eax, word [esi + 0x14f7a]
push eax
movzx eax, word [esi + 0x14f78]
push eax
movzx eax, word [esi + 0x14f76]
push eax
movzx eax, word [esi + 0x14f74]
push eax
movzx eax, word [esi + 0x14f70]
push eax
movzx eax, word [esi + 0x14f72]
push eax
movzx eax, word [esi + 0x14f6e]
push eax
movzx eax, word [esi + 0x14f6c]
push eax
push str._d__d__d__d__d__d__d__d_n
push ebx
call fcn.0043d340
add esp, 0x60
push dword [esi + 0x14f7c]
push 0x5d59dc
push ebx
call fcn.0043d340
add esp, 0xc
mov dword [ebp - 0x55c], 0
lea edi, [esi + 0x2d1]
mov dword [ebp - 0x564], 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.0043d340
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.0043d340
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.0043d340
movss xmm0, dword [edi + 0x2f]
add esp, 0x4c
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 0x5d5860
push ebx
call fcn.0043d340
push dword [edi + 0x27]
push dword [edi + 0x2b]
push str._ld__ld_n
push ebx
call fcn.0043d340
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.0043d340
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.0043d340
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.0043d340
mov ecx, dword [ebp - 0x55c]
lea eax, [edi + 0x53]
add esp, 0x14
mov dword [ebp - 0x558], eax
cmp ecx, dword [esi + 0x188]
jne 0x48bbaa
mov ecx, eax
call fcn.00515de0
jmp 0x48bbb0
mov dword [ebp - 0x558], eax
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
mov eax, dword [ebp - 0x558]
movzx eax, word [eax]
push eax
push str._d__d__d__d__d__d__d__d_n
push ebx
call fcn.0043d340
lea esi, [edi + 0x83]
add esp, 0x28
mov edi, 2
lea eax, [esi - 0x20]
push eax
push 0x5d1658
push ebx
call fcn.0043d340
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.0043d340
add esp, 0x2c
lea esi, [esi + 0x34]
sub edi, 1
jne 0x48bbf6
mov esi, dword [ebp - 0x568]
mov eax, dword [ebp - 0x55c]
mov edi, dword [ebp - 0x564]
cmp eax, dword [esi + 0x188]
jne 0x48c0be
cmp dword [esi + 0x14f48], 0
je 0x48be5c
mov ecx, esi
call fcn.00474d10
cmp eax, 9
jle 0x48be5c
mov eax, dword [esi + 0x14f48]
add eax, 0x184
cmp byte [eax], 0
jle 0x48bca7
push eax
push 0x5d1658
push ebx
call fcn.0043d340
add esp, 0xc
jmp 0x48bcb5
push str.NO_NAME_n
push ebx
call fcn.0043d340
add esp, 8
mov edx, dword [esi + 0x14f48]
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.0043d340
mov eax, dword [esi + 0x14f48]
push 0x20
movzx eax, byte [eax + 0x1a7]
mov byte [edi + 0x926], al
mov eax, dword [esi + 0x14f48]
movzx eax, byte [eax + 0x1a6]
mov byte [edi + 0x925], al
mov eax, dword [esi + 0x14f48]
mov eax, dword [eax + 0x1b4]
mov dword [edi + 0x943], eax
mov eax, dword [esi + 0x14f48]
movzx eax, byte [eax + 0x1a5]
mov byte [edi + 0x924], al
mov eax, dword [esi + 0x14f48]
movzx eax, byte [eax + 0x1a4]
mov byte [edi + 0x923], al
mov eax, dword [esi + 0x14f48]
mov eax, dword [eax + 0x1a8]
mov dword [edi + 0x927], eax
mov eax, dword [esi + 0x14f48]
mov eax, dword [eax + 0x220]
mov dword [edi + 0x92f], eax
mov eax, dword [esi + 0x14f48]
mov eax, dword [eax + 0x224]
mov dword [edi + 0x933], eax
mov eax, dword [esi + 0x14f48]
mov eax, dword [eax + 0x1ac]
mov dword [edi + 0x93b], eax
mov eax, dword [esi + 0x14f48]
mov eax, dword [eax + 0x1b0]
mov dword [edi + 0x93f], eax
mov eax, dword [esi + 0x14f48]
mov eax, dword [eax + 0x1bc]
mov dword [edi + 0x94b], eax
mov eax, dword [esi + 0x14f48]
mov eax, dword [eax + 0x1b8]
mov dword [edi + 0x947], eax
mov eax, dword [esi + 0x14f48]
mov eax, dword [eax + 0x234]
mov dword [edi + 0x937], eax
mov eax, dword [esi + 0x14f48]
mov eax, dword [eax + 0x1f4]
mov dword [edi + 0x92b], eax
lea eax, [edi + 0x903]
push eax
mov eax, dword [esi + 0x14f48]
add eax, 0x184
push 0x20
push eax
call fcn.0044d390
add esp, 0x58
jmp 0x48bf34
cmp dword [esi + 0x14f10], 0
jne 0x48be8f
mov ecx, esi
call fcn.00474d10
cmp eax, 0xa
jge 0x48be8f
push str.NO_MONSTER_n
push ebx
call fcn.0043d340
push str.0_0_0_0_0_0_0_0_0.0_0_0_0_0_0.0_n
push ebx
call fcn.0043d340
add esp, 0x10
jmp 0x48bf34
cmp byte [edi + 0x903], 0
lea eax, [edi + 0x903]
jg 0x48c0cc
push str.NO_NAME_n
push ebx
call fcn.0043d340
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.0043d340
add esp, 0x48
lea esi, [edi + 0xcb]
mov dword [ebp - 0x558], 4
mov edi, 5
nop dword [eax]
push dword [esi + 0x50]
push dword [esi]
push str.__d__d
push ebx
call fcn.0043d340
add esp, 0x10
add esi, 4
sub edi, 1
jne 0x48bf50
sub dword [ebp - 0x558], 1
jne 0x48bf44
push 0x5d3f18
push ebx
call fcn.0043d340
mov esi, dword [ebp - 0x564]
add esp, 8
add esi, 0x16b
mov edi, 6
push ebx
mov ecx, esi
call fcn.00525150
add esi, 0x138
sub edi, 1
jne 0x48bf93
mov edi, dword [ebp - 0x564]
lea eax, [edi + 0x8bf]
push eax
push dword [edi + 0x8bb]
push str._d_n_s_n
push ebx
call fcn.0043d340
mov ecx, dword [edi + 7]
add esp, 0x10
push ebx
call fcn.0050f340
mov ecx, dword [edi + 0xb]
push ebx
call fcn.0050f340
mov ecx, dword [edi + 0xf]
push ebx
call fcn.0050f340
mov ecx, dword [edi + 0x13]
push ebx
call fcn.0050f340
mov eax, dword [ebp - 0x55c]
add edi, 0x980
mov esi, dword [ebp - 0x568]
inc eax
mov dword [ebp - 0x55c], eax
mov dword [ebp - 0x564], edi
cmp eax, 8
jl 0x48bab4
mov ecx, dword [esi + 0x14f50]
push ebx
call fcn.0050f340
push ebx
mov ecx, esi
call fcn.0048c0f0
push ebx
call fcn.005698f0
add esp, 4
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x150]
push str._s.crc
push eax
call fcn.0043d370
lea eax, [ebp - 0x578]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0044a040
mov edi, dword [ebp - 0x578]
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 0x5d2d18
push eax
call fcn.00569bde
push edi
mov esi, eax
push 0x5d2d14
push esi
call fcn.0043d340
push esi
call fcn.005698f0
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.00559ee8
mov esp, ebp
pop ebp
ret
lea eax, [edi + 0x903]
test eax, eax
je 0x48bea2
push eax
push 0x5d1658
push ebx
call fcn.0043d340
add esp, 0xc
jmp 0x48beb0
call fcn.00591550
int3