Function at 0x47becf
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff004
push eax
add esp, 0xfffff9a0
mov ebp, edx
mov dword [esp], eax
xor eax, eax
mov dword [esp + 0x24], eax
xor edx, edx
mov dword [esp + 0x28], edx
xor ecx, ecx
mov dword [esp + 0x38], ecx
call fcn.004795f8
xor eax, eax
mov dword [0x49ab50], 1
xor edx, edx
mov dword [0x49ab54], eax
xor ecx, ecx
mov dword [0x49ab58], edx
xor eax, eax
mov dword [0x49ab5c], ecx
xor edx, edx
mov dword [0x49ab60], eax
xor ecx, ecx
mov dword [0x49ab64], edx
xor eax, eax
mov dword [0x49ab68], ecx
xor edx, edx
mov dword [0x49ab6c], eax
mov dword [0x49ab70], edx
xor ecx, ecx
mov dword [0x49a7c8], 0xffffffff
xor eax, eax
mov dword [0x51598c], ecx
xor edx, edx
mov dword [0x4fa86c], eax
mov dword [0x49a820], edx
mov dword [0x49a824], 1
xor ecx, ecx
mov dword [0x49a828], 0xffffffff
xor eax, eax
mov dword [0x49a82c], ecx
xor edx, edx
mov dword [0x49a830], eax
xor ecx, ecx
mov dword [0x49a834], edx
mov dword [0x49a838], ecx
xor eax, eax
mov dword [0x49a83c], 6
xor edx, edx
mov dword [0x49a840], eax
xor ecx, ecx
mov dword [0x49a844], edx
xor eax, eax
mov dword [0x49a860], ecx
xor edx, edx
mov dword [0x49a848], eax
mov dword [0x49a84c], edx
xor ecx, ecx
mov dword [0x49a850], 1
mov dword [0x49a854], ecx
mov dword [0x49a858], 1
mov dword [0x49a85c], 1
xor eax, eax
mov dword [0x49a864], 0x49ab7c
xor edx, edx
mov dword [0x49a868], eax
mov dword [0x49a86c], edx
xor ecx, ecx
mov dword [0x49a878], ecx
xor eax, eax
mov dword [0x49a87c], 0x49a878
xor edx, edx
mov dword [0x49a880], eax
mov dword [0x49a884], edx
xor ecx, ecx
mov dword [0x49a888], ecx
call fcn.0047aed0
xor eax, eax
xor ecx, ecx
mov dword [0x51598c], eax
mov dword [0x4fa850], eax
xor edx, edx
xor eax, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
mov dword [0x515990], edx
mov edx, ebp
mov eax, dword [esp]
call fcn.0047bc11
xor edx, edx
mov dword [esp + 0x3c], edx
mov ebx, 1
cmp ebx, dword [esp]
jge 0x47c941
push 0x49ab98
push dword [ebp + ebx*4]
call fcn.004829b4
add esp, 8
test eax, eax
jne 0x47c094
mov dword [esp + 0x3c], 1
jmp case.0x47c67f.5
mov eax, dword [ebp + ebx*4]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x2d
jne 0x47c644
cmp dword [esp + 0x3c], 0
jne 0x47c644
cmp byte [eax + 1], 0
je 0x47c5d2
mov esi, eax
inc esi
jmp 0x47c5c3
and eax, 0xff
add eax, 0xffffffdf
cmp eax, 0x59
ja case.0x47c0d9.33
mov al, byte [eax + 0x47c0e0]
jmp dword [eax*4 + 0x47c13a]
xor edx, edx
mov dword [0x49a828], edx
xor ecx, ecx
mov dword [0x49a83c], ecx
jmp case.0x47c0d9.40
xor eax, eax
mov al, byte [esi]
add eax, 0xffffffd0
mov dword [0x49a83c], eax
jmp case.0x47c0d9.40
mov dword [0x49a838], 1
jmp case.0x47c0d9.40
cmp dword [esp + 0x14], 0
mov dword [0x49ab6c], 1
je 0x47c214
mov edx, 0x49ab79
mov eax, 0x10
call fcn.0047d894
jmp case.0x47c0d9.40
mov dword [esp + 0x14], 1
jmp case.0x47c0d9.40
mov dword [0x49ab54], 1
jmp case.0x47c0d9.40
cmp dword [0x49ab50], 1
je 0x47c248
mov edx, 0x49ab79
mov eax, 0x10
call fcn.0047d894
xor edx, edx
mov dword [0x49ab50], edx
jmp case.0x47c0d9.40
xor ecx, ecx
mov dword [0x49a850], ecx
jmp case.0x47c0d9.40
cmp dword [0x49a868], 0
jne case.0x47c0d9.40
push 0x81
call fcn.00481790
pop ecx
mov dword [0x49a868], eax
test eax, eax
jne 0x47c29c
mov eax, 0x49e7d8
call fcn.00427694
mov edx, 0x49ab79
mov eax, 4
call fcn.0047d894
push dword [0x4fa850]
mov ecx, 0x81
mov edx, dword [0x49a868]
xor eax, eax
call fcn.0047da50
mov edi, eax
test edi, edi
je 0x47c2d9
test edi, edi
jge 0x47c2c3
mov edi, 0x10
mov eax, 0x49e7d8
call fcn.00427694
mov edx, 0x49ab79
mov eax, edi
call fcn.0047d894
mov edx, dword [0x49a868]
cmp byte [edx], 0
jne 0x47c2f3
mov edx, 0x49ab79
mov eax, 0x10
call fcn.0047d894
push 0x81
call fcn.00481790
pop ecx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x47c326
mov eax, 0x1ff
call fcn.00410804
push eax
call fcn.00447a48
pop ecx
mov edx, 0x49ab79
mov eax, 4
call fcn.0047d894
push dword [0x4fa850]
mov ecx, 0x81
mov edx, dword [esp + 0x14]
mov eax, 1
call fcn.0047da50
mov edi, eax
test edi, edi
je 0x47c369
cmp edi, 0xffffffff
je 0x47c369
push dword [esp + 0x10]
call fcn.004817a0
pop ecx
test edi, edi
jge 0x47c35d
mov edi, 0x10
mov edx, 0x49ab79
mov eax, edi
call fcn.0047d894
inc edi
jne 0x47c370
xor ecx, ecx
jmp 0x47c384
push dword [esp + 0x10]
push dword [0x49a868]
call fcn.004829b4
add esp, 8
mov ecx, eax
push dword [esp + 0x10]
mov edi, ecx
call fcn.004817a0
pop ecx
test edi, edi
je case.0x47c0d9.40
mov edx, 0x49ab79
mov eax, 0x10
call fcn.0047d894
jmp case.0x47c0d9.40
inc dword [0x49a834]
jmp case.0x47c0d9.40
cmp dword [0x49ab50], 1
je 0x47c3cf
mov edx, 0x49ab79
mov eax, 0x10
call fcn.0047d894
mov dword [0x49ab50], 3
jmp case.0x47c0d9.40
mov dword [esp + 0xc], 1
jmp case.0x47c0d9.40
xor ecx, ecx
mov dword [0x49a824], ecx
jmp case.0x47c0d9.40
mov dword [0x49ab70], 1
jmp case.0x47c0d9.40
mov dword [0x49a82c], 1
jmp case.0x47c0d9.40
inc dword [0x49a840]
jmp case.0x47c0d9.40
mov dword [0x49a820], 1
jmp case.0x47c0d9.40
xor eax, eax
mov dword [0x49a864], eax
jmp case.0x47c0d9.40
mov dword [0x49ab5c], 1
jmp case.0x47c0d9.40
mov dword [esp + 0x14], 7
jmp case.0x47c0d9.40
xor edx, edx
mov dword [0x49a858], edx
cmp dword [0x49a830], 0
je case.0x47c0d9.40
dec dword [0x49a830]
jmp case.0x47c0d9.40
mov dword [0x49a848], 1
jmp case.0x47c0d9.40
xor ecx, ecx
mov cl, byte [esi + 1]
cmp ecx, 0x74
jne 0x47c49c
mov dword [esp + 0x24], 0x49ab64
inc esi
jmp 0x47c4a4
mov dword [esp + 0x24], 0x49ab60
mov dword [esp + 0x14], 2
jmp case.0x47c0d9.40
mov dword [0x49ab68], 1
jmp case.0x47c0d9.40
mov dword [0x49ab50], 2
jmp case.0x47c0d9.40
mov dword [0x49a858], 1
inc dword [0x49a830]
jmp case.0x47c0d9.40
xor eax, eax
mov al, byte [esi + 1]
cmp eax, 0x40
jne 0x47c501
cmp byte [esi + 2], 0
je 0x47c501
mov dword [esp + 0x14], 5
jmp case.0x47c67f.5
cmp dword [esp + 0x14], 4
je 0x47c530
cmp dword [esp + 0x14], 3
jne 0x47c521
cmp dword [0x49ab50], 2
je 0x47c530
cmp dword [0x49ab50], 3
je 0x47c530
mov edx, 0x49ab79
mov eax, 0x10
call fcn.0047d894
mov dword [esp + 0x14], 5
jmp case.0x47c0d9.40
mov dword [0x49ab58], 1
push 0x49ab9b
lea edx, [esi + 1]
push edx
call fcn.004849c0
add esp, 8
test eax, eax
mov dword [esp + 0x38], eax
jne 0x47c589
lea edx, [esi + 1]
mov eax, 0x1f5
push edx
call fcn.00410804
push eax
call fcn.00447a48
add esp, 8
mov edx, 0x49ab79
mov eax, 0x12
call fcn.0047d894
jmp 0x47c589
inc esi
cmp byte [esi + 1], 0
jne 0x47c588
jmp case.0x47c0d9.40
mov dword [0x49a84c], 1
jmp case.0x47c0d9.40
xor edx, edx
mov dword [0x49a85c], edx
jmp case.0x47c0d9.40
mov dword [0x49a860], 1
jmp case.0x47c0d9.40
mov edx, 0x49ab79
mov eax, 0x10
call fcn.0047d894
inc esi
mov al, byte [esi]
test al, al
jne 0x47c0c2
jmp case.0x47c67f.5
mov edx, dword [esp + 0x14]
sub edx, 1
jb 0x47c5f3
je case.0x47c67f.5
dec edx
je case.0x47c67f.5
dec edx
sub edx, 2
jb 0x47c600
jmp case.0x47c67f.5
mov dword [esp + 0x14], 3
jmp case.0x47c67f.5
cmp dword [0x49ab50], 0
jne 0x47c628
mov eax, dword [ebp + ebx*4]
call fcn.0047b4a4
mov edi, eax
test eax, eax
je 0x47c628
cmp edi, 0xffffffff
je 0x47c628
mov edx, dword [ebp + ebx*4]
mov eax, edi
call fcn.0047d894
cmp dword [esp + 0x14], 3
jne case.0x47c67f.5
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], 4
jmp case.0x47c67f.5
cmp dword [0x49a864], 0
jne 0x47c65c
mov edx, dword [ebp + ebx*4]
mov dword [0x49a864], edx
jmp case.0x47c67f.5
cmp dword [esp + 0x14], 5
je 0x47c941
cmp dword [esp + 0x14], 6
je 0x47c941
mov ecx, dword [esp + 0x14]
cmp ecx, 7
ja case.0x47c67f.5
jmp dword [ecx*4 + 0x47c686]
mov eax, dword [ebp + ebx*4]
call 0x47e46c
mov dword [0x4fa850], eax
test eax, eax
jne 0x47c6d1
mov eax, 0x49e7d8
call fcn.00427694
mov edx, 0x49ab79
mov eax, 4
call fcn.0047d894
cmp byte [0x4a7715], 0
je 0x47c708
mov edx, dword [0x4fa850]
xor ecx, ecx
mov cl, byte [edx]
push ecx
call fcn.004878c4
pop ecx
test eax, eax
je 0x47c708
mov eax, dword [0x4fa850]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
jne 0x47c708
mov eax, dword [0x4fa850]
call fcn.004099f8
cmp dword [0x49a834], 0
je 0x47c76a
push str.rebuilt.
lea edx, [esp + 0x264]
push edx
call fcn.00482a00
add esp, 8
mov eax, dword [0x4fa850]
call fcn.0040a924
push eax
lea edx, [esp + 0x264]
push edx
call fcn.00482924
add esp, 8
mov eax, 0x267
lea ecx, [esp + 0x260]
push ecx
call fcn.00410804
push eax
lea edx, [esp + 0x68]
push edx
call fcn.00486578
add esp, 0xc
lea eax, [esp + 0x60]
call fcn.0046c264
call fcn.0047e4e0
mov edi, eax
test eax, eax
je 0x47c7d8
mov edx, edi
sub edx, 2
je 0x47c7b0
dec edx
je 0x47c789
dec edx
je 0x47c7a4
sub edx, 7
je 0x47c7b0
jmp 0x47c7cb
mov eax, 0x2ad
call fcn.00410804
push eax
push dword [0x4fa850]
call fcn.0044142c
add esp, 8
jmp 0x47c7cb
mov eax, 0x49e7d8
call fcn.00427694
jmp 0x47c7cb
push dword [0x4fa850]
mov eax, 0x203
call fcn.00410804
push eax
push 0
call fcn.0044142c
add esp, 0xc
mov edx, dword [0x4fa850]
mov eax, edi
call fcn.0047d894
mov dword [esp + 0x14], 3
jmp case.0x47c67f.5
push dword [ebp + ebx*4]
call fcn.00482a30
pop ecx
inc eax
push eax
call fcn.00481790
pop ecx
mov dword [0x49a86c], eax
test eax, eax
jne 0x47c819
mov eax, 0x49e7d8
call fcn.00427694
mov edx, 0x49ab79
mov eax, 4
call fcn.0047d894
push dword [ebp + ebx*4]
push dword [0x49a86c]
call fcn.00482a00
add esp, 8
xor edx, edx
mov dword [esp + 0x14], edx
jmp case.0x47c67f.5
lea ecx, [esp + 0x40]
push ecx
lea eax, [esp + 0x4c]
push eax
lea edx, [esp + 0x4c]
push edx
push str._2d_2d_4d
push dword [ebp + ebx*4]
call fcn.004865f4
add esp, 0x14
cmp eax, 3
jne 0x47c877
cmp dword [esp + 0x44], 1
jl 0x47c877
cmp dword [esp + 0x44], 0xc
jg 0x47c877
cmp dword [esp + 0x48], 1
jl 0x47c877
cmp dword [esp + 0x48], 0x1f
jle 0x47c886
mov edx, 0x49ab79
mov eax, 0x10
call fcn.0047d894
push 0
push 0
push 0
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
call fcn.00479090
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
xor eax, eax
mov dword [esp + 0x14], eax
jmp case.0x47c67f.5
cmp dword [0x49ab50], 0
jne 0x47c8d6
mov eax, dword [ebp + ebx*4]
call fcn.0047b4a4
mov edi, eax
test eax, eax
je 0x47c8d6
cmp edi, 0xffffffff
je 0x47c8d6
mov edx, dword [ebp + ebx*4]
mov eax, edi
call fcn.0047d894
cmp dword [esp + 0x14], 3
jne case.0x47c67f.5
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], 4
jmp case.0x47c67f.5
push dword [ebp + ebx*4]
call fcn.00482a30
pop ecx
inc eax
push eax
call fcn.00481790
pop ecx
mov dword [0x49a868], eax
test eax, eax
jne 0x47c91f
mov eax, 0x49e7d8
call fcn.00427694
mov edx, 0x49ab79
mov eax, 4
call fcn.0047d894
push dword [ebp + ebx*4]
push dword [0x49a868]
call fcn.00482a00
add esp, 8
xor edx, edx
mov dword [esp + 0x14], edx
inc ebx
cmp ebx, dword [esp]
jl 0x47c072
cmp dword [0x49a834], 0
jne 0x47c961
cmp dword [0x49ab50], 1
je 0x47c95c
cmp dword [0x49ab50], 2
jne 0x47c961
call fcn.0047b284
cmp dword [esp + 0x14], 4
je 0x47c9ad
cmp dword [esp + 0x28], 0
jne 0x47c9ad
cmp dword [0x49ab50], 2
je 0x47c981
cmp dword [0x49ab50], 3
jne 0x47c9ad
mov ebx, dword [0x49a870]
test ebx, ebx
je 0x47c9ad
cmp dword [0x49a884], 0
je 0x47c99e
mov eax, dword [ebx + 0x4c]
call fcn.00478c78
jmp 0x47c9a3
mov eax, 1
mov dword [ebx + 0x50], eax
mov ebx, dword [ebx + 0x5c]
test ebx, ebx
jne 0x47c98b
cmp dword [0x4fa85c], 0
je 0x47c9c2
push dword [0x4fa864]
call fcn.004817a0
pop ecx
cmp dword [0x49a864], 0
jne 0x47c9da
mov edx, 0x49ab79
mov eax, 0x10
call fcn.0047d894
cmp dword [0x49a83c], 9
je 0x47ca11
push 0x49abb1
push dword [0x49a864]
call fcn.004829b4
add esp, 8
test eax, eax
je 0x47ca11
push 0x49abb3
push dword [0x49a864]
call fcn.004829b4
add esp, 8
test eax, eax
jne 0x47ca19
xor edx, edx
mov dword [0x49a864], edx
cmp dword [0x49a86c], 0
jne 0x47cac2
push 0x2f
push dword [0x4fa850]
call fcn.00482b55
add esp, 8
mov esi, eax
test eax, eax
jne 0x47ca68
push 0x5c
push dword [0x4fa850]
call fcn.00482b55
add esp, 8
mov esi, eax
test eax, eax
jne 0x47ca68
push 0x3a
push dword [0x4fa850]
call fcn.00482b55
add esp, 8
mov esi, eax
test eax, eax
je 0x47cac2
xor edx, edx
mov dl, byte [esi]
cmp edx, 0x3a
jne 0x47ca72
inc esi
mov ecx, esi
sub ecx, dword [0x4fa850]
inc ecx
push ecx
call fcn.00481790
pop ecx
mov dword [0x49a86c], eax
test eax, eax
jne 0x47caa4
mov eax, 0x49e7d8
call fcn.00427694
mov edx, 0x49ab79
mov eax, 4
call fcn.0047d894
movzx edi, byte [esi]
mov byte [esi], 0
push dword [0x4fa850]
push dword [0x49a86c]
call fcn.00482a00
add esp, 8
mov eax, edi
mov byte [esi], al
xor edx, edx
xor eax, eax
mov dword [0x4fa874], edx
mov dword [0x4fa870], edx
mov ebx, dword [0x49a870]
mov dword [esp + 0x14], eax
test ebx, ebx
je 0x47cbfb
cmp dword [ebx + 0x50], 0
je 0x47cbf0
cmp byte [0x4a76e5], 0
je 0x47cb03
push dword [ebx + 0x38]
call sub.KERNEL32.DLL_GetFileAttributesA
test al, 0x20
je 0x47cb2d
cmp dword [0x49ab50], 0
jne 0x47cb4e
lea edx, [esp + 0x660]
mov eax, dword [ebx + 0x38]
call fcn.0040b160
mov edx, eax
mov eax, 0x4a5e34
mov cl, 1
call fcn.00422840
test al, al
je 0x47cb4e
cmp dword [0x49ab54], 0
je 0x47cb3d
mov eax, 2
jmp 0x47cb3f
xor eax, eax
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], 1
jmp 0x47cbf0
mov edx, dword [ebx + 0x14]
add dword [0x4fa870], edx
cmp dword [0x49ab50], 0
je 0x47cbec
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x38]
call fcn.0047b884
mov ebp, eax
test eax, eax
je 0x47cba1
cmp ebp, dword [0x49ab60]
jb 0x47cba1
mov eax, dword [0x49ab64]
test eax, eax
je 0x47cb8d
cmp eax, ebp
jbe 0x47cba1
mov eax, dword [0x49ab50]
cmp eax, 2
je 0x47cb9c
cmp eax, 3
jne 0x47cbec
cmp ebp, dword [ebx + 8]
ja 0x47cbec
cmp dword [0x49ab54], 0
je 0x47cbb1
mov edx, 2
jmp 0x47cbb3
xor edx, edx
mov dword [ebx + 0x50], edx
test ebp, ebp
je 0x47cbcf
cmp ebp, dword [0x49ab60]
jb 0x47cbcf
mov eax, dword [0x49ab64]
test eax, eax
je 0x47cbd3
cmp eax, ebp
ja 0x47cbd3
xor ecx, ecx
jmp 0x47cbd8
mov ecx, 1
mov dword [ebx + 0x54], ecx
cmp dword [ebx + 0x54], 0
je 0x47cbf0
mov eax, dword [ebx + 0x14]
sub dword [0x4fa870], eax
jmp 0x47cbf0
inc dword [esp + 0x14]
mov ebx, dword [ebx + 0x5c]
test ebx, ebx
jne 0x47cae4
mov esi, dword [0x49a878]
test esi, esi
je 0x47ccd8
mov eax, dword [0x4fa870]
mov edx, dword [esi + 0xc]
add dword [0x4fa870], edx
cmp eax, dword [0x4fa870]
jbe 0x47cc42
mov eax, 0x3b7
call fcn.00410804
push eax
push dword [0x4fa850]
call fcn.0044142c
add esp, 8
mov eax, 0x49ab79
call fcn.0047da40
cmp byte [0x4a76e5], 0
je 0x47cc56
push dword [esi]
call sub.KERNEL32.DLL_GetFileAttributesA
test al, 0x20
je 0x47ccc2
cmp dword [0x49ab50], 0
je 0x47ccc2
cmp dword [0x49ab50], 3
je 0x47ccc2
lea edx, [esp + 0xa60]
mov eax, dword [esi]
call fcn.0040b160
mov edx, eax
mov eax, 0x4a5e34
mov cl, 1
call fcn.00422840
test al, al
jne 0x47ccc2
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [esi]
call fcn.0047b884
mov ebp, eax
test eax, eax
je 0x47ccc2
cmp ebp, dword [0x49ab60]
jb 0x47ccc2
mov eax, dword [0x49ab64]
test eax, eax
je 0x47ccb0
cmp eax, ebp
jbe 0x47ccc2
mov edx, dword [0x4fa850]
mov eax, dword [esi + 8]
call fcn.0047af14
test eax, eax
jne 0x47cccd
mov eax, esi
call fcn.00478bbc
mov esi, eax
jmp 0x47ccd0
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x47cc09
cmp dword [esp + 0x14], 0
jne 0x47ce0c
cmp dword [0x49a878], 0
jne 0x47ce0c
cmp dword [0x49a870], 0
je 0x47cd47
cmp dword [0x49ab5c], 0
jne 0x47ce0c
cmp dword [0x49a834], 0
jne 0x47ce0c
cmp dword [0x49a838], 0
jne 0x47ce0c
cmp dword [0x49ab70], 0
jne 0x47ce0c
cmp dword [0x49ab54], 0
jne 0x47ce0c
cmp dword [0x49ab58], 0
jne 0x47ce0c
cmp dword [0x49ab50], 2
je 0x47cd59
cmp dword [0x49ab50], 3
jne 0x47cd65
xor eax, eax
call fcn.0047baf0
jmp 0x47d870
cmp dword [0x49a870], 0
jne 0x47cda4
cmp dword [0x49ab5c], 0
jne 0x47cd92
cmp dword [0x49a834], 0
jne 0x47cd92
cmp dword [0x49a838], 0
jne 0x47cd92
cmp dword [0x49ab70], 0
je 0x47cda4
mov edx, dword [0x4fa850]
mov eax, 0xd
call fcn.0047d894
jmp 0x47ce0c
cmp dword [0x49ab50], 1
je 0x47cdbf
cmp dword [0x49ab50], 2
je 0x47cdbf
cmp dword [0x49ab50], 3
jne 0x47cdda
mov eax, 0x340
call fcn.00410804
push eax
push dword [0x4fa850]
call fcn.0044142c
add esp, 8
jmp 0x47cdfc
cmp dword [0x49ab50], 0
jne 0x47cdfc
mov eax, 0x345
call fcn.00410804
push eax
push dword [0x4fa850]
call fcn.0044142c
add esp, 8
mov edx, dword [0x4fa850]
mov eax, 0xc
call fcn.0047d894
cmp dword [esp + 0xc], 0
je 0x47ce2c
cmp dword [esp + 0x14], 0
jne 0x47ce2c
cmp dword [0x4fa854], 0
jne 0x47ce30
cmp dword [0x49a870], 0
jne 0x47ce30
xor edx, edx
jmp 0x47ce35
mov edx, 1
mov dword [esp + 0xc], edx
cmp dword [0x49a868], 0
je 0x47ce4c
call fcn.00477f2c
mov dword [0x515994], eax
cmp dword [0x49a834], 0
jne 0x47ce70
cmp dword [0x49ab6c], 0
je 0x47ce7b
cmp dword [0x49a870], 0
jne 0x47ce7b
cmp dword [0x4fa854], 0
jne 0x47ce7b
xor ecx, ecx
mov dword [esp + 4], ecx
jmp 0x47cf2d
cmp dword [0x49a870], 0
jne 0x47cea2
cmp dword [0x4fa854], 0
jne 0x47cea2
push 0x49abb5
push dword [0x4fa850]
call fcn.004849c0
add esp, 8
jmp 0x47ceb5
push 0x49abb8
push dword [0x4fa850]
call fcn.004849c0
add esp, 8
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], 0
jne 0x47cef9
push dword [0x4fa850]
mov eax, 0x1f6
call fcn.00410804
push eax
push dword [0x4fa850]
call fcn.0044142c
add esp, 0xc
mov eax, 0x49e7d8
call fcn.004277c0
mov edx, dword [0x4fa850]
mov eax, 0xf
call fcn.0047d894
push dword [esp + 0x2c]
call fcn.00484510
pop ecx
mov eax, dword [0x4fa850]
call fcn.00479434
mov dword [esp + 4], eax
cmp dword [0x49a870], 0
jne 0x47cf2d
cmp dword [0x4fa854], 0
jne 0x47cf2d
mov eax, dword [0x4fa850]
call fcn.004790f8
cmp dword [0x49ab70], 0
je 0x47cf3e
xor edx, edx
mov dword [0x4fa854], edx
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x2c], ecx
mov dword [0x4fa868], eax
cmp dword [esp + 0xc], 0
je 0x47cfe1
push 0x49abb8
push dword [0x4fa850]
call fcn.004849c0
add esp, 8
test eax, eax
mov dword [esp + 0x30], eax
jne 0x47cf81
mov edx, dword [0x4fa850]
mov eax, 0xd
call fcn.0047d894
mov edx, dword [0x4fa850]
mov dword [0x51598c], edx
mov ecx, dword [esp + 0x30]
mov dword [0x515990], ecx
push 0
push dword [0x4fa858]
push dword [esp + 0x38]
call fcn.00484cd8
add esp, 0xc
test eax, eax
je 0x47cfd0
mov eax, dword [esp + 0x30]
test byte [eax + 0x12], 0x10
je 0x47cfc0
mov eax, 0xb
jmp 0x47cfc5
mov eax, 2
mov edx, dword [0x4fa850]
call fcn.0047d894
mov ecx, dword [0x4fa858]
mov dword [0x4fa868], ecx
jmp 0x47d0aa
cmp dword [0x49a870], 0
jne 0x47cff3
cmp dword [0x4fa854], 0
je 0x47d036
push 0x49ab9b
push dword [0x4fa850]
call fcn.004849c0
add esp, 8
test eax, eax
mov dword [esp + 0x2c], eax
jne 0x47d036
push dword [0x4fa850]
mov eax, 0x1f5
call fcn.00410804
push eax
call fcn.00447a48
add esp, 8
mov edx, 0x49ab79
mov eax, 0xd
call fcn.0047d894
mov eax, dword [0x4fa850]
call fcn.00479464
mov dword [0x51598c], eax
test eax, eax
jne 0x47d062
mov eax, 0x49e7d8
call fcn.00427694
mov edx, 0x49ab79
mov eax, 4
call fcn.0047d894
push 0x49abb5
push dword [0x51598c]
call fcn.004849c0
add esp, 8
mov dword [esp + 0x30], eax
mov dword [0x515990], eax
test eax, eax
jne 0x47d0aa
push dword [0x51598c]
mov eax, 0x1f6
call fcn.00410804
push eax
call fcn.00447a48
add esp, 8
mov edx, 0x49ab79
mov eax, 0xa
call fcn.0047d894
push 0x4000
call fcn.00481790
pop ecx
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], 0
jne 0x47d0d0
mov edx, dword [0x51598c]
mov eax, 4
call fcn.0047d894
push 0x4000
push 0
push dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.004864f0
add esp, 0x10
cmp dword [esp + 0xc], 0
jne 0x47d136
cmp dword [0x4fa854], 0
je 0x47d12a
mov ecx, dword [0x4fa854]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
call fcn.004794ec
mov edi, eax
test eax, eax
je 0x47d12a
cmp edi, 0xa
jne 0x47d11d
mov edx, dword [0x51598c]
jmp 0x47d123
mov edx, dword [0x4fa850]
mov eax, edi
call fcn.0047d894
mov ecx, dword [0x4fa854]
mov dword [0x4fa868], ecx
xor eax, eax
cmp dword [0x49ab50], 0
mov dword [esp + 0x1c], eax
je 0x47d165
cmp dword [0x49a834], 0
jne 0x47d165
cmp dword [0x49a870], 0
mov eax, dword [0x4fa850]
setne dl
and edx, 1
call fcn.004558bc
mov ebp, 0x49a870
jmp 0x47d2fd
cmp dword [ebx + 0x50], 1
jne 0x47d2b1
cmp dword [0x49ab50], 0
je 0x47d23c
cmp dword [0x49a834], 0
jne 0x47d23c
push 0
xor ecx, ecx
mov edx, 1
mov eax, dword [ebx + 0x4c]
call fcn.00455920
mov edx, dword [esp + 0x30]
mov eax, ebx
call fcn.004807b8
mov edi, eax
test eax, eax
je 0x47d1d8
cmp edi, 0x12
je 0x47d1d8
cmp edi, 0xffffffff
je 0x47d1d8
cmp dword [0x4afc18], 0
jne 0x47d308
mov edx, 0x49ab79
mov eax, edi
call fcn.0047d894
cmp edi, 0x12
je 0x47d1e0
inc edi
jne 0x47d234
mov dword [esp + 0x1c], 1
push dword [ebx + 0x4c]
mov eax, 0x1f5
call fcn.00410804
push eax
push dword [0x4fa850]
call fcn.0044142c
add esp, 0xc
mov eax, 0x49e7d8
call fcn.004277c0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov eax, ebx
call fcn.004802e8
mov edi, eax
test eax, eax
je 0x47d22f
mov edx, 0x49ab79
mov eax, edi
call fcn.0047d894
xor edx, edx
mov dword [ebx + 0x50], edx
lea ebp, [ebx + 0x5c]
jmp 0x47d2fd
cmp dword [0x4afc18], 0
jne 0x47d308
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x4c]
call fcn.004559d0
mov esi, dword [ebx + 0x5c]
push dword [ebx + 0x48]
call fcn.004817a0
pop ecx
push dword [ebx + 0x4c]
call fcn.004817a0
cmp dword [ebx + 0x1c], 0
pop ecx
je 0x47d279
push dword [ebx + 0x3c]
call fcn.004817a0
pop ecx
cmp dword [ebx + 0x20], 0
je 0x47d290
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x3c]
je 0x47d290
push dword [ebx + 0x40]
call fcn.004817a0
pop ecx
cmp dword [ebx + 0x24], 0
je 0x47d29f
push dword [ebx + 0x44]
call fcn.004817a0
pop ecx
push ebx
call fcn.004817a0
pop ecx
mov dword [ebp], esi
dec dword [0x4fa85c]
jmp 0x47d2fd
cmp dword [0x4afc18], 0
jne 0x47d308
cmp dword [0x49ab50], 0
jne 0x47d2d2
mov ecx, 1
xor edx, edx
mov eax, dword [ebx + 0x4c]
call fcn.004559d0
cmp dword [esp + 0xc], 0
jne 0x47d2fa
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov eax, ebx
call fcn.004802e8
mov edi, eax
test eax, eax
je 0x47d2fa
mov edx, 0x49ab79
mov eax, edi
call fcn.0047d894
lea ebp, [ebx + 0x5c]
mov ebx, dword [ebp]
test ebx, ebx
jne 0x47d16f
mov esi, dword [0x49a878]
test esi, esi
je 0x47d447
cmp dword [0x4afc18], 0
jne 0x47d447
push 0x60
call fcn.00481790
pop ecx
mov ebx, eax
test eax, eax
jne 0x47d34a
mov eax, 0x49e7d8
call fcn.00427694
mov edx, 0x49ab79
mov eax, 4
call fcn.0047d894
xor edx, edx
xor eax, eax
mov dword [ebx + 0x5c], edx
mov ecx, dword [esi]
mov dword [ebx + 0x38], ecx
mov dword [esi], eax
mov edx, dword [esi + 4]
xor ecx, ecx
mov dword [ebx + 0x48], edx
mov dword [esi + 4], ecx
mov eax, dword [esi + 8]
xor edx, edx
mov dword [ebx + 0x4c], eax
xor ecx, ecx
mov dword [esi + 8], edx
mov dword [ebx + 0x24], ecx
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x1c], ecx
xor eax, eax
xor ecx, ecx
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x50], 1
mov edx, dword [esi + 0x10]
mov dword [ebx + 0x58], edx
push 0
mov eax, dword [ebx + 0x4c]
xor edx, edx
call fcn.00455920
mov edx, dword [esp + 0x30]
mov eax, ebx
call fcn.004807b8
mov edi, eax
test eax, eax
je 0x47d3d0
cmp edi, 0x12
je 0x47d3d0
cmp edi, 0xffffffff
je 0x47d3d0
cmp dword [0x4afc18], 0
jne 0x47d447
mov edx, 0x4fa3f8
mov eax, edi
call fcn.0047d894
cmp edi, 0x12
je 0x47d3d8
inc edi
jne 0x47d42a
mov dword [esp + 0x1c], 1
push dword [ebx + 0x4c]
mov eax, 0x1f5
call fcn.00410804
push eax
push dword [0x4fa850]
call fcn.0044142c
add esp, 0xc
mov eax, 0x49e7d8
call fcn.004277c0
push dword [ebx + 0x38]
call fcn.004817a0
pop ecx
push dword [ebx + 0x48]
call fcn.004817a0
pop ecx
push dword [ebx + 0x4c]
call fcn.004817a0
pop ecx
push ebx
call fcn.004817a0
pop ecx
jmp 0x47d436
mov dword [ebp], ebx
lea ebp, [ebx + 0x5c]
inc dword [0x4fa85c]
mov eax, esi
call fcn.00478bbc
mov esi, eax
test esi, esi
jne 0x47d316
cmp dword [0x49a868], 0
je 0x47d464
push dword [0x49a868]
call fcn.004817a0
pop ecx
xor edx, edx
mov dword [0x49a868], edx
cmp dword [0x49ab58], 0
je 0x47d512
mov dword [esp + 0x4c], 0x7fff
cmp dword [esp + 0x38], 0
jne 0x47d48f
mov edx, 0x49ab79
mov eax, 0x12
call fcn.0047d894
cmp dword [0x49a858], 0
je 0x47d4ad
cmp dword [0x4fa860], 0
je 0x47d4ad
push dword [0x49a874]
call fcn.004817a0
pop ecx
push 0x8000
call fcn.00481790
pop ecx
mov dword [0x49a874], eax
test eax, eax
jne 0x47d4da
mov eax, 0x49e7d8
call fcn.00427694
mov edx, 0x49ab79
mov eax, 4
call fcn.0047d894
push dword [esp + 0x38]
push 0x7fff
push 1
push dword [0x49a874]
call fcn.00484c38
add esp, 0x10
mov dword [0x4fa860], eax
mov edx, dword [0x49a874]
mov ecx, dword [0x4fa860]
mov byte [edx + ecx], 0
push dword [esp + 0x38]
call fcn.00484510
pop ecx
xor eax, eax
mov dword [esp + 0x14], eax
mov edx, dword [0x4fa868]
mov dword [esp + 8], edx
mov ebx, dword [0x49a870]
test ebx, ebx
je 0x47d5de
cmp dword [0x49a834], 0
jne 0x47d55d
movzx eax, word [ebx]
mov edx, eax
sar edx, 8
cmp edx, 0xb
jne 0x47d561
mov ecx, eax
and ecx, 0xff
cmp ecx, 0x14
jle 0x47d561
and eax, 0xff
cmp eax, 0x1c
jge 0x47d561
xor esi, esi
jmp 0x47d566
mov esi, 1
test esi, esi
je 0x47d588
push dword [ebx + 0x48]
lea eax, [esp + 0xe64]
push eax
call fcn.00482a00
add esp, 8
push dword [ebx + 0x48]
push dword [ebx + 0x48]
call sub.USER32.DLL_CharToOemA
mov edx, dword [esp + 0x30]
mov eax, ebx
call fcn.0047f8d0
mov edi, eax
test eax, eax
je 0x47d5a6
mov edx, dword [0x51598c]
mov eax, edi
call fcn.0047d894
test esi, esi
je 0x47d5bd
lea edx, [esp + 0xe60]
push edx
push dword [ebx + 0x48]
call fcn.00482a00
add esp, 8
mov ecx, dword [ebx + 0x18]
add ecx, dword [ebx + 0x20]
add ecx, dword [ebx + 0x24]
add ecx, 0x2e
add dword [0x4fa868], ecx
inc dword [esp + 0x14]
mov ebx, dword [ebx + 0x5c]
test ebx, ebx
jne 0x47d530
mov ebp, dword [0x4fa868]
sub ebp, dword [esp + 8]
push dword [0x4fa860]
push dword [0x49a874]
push dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
mov edx, ebp
mov eax, dword [esp + 0x20]
call fcn.0047ffd0
mov edi, eax
test eax, eax
je 0x47d61a
mov edx, dword [0x51598c]
mov eax, edi
call fcn.0047d894
push dword [esp + 0x30]
xor edx, edx
mov dword [0x515990], edx
call fcn.00484510
pop ecx
test eax, eax
je 0x47d64e
cmp dword [esp + 0xc], 0
je 0x47d63e
mov eax, 0xe
jmp 0x47d643
mov eax, 0xa
mov edx, dword [0x51598c]
call fcn.0047d894
cmp dword [esp + 0x2c], 0
je 0x47d65f
push dword [esp + 0x2c]
call fcn.00484510
pop ecx
call fcn.00478750
cmp dword [esp + 0xc], 0
jne 0x47d7d1
cmp dword [0x4afc18], 0
je 0x47d689
push dword [0x51598c]
call fcn.00485848
pop ecx
jmp 0x47d7c5
cmp dword [0x49a834], 0
je 0x47d753
push str.rebuilt.
lea ecx, [esp + 0x1264]
push ecx
call fcn.00482a00
add esp, 8
mov eax, dword [0x4fa850]
call fcn.0040a924
push eax
lea edx, [esp + 0x1264]
push edx
call fcn.00482924
add esp, 8
lea ecx, [esp + 0x1260]
push ecx
call sub.KERNEL32.DLL_GetFileAttributesA
cmp eax, 0xffffffff
je 0x47d730
lea edx, [esp + 0x1260]
lea eax, [esp + 0x50]
call fcn.004554d4
xor ecx, ecx
mov cl, byte [esp + 0x50]
cmp ecx, 0x4e
je 0x47d6fe
xor eax, eax
mov al, byte [esp + 0x50]
cmp eax, 0x43
jne 0x47d714
push dword [0x51598c]
call fcn.00485848
pop ecx
mov byte [esp + 0x1260], 0
jmp 0x47d730
push 0
lea edx, [esp + 0x1264]
push edx
call sub.KERNEL32.DLL_SetFileAttributesA
lea ecx, [esp + 0x1260]
push ecx
call sub.KERNEL32.DLL_DeleteFileA
cmp byte [esp + 0x1260], 0
je 0x47d7c5
lea eax, [esp + 0x1260]
push eax
push dword [0x51598c]
call sub.KERNEL32.DLL_MoveFileA
jmp 0x47d7c5
mov edx, dword [0x51598c]
mov eax, dword [0x4fa850]
call fcn.00479100
mov edi, eax
test eax, eax
je 0x47d7c5
push dword [0x4fa850]
push dword [0x51598c]
mov eax, 0x207
call fcn.00410804
push eax
push 0
call fcn.0044142c
add esp, 0x10
push dword [0x4fa850]
mov eax, 0x1f6
call fcn.00410804
push eax
push 0
call fcn.0044142c
add esp, 0xc
push dword [0x51598c]
call fcn.004817a0
pop ecx
xor edx, edx
mov dword [0x51598c], edx
mov edx, 0x49ab79
mov eax, edi
call fcn.0047d894
push dword [0x51598c]
call fcn.004817a0
pop ecx
xor ecx, ecx
cmp dword [esp + 0x14], 0
mov dword [0x51598c], ecx
jne 0x47d7ec
push dword [0x4fa850]
call fcn.00485848
pop ecx
cmp dword [esp + 4], 0
je 0x47d801
mov edx, dword [esp + 4]
mov eax, dword [0x4fa850]
call fcn.00479458
cmp byte [0x4a76e4], 0
je 0x47d851
mov ebx, dword [0x49a870]
test ebx, ebx
je 0x47d851
cmp dword [ebx + 0x50], 1
je 0x47d820
cmp dword [ebx + 0x54], 0
je 0x47d84a
push dword [ebx + 0x38]
call sub.KERNEL32.DLL_GetFileAttributesA
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x5c], 0xffffffff
je 0x47d84a
test byte [esp + 0x5c], 0x20
je 0x47d84a
mov eax, dword [esp + 0x5c]
and eax, 0xffffffdf
push eax
push dword [ebx + 0x38]
call sub.KERNEL32.DLL_SetFileAttributesA
mov ebx, dword [ebx + 0x5c]
test ebx, ebx
jne 0x47d814
push dword [esp + 0x34]
call fcn.004817a0
pop ecx
cmp dword [esp + 0x1c], 0
je 0x47d869
mov eax, 0x12
jmp 0x47d86b
xor eax, eax
call fcn.0047baf0
add esp, 0x1660
pop ebp
pop edi
pop esi
pop ebx
ret