Function at 0x4f8890
Capabilities:
Move file

Disassembly:
push ebp
lea ebp, [esp - 0x12a1c]
mov eax, 0x12a1c
call fcn.0051dcc0
push 0xffffffffffffffff
push 0x53fa3c
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x572844]
xor eax, ebp
mov dword [ebp + 0x12a18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0x12a24]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push dword [0x572628]
push 0x556408
push 0xc8
push 0x5e6c40
call fcn.00402c90
add esp, 0x14
lea ecx, [ebp + 0x6234]
call fcn.0044edc0
mov dword [ebp - 4], 1
cmp byte [0x57a0e0], 0
mov byte [ebp + 0x726c], 0
je 0x4f89e5
push 0x800
lea eax, [ebp + 0x8918]
mov ecx, 0x5a57a8
push eax
call fcn.00406e80
push 0x10f8
lea eax, [ebp + 0x513c]
push 0
push eax
call fcn.005201d0
add esp, 0xc
lea eax, [ebp + 0x8918]
push 0x800
push eax
lea eax, [ebp + 0x513c]
push eax
call fcn.004b0360
push 0
lea eax, [ebp + 0x40f4]
mov dword [ebp + 0x5104], 0
push eax
lea eax, [ebp + 0x8918]
mov dword [ebp + 0x5108], 0
push eax
mov dword [ebp + 0x510c], 0
mov dword [ebp + 0x5110], 0
mov dword [ebp + 0x5114], 0
mov dword [ebp + 0x5118], 0
call fcn.00485370
test al, al
je 0x4f89ce
mov eax, dword [ebp + 0x50f4]
mov ecx, dword [ebp + 0x50f8]
mov dword [ebp + 0x61bc], eax
mov dword [ebp + 0x61c0], ecx
lea eax, [ebp + 0x513c]
push eax
lea ecx, [ebp + 0x6234]
call fcn.0044f2c0
jmp 0x4f8ac2
lea ecx, [ebp + 0x78b8]
call fcn.004b03b0
mov byte [ebp - 4], 2
lea esi, [ebp + 0x78b8]
test edi, edi
je 0x4f8a02
mov esi, edi
jmp 0x4f8a15
push 1
lea eax, [ebp + 0x78b8]
mov ecx, 0x5a84b0
push eax
call fcn.004524c0
push 0
push 0
push 0xb
lea eax, [ebp + 0x6234]
push eax
push 3
push esi
call fcn.004c75c0
test al, al
jne 0x4f8a67
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 0x78b8]
test ecx, ecx
je 0x4f8a62
cmp byte [ebp + 0x78c8], al
je 0x4f8a59
mov eax, dword [ebp + 0x78c0]
add eax, eax
push eax
push ecx
call fcn.004ad810
mov ecx, dword [ebp + 0x78b8]
push ecx
call fcn.00525b95
add esp, 4
jmp 0x4f9cef
xor esi, esi
cmp dword [ebp + 0x6238], esi
jbe 0x4f8a8d
push esi
lea ecx, [ebp + 0x6234]
call fcn.0044f1c0
inc esi
mov dword [eax + 4], 0
cmp esi, dword [ebp + 0x6238]
jb 0x4f8a71
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 0x78b8]
test ecx, ecx
je 0x4f8ac2
cmp byte [ebp + 0x78c8], 0
je 0x4f8ab9
mov eax, dword [ebp + 0x78c0]
add eax, eax
push eax
push ecx
call fcn.004ad810
mov ecx, dword [ebp + 0x78b8]
push ecx
call fcn.00525b95
add esp, 4
push 0x5e6c40
push dword [0x572628]
call fcn.004c1ef0
push dword [0x57a0c8]
xor ebx, ebx
mov dword [ebp - 0x18], ebx
call dword [sym.imp.USER32.dll_IsWindowVisible]
neg eax
mov dword [ebp - 0x24], ebx
lea ecx, [ebp + 0x6234]
push ecx
sbb eax, eax
and eax, dword [0x57a0c8]
push 0x4f9d30
push eax
push str.CONVERTARC
push dword [0x5b6818]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4f9cc2
push ebx
push 0x555250
push 0x5e6c40
call fcn.004c2f20
test eax, eax
jne 0x4f8b40
cmp dword [0x57a0e4], 1
jne 0x4f8b3b
cmp byte [0x594fcb], bl
jne 0x4f8b40
mov byte [ebp - 0x14], bl
jmp 0x4f8b44
mov byte [ebp - 0x14], 1
push 0
push dword [ebp - 0x14]
push 0
push 0xa
call fcn.004efde0
push 0x800
lea eax, [ebp + 0xa918]
push eax
call fcn.004ed8e0
lea ecx, [ebp + 0x7564]
call fcn.004ad2f0
mov byte [ebp - 4], 6
cmp byte [0x57a0e0], 0
je 0x4f8b8f
mov ecx, 0x40
lea edi, [ebp + 0x7564]
mov esi, 0x5a5af2
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor edi, edi
mov dword [ebp - 0x34], 0
xor esi, esi
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [0x57b138], 0
mov dword [0x57b13c], 0
mov dword [ebp - 0x44], edi
cmp dword [ebp + 0x6238], esi
jbe 0x4f8c01
mov edi, edi
push esi
lea ecx, [ebp + 0x6234]
call fcn.0044f1c0
test byte [eax + 4], 2
je 0x4f8bf5
mov ecx, dword [eax + 8]
add dword [0x57b138], ecx
mov eax, dword [eax + 0xc]
adc dword [0x57b13c], eax
inc edi
inc esi
cmp esi, dword [ebp + 0x6238]
jb 0x4f8bd0
mov dword [ebp - 0x44], edi
push 0x880
lea eax, [ebp + 0xb918]
push eax
push 0
push edi
call fcn.004cb7d0
lea eax, [ebp + 0xb918]
push eax
push 0x67
push dword [0x57a0d4]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp word [ebp + 0x6264], 0
mov dword [0x57b120], 0
mov dword [0x57b124], 0
je 0x4f8c86
lea eax, [ebp + 0x6264]
push eax
call fcn.004837b0
test al, al
jne 0x4f8c86
push 0
push 0
lea eax, [ebp + 0x6264]
push eax
call fcn.00483010
test al, al
jne 0x4f8c86
lea eax, [ebp + 0x6264]
mov ecx, 0x5b68fc
push eax
call fcn.0047ae20
mov al, 1
mov byte [0x57a0e2], al
jmp 0x4f8c8b
mov al, byte [0x57a0e2]
xor edi, edi
or esi, 0xffffffff
mov dword [ebp - 0x14], edi
test al, al
jne 0x4f9bcd
jmp 0x4f8ca0
cmp byte [0x57a0e3], 0
jne 0x4f9be1
push 0x880
lea eax, [ebp + 0xb918]
push eax
push 0
push dword [ebp - 0x24]
call fcn.004cb7d0
lea eax, [ebp + 0xb918]
push eax
push 0x69
push dword [0x57a0d4]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0x880
lea eax, [ebp + 0xb918]
push eax
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.004cb7d0
lea eax, [ebp + 0xb918]
push eax
push 0x6c
push dword [0x57a0d4]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0x880
lea eax, [ebp + 0xb918]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.004cb7d0
lea eax, [ebp + 0xb918]
push eax
push 0x6e
push dword [0x57a0d4]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp esi, 0xffffffff
je 0x4f8d63
push esi
lea eax, [ebp + 0x513c]
push eax
lea ecx, [ebp + 0x6234]
call fcn.0044f030
mov ecx, dword [eax + 0x1080]
mov eax, dword [eax + 0x1084]
add dword [0x57b120], ecx
adc dword [0x57b124], eax
or esi, 0xffffffff
call fcn.004eec50
cmp edi, dword [ebp + 0x6238]
jge 0x4f9bc5
push edi
lea ecx, [ebp + 0x6234]
call fcn.0044f1c0
mov ebx, eax
test byte [ebx + 4], 2
je 0x4f9bb2
mov al, byte [ebp + 0x7265]
mov esi, edi
mov dword [ebp - 0x1c], esi
test al, al
je 0x4f8dbb
test byte [ebx + 0x38], 0x10
je 0x4f8dbb
push 0x50e
call fcn.004a9c90
push eax
push dword [ebx]
call fcn.004f3130
add esp, 8
jmp 0x4f9bb2
cmp byte [0x57a0e0], 0
je 0x4f8de2
mov ecx, 0x40
lea esi, [ebp + 0x7564]
mov edi, 0x5a5af2
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [ebp - 0x14]
mov byte [0x5a5bf4], 1
test al, al
je 0x4f8ded
push 1
call fcn.0045c5a0
push 1
push 0
push dword [ebx]
mov ecx, 0x5a57a8
call fcn.00407f10
cmp byte [ebp + 0x7265], 0
mov esi, eax
je 0x4f8e26
call fcn.0045c600
test al, al
je 0x4f8e26
push 0x50e
call fcn.004a9c90
push eax
push dword [ebx]
call fcn.004f3130
add esp, 8
push 0
call fcn.0045c5a0
cmp esi, 1
je 0x4f8e4c
cmp esi, 0xffffffff
jne 0x4f9baf
push dword [ebx]
mov ecx, 0x5b68fc
call fcn.0047b330
jmp 0x4f9baf
lea eax, [ebp + 0x7668]
mov ecx, 0x5a57a8
push eax
call fcn.004076c0
push 0
lea eax, [ebp + 0x40f4]
mov dword [ebp + 0x5104], 0
push eax
mov dword [ebp + 0x5108], 0
mov dword [ebp + 0x510c], 0
mov dword [ebp + 0x5110], 0
mov dword [ebp + 0x5114], 0
mov dword [ebp + 0x5118], 0
push dword [ebx]
call fcn.00485370
test al, al
je 0x4f9baf
cmp byte [ebp + 0x7265], 0
je 0x4f8ee6
cmp byte [ebp + 0x7854], 0
jne 0x4f8ecc
cmp byte [ebp + 0x77a3], 0
je 0x4f8ee6
push 0x50e
call fcn.004a9c90
push eax
push dword [ebx]
call fcn.004f3130
add esp, 8
jmp 0x4f9baf
push 1
push 0x800
lea eax, [ebp + 0x7918]
push eax
push str.Rar_CV
call fcn.004ec930
test al, al
je 0x4f9baf
lea eax, [ebp + 0x7918]
push eax
call fcn.004ee370
push 1
call fcn.004e7810
mov eax, dword [ebp - 0x44]
mov ecx, 0x5a57a8
push 0x800
push 0x59701a
mov dword [0x57b118], eax
call fcn.00406e80
mov eax, dword [0x5a57ac]
mov ecx, 0x59801c
push 0x5428ac
mov dword [0x591fc0], eax
mov dword [0x58fbf8], 1
mov dword [0x590fac], 2
mov dword [0x590fb0], 2
call fcn.004b0450
push 0x59701a
push 0x20f
call fcn.004a9c90
push eax
call fcn.004ee4d0
add esp, 8
call fcn.004f3050
mov ecx, dword [0x590fa4]
mov esi, eax
mov dword [ebp - 0x20], esi
test ecx, ecx
je 0x4f8fa5
mov dword [ebp - 0x18], ecx
mov dword [0x590fa4], 0
push 0
push str.WaitForOther
push 0x5e6c40
call fcn.004c2f20
test eax, eax
mov ecx, 0x5a57a8
push 1
push 0
setne byte [0x594fcc]
call fcn.00406960
cmp byte [0x57a0e3], 0
jne 0x4f9b94
call fcn.004f3050
cmp esi, eax
jne 0x4f9b94
push 0x5e6c40
call fcn.004e8ce0
cmp word [0x58bad6], 0
mov eax, dword [0x58fc54]
mov dword [ebp - 0x40], eax
mov byte [0x58fed9], 0
jne 0x4f907b
push 1
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x38], 0
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x3c], 0
push eax
mov ecx, 0x5a57a8
call fcn.00407150
cmp dword [ebp - 0x3c], 0
jbe 0x4f9070
push 0x800
push 0x58bad6
push str.Rar_CM
call fcn.004ec860
mov esi, eax
test esi, esi
je 0x4f9070
mov ecx, dword [ebp - 0x3c]
push esi
add ecx, ecx
push ecx
push 1
push dword [ebp - 0x38]
call fcn.00526d9e
push esi
call fcn.00526918
add esp, 0x14
mov dword [0x58cad8], 3
push dword [ebp - 0x38]
call fcn.0051de88
add esp, 4
push 0x800
lea eax, [ebp + 0x9918]
push eax
push dword [ebx]
call fcn.00494880
push 0x800
lea eax, [ebp + 0x6264]
push eax
lea eax, [ebp + 0xca18]
push eax
call fcn.004b0360
cmp word [ebp + 0xca18], 0
je 0x4f90c1
push 0x800
lea eax, [ebp + 0xca18]
push eax
call fcn.00493970
push dword [ebx]
call fcn.00453010
cmp dword [0x591fc0], 0
mov esi, 0x542908
mov byte [ebp - 0xd], al
je 0x4f90de
mov esi, 0x542910
cmp word [0x589ad0], 0
je 0x4f90ed
mov esi, 0x542900
push esi
push dword [ebx]
xor eax, eax
mov word [ebp + 0xea18], ax
call fcn.004939b0
test al, al
je 0x4f91e9
cmp word [ebp + 0xca18], 0
je 0x4f912b
lea eax, [ebp + 0x9918]
push eax
lea eax, [ebp + 0xca18]
push eax
call fcn.004b4410
test eax, eax
jne 0x4f91e9
push 1
push 0x800
lea eax, [ebp + 0xea18]
mov byte [ebp - 0xe], 1
push eax
push str.Rar_CV
call fcn.004ec930
push 0x800
push 0x59701a
push dword [ebx]
call fcn.00495850
push eax
lea eax, [ebp + 0xea18]
push eax
call fcn.00495090
push 0x59701a
call fcn.00494860
mov esi, eax
test esi, esi
je 0x4f92be
xor eax, eax
push 0x59701a
mov word [esi], ax
call fcn.00494860
mov edx, eax
mov eax, 0x2e
mov word [esi], ax
test edx, edx
je 0x4f92be
cmp byte [ebp - 0xd], 0
je 0x4f92be
cmp dword [ebp + 0x77a8], 0
jne 0x4f92be
cmp byte [ebp + 0x778a], 0
je 0x4f92be
mov ecx, esi
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f91c3
sub ecx, edi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push esi
push edx
call fcn.0051f6b0
add esp, 0xc
jmp 0x4f92be
cmp word [ebp + 0xca18], 0
mov byte [ebp - 0xe], 0
push 0x800
je 0x4f9226
lea eax, [ebp + 0xca18]
push eax
push 0x59701a
call fcn.004b0360
push 0x800
push dword [ebx]
call fcn.00495850
push eax
push 0x59701a
call fcn.004b0300
jmp 0x4f9232
push dword [ebx]
push 0x59701a
call fcn.004b0360
push 0x59701a
call fcn.00494860
mov edi, eax
test edi, edi
je 0x4f9284
xor eax, eax
push 0x59701a
mov word [edi], ax
call fcn.00494860
test eax, eax
je 0x4f927c
push str..tar
push eax
call fcn.004b4410
test eax, eax
je 0x4f9284
cmp byte [ebp - 0xd], 0
je 0x4f927c
cmp dword [ebp + 0x77a8], 0
jne 0x4f927c
cmp byte [ebp + 0x778a], 0
jne 0x4f9284
mov eax, 0x2e
mov word [edi], ax
push 0x800
push esi
push 0x59701a
call fcn.00495900
push 0x59701a
call fcn.004837b0
test al, al
je 0x4f92be
push 0x50d
call fcn.004a9c90
push eax
push 0x59701a
call fcn.004f3130
add esp, 8
mov byte [ebp - 0xe], 1
call fcn.004f3050
mov esi, dword [ebp - 0x20]
cmp esi, eax
jne 0x4f9355
lea eax, [ebp + 0x7918]
push eax
call fcn.004ee370
push 0x5428ac
mov ecx, 0x59801c
mov dword [0x58fc28], 3
mov dword [0x58fc24], 2
mov byte [0x58fc6a], 0
call fcn.004b0450
mov eax, dword [0x590fa4]
test eax, eax
je 0x4f931a
mov dword [ebp - 0x18], eax
mov dword [0x590fa4], 0
push 0
mov ecx, 0x5a57a8
call fcn.00405a30
cmp byte [0x57a0e0], 0
je 0x4f9355
cmp byte [ebp - 0xe], 0
je 0x4f9355
cmp byte [0x58ebe8], 0
je 0x4f9355
mov ecx, 0x40
lea edi, [ebp + 0x7564]
mov esi, 0x58eae8
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [ebp - 0x20]
cmp word [0x58bad6], 0
je 0x4f9369
push 0x58bad6
call fcn.004ebbc0
cmp byte [0x57a0e3], 0
mov byte [ebp - 0xf], 0
jne 0x4f9b6e
call fcn.004f3050
cmp esi, eax
jne 0x4f9b6e
mov ecx, 0x40
mov esi, 0x58eae8
mov edi, 0x5a5af2
rep movsd dword es:[edi], dword [esi]
push 1
push 0
push 0x59701a
movsw word es:[edi], word [esi]
mov ecx, 0x5a57a8
mov byte [0x5a5bf4], 1
call fcn.00407f10
cmp eax, 1
jne 0x4f9b6e
lea eax, [ebp + 0x7374]
mov ecx, 0x5a57a8
push eax
call fcn.004076c0
mov eax, dword [ebp + 0x7840]
mov ecx, dword [ebp + 0x7844]
cmp eax, dword [ebp + 0x754c]
jne 0x4f93ea
cmp ecx, dword [ebp + 0x7550]
je 0x4f9425
or eax, ecx
je 0x4f9425
push 0x5429c8
lea eax, [ebp + 0x7668]
push eax
call fcn.004b4410
test eax, eax
jne 0x4f940b
cmp byte [ebp + 0x778a], al
jne 0x4f9425
push 0x50a
call fcn.004a9c90
push eax
push dword [ebx]
call fcn.004f3130
add esp, 8
jmp 0x4f9b6e
mov eax, dword [ebp + 0x7268]
test eax, eax
je 0x4f948b
push dword [ebp + 0x784c]
cdq
push dword [ebp + 0x7848]
push edx
push eax
call fcn.0051dec0
push 0
push 0x64
push dword [ebp + 0x7558]
mov edi, eax
mov esi, edx
push dword [ebp + 0x7554]
call fcn.0051dec0
cmp esi, edx
jg 0x4f948b
jl 0x4f9466
cmp edi, eax
jae 0x4f948b
push 0x59701a
call fcn.00495850
push 0x50f
mov esi, eax
call fcn.004a9c90
push esi
push eax
call fcn.004ee4d0
add esp, 8
jmp 0x4f9b6e
mov ecx, 0x40
lea edi, [ebp + 0x7270]
mov esi, 0x58eae8
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov byte [ebp - 4], 7
push 1
call fcn.004e7810
mov ecx, 0x40
lea esi, [ebp + 0x7270]
mov edi, 0x58eae8
rep movsd dword es:[edi], dword [esi]
push 0x800
push 0x59701a
mov ecx, 0x5a57a8
movsw word es:[edi], word [esi]
call fcn.00406e80
mov eax, dword [0x5a57ac]
mov dword [0x591fc0], eax
mov byte [0x58fed9], 1
call fcn.004e91c0
push 0x5428ac
mov ecx, 0x59801c
call fcn.004b0450
mov eax, dword [0x590fa4]
test eax, eax
je 0x4f950d
mov dword [ebp - 0x18], eax
mov dword [0x590fa4], 0
push 0
push 0
mov ecx, 0x5a57a8
call fcn.00406960
cmp byte [0x57a0e3], 0
jne 0x4f9b59
call fcn.004f3050
cmp dword [ebp - 0x20], eax
jne 0x4f9b59
mov eax, dword [ebp + 0x754c]
or eax, dword [ebp + 0x7550]
jne 0x4f9565
cmp dword [ebp + 0x50f8], eax
ja 0x4f9558
cmp dword [ebp + 0x50f4], 0x200
jb 0x4f9565
cmp dword [ebp + 0x7830], 1
jbe 0x4f9b59
mov eax, dword [ebp + 0x7268]
mov edi, dword [ebp + 0x784c]
mov ecx, dword [ebp + 0x7848]
test eax, eax
je 0x4f95b8
push edi
cdq
push ecx
push edx
push eax
call fcn.0051dec0
push 0
push 0x64
push dword [ebp + 0x7558]
mov dword [ebp - 0x20], eax
mov esi, edx
push dword [ebp + 0x7554]
call fcn.0051dec0
cmp esi, edx
jl 0x4f9b59
jg 0x4f95b2
cmp dword [ebp - 0x20], eax
jb 0x4f9b59
mov ecx, dword [ebp + 0x7848]
inc dword [ebp - 0x24]
add dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x2c]
adc dword [ebp - 0x30], edi
add eax, dword [ebp + 0x7554]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
adc eax, dword [ebp + 0x7558]
cmp byte [ebp - 0xe], 0
mov byte [ebp - 0xf], 1
mov dword [ebp - 0x28], eax
je 0x4f99fa
push 0
push 1
push dword [ebx]
mov ecx, 0x5a57a8
call fcn.00407f10
cmp eax, 1
jne 0x4f9b59
lea ecx, [ebp + 0x78b8]
call fcn.004b03b0
mov byte [ebp - 4], 8
lea eax, [ebp + 0x10a18]
push 0x800
push dword [ebx]
push eax
call fcn.004b0360
xor al, al
mov byte [ebp - 0xd], al
jmp 0x4f9630
lea eax, [ebp + 0x10a18]
push eax
push str._s._cvtbackup_
lea eax, [ebp + 0xfa18]
push 0x800
push eax
call fcn.00402c90
add esp, 0x10
lea eax, [ebp + 0xfa18]
push eax
lea eax, [ebp + 0x10a18]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x4f9918
lea eax, [ebp + 0x10a18]
push eax
lea ecx, [ebp + 0x78b8]
call fcn.004b0450
lea eax, [ebp + 0xfa18]
push eax
lea ecx, [ebp + 0x78b8]
call fcn.004b0450
mov ecx, 0x5a57a8
call fcn.00407d80
test eax, eax
je 0x4f96cc
push 0x800
lea eax, [ebp + 0x10a18]
mov ecx, 0x5a57a8
push eax
call fcn.004078c0
test al, al
je 0x4f96cc
lea eax, [ebp + 0x10a18]
push eax
call fcn.004837b0
test al, al
jne 0x4f9630
cmp word [ebp + 0xea18], 0
je 0x4f989b
lea ecx, [ebp + 0x7858]
call fcn.004b03b0
mov byte [ebp - 4], 9
lea eax, [ebp + 0xea18]
push eax
lea ecx, [ebp + 0x7858]
call fcn.004b0450
push 0
push 0
push 0
lea eax, [ebp + 0x7858]
mov dword [ebp + 0x61fc], 0
push eax
lea ecx, [ebp]
mov dword [ebp + 0x6200], 0
mov dword [ebp + 0x6204], 0
mov dword [ebp + 0x6208], 0
mov dword [ebp + 0x620c], 0
mov dword [ebp + 0x6210], 0
call fcn.004ac1d0
mov byte [ebp - 4], 0xa
lea eax, [ebp + 0x51ec]
push eax
lea ecx, [ebp]
call fcn.004acee0
test eax, eax
jne 0x4f985a
mov edi, dword [ebp - 0x40]
lea ebx, [ebx]
push 0x800
push dword [ebx]
lea eax, [ebp + 0xfa18]
push eax
call fcn.004b0360
push 0x800
lea eax, [ebp + 0x51ec]
push eax
call fcn.00495850
push eax
lea eax, [ebp + 0xfa18]
push eax
call fcn.00495960
lea eax, [ebp + 0x51ec]
push eax
call fcn.00495850
push 0x25a
mov esi, eax
call fcn.004a9c90
push esi
push eax
call fcn.004ee4d0
add esp, 8
lea eax, [ebp + 0xfa18]
push eax
lea eax, [ebp + 0x51ec]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x4f9835
cmp edi, 1
jne 0x4f981c
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea eax, [ebp + 0xfa18]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x4f981c
lea eax, [ebp + 0x6224]
push eax
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp + 0x51ec]
push eax
lea ecx, [ebp]
call fcn.004acee0
test eax, eax
je 0x4f9770
jmp 0x4f985a
lea eax, [ebp + 0xfa18]
push eax
lea eax, [ebp + 0x51ec]
push eax
push 0x5b0
call fcn.004a9c90
push eax
call fcn.004ee4d0
add esp, 0xc
mov byte [ebp - 0xd], 1
mov byte [ebp - 4], 9
lea ecx, [ebp]
call fcn.004ac2c0
mov byte [ebp - 4], 8
mov ecx, dword [ebp + 0x7858]
test ecx, ecx
je 0x4f989b
cmp byte [ebp + 0x7868], 0
je 0x4f9892
mov eax, dword [ebp + 0x7860]
add eax, eax
push eax
push ecx
call fcn.004ad810
mov ecx, dword [ebp + 0x7858]
push ecx
call fcn.00525b95
add esp, 4
mov bh, byte [ebp - 0xd]
xor bl, bl
cmp byte [ebp + 0x7264], bl
jne 0x4f9929
push 0x800
lea eax, [ebp + 0xda18]
mov bl, 1
push eax
lea ecx, [ebp + 0x78b8]
call fcn.004b0550
test al, al
je 0x4f991e
lea esp, [esp]
push 0x800
lea eax, [ebp + 0x11a18]
push eax
lea ecx, [ebp + 0x78b8]
call fcn.004b0550
test al, al
je 0x4f991e
lea eax, [ebp + 0xda18]
push eax
call fcn.004837b0
test al, al
jne 0x4f991c
push 0x800
lea eax, [ebp + 0xda18]
push eax
lea ecx, [ebp + 0x78b8]
call fcn.004b0550
test al, al
jne 0x4f98d0
jmp 0x4f991e
mov bh, 1
jmp 0x4f989e
xor bl, bl
lea ecx, [ebp + 0x78b8]
call fcn.004b06a0
push 0x800
lea eax, [ebp + 0xda18]
push eax
lea ecx, [ebp + 0x78b8]
call fcn.004b0550
test al, al
je 0x4f99bc
push 0x800
lea eax, [ebp + 0x11a18]
push eax
lea ecx, [ebp + 0x78b8]
call fcn.004b0550
test al, al
je 0x4f99bc
test bl, bl
jne 0x4f998d
test bh, bh
jne 0x4f9981
lea eax, [ebp + 0x11a18]
push eax
call fcn.00484040
lea eax, [ebp + 0x11a18]
push eax
call fcn.004831b0
jmp 0x4f99a1
lea eax, [ebp + 0xda18]
push eax
call fcn.004831b0
lea eax, [ebp + 0xda18]
push eax
lea eax, [ebp + 0x11a18]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 0x800
lea eax, [ebp + 0xda18]
push eax
lea ecx, [ebp + 0x78b8]
call fcn.004b0550
test al, al
jne 0x4f9944
mov byte [ebp - 4], 7
mov ecx, dword [ebp + 0x78b8]
test ecx, ecx
je 0x4f9b59
cmp byte [ebp + 0x78c8], 0
je 0x4f99ec
mov eax, dword [ebp + 0x78c0]
add eax, eax
push eax
push ecx
call fcn.004ad810
mov ecx, dword [ebp + 0x78b8]
push ecx
call fcn.00525b95
add esp, 4
jmp 0x4f9b59
cmp byte [ebp + 0x7264], 0
je 0x4f9aa5
push 0
push 1
push dword [ebx]
mov ecx, 0x5a57a8
call fcn.00407f10
cmp eax, 1
jne 0x4f9aa5
push 0x800
push dword [ebx]
lea eax, [ebp + 0x10a18]
push eax
call fcn.004b0360
lea eax, [ebp + 0x10a18]
push eax
call fcn.00495850
push 0x258
mov esi, eax
call fcn.004a9c90
push esi
push eax
call fcn.004ee4d0
add esp, 8
lea eax, [ebp + 0x10a18]
push eax
call fcn.00484040
lea eax, [ebp + 0x10a18]
push eax
call fcn.004831b0
mov ecx, 0x5a57a8
call fcn.00407d80
test eax, eax
je 0x4f9aa5
push 0x800
lea eax, [ebp + 0x10a18]
mov ecx, 0x5a57a8
push eax
call fcn.004078c0
test al, al
je 0x4f9aa5
lea eax, [ebp + 0x10a18]
push eax
call fcn.004837b0
test al, al
jne 0x4f9a33
push 0
push 1
push 0x59701a
mov ecx, 0x5a57a8
call fcn.00407f10
cmp eax, 1
jne 0x4f9b59
push 0x800
push 0x59701a
lea eax, [ebp + 0x11a18]
push eax
call fcn.004b0360
mov edi, dword [ebp - 0x40]
lea ebx, [ebx]
cmp edi, 1
jne 0x4f9b21
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea eax, [ebp + 0x11a18]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x4f9b21
lea eax, [ebp + 0x512c]
push eax
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x5a57a8
call fcn.00407d80
test eax, eax
je 0x4f9b59
push 0x800
lea eax, [ebp + 0x11a18]
mov ecx, 0x5a57a8
push eax
call fcn.004078c0
test al, al
je 0x4f9b59
lea eax, [ebp + 0x11a18]
push eax
call fcn.004837b0
test al, al
jne 0x4f9ae0
mov byte [ebp - 4], 6
lea ecx, [ebp + 0x7270]
call fcn.004ad310
cmp byte [ebp - 0xf], 0
jne 0x4f9b7e
cmp byte [ebp - 0xe], 0
jne 0x4f9b7e
push 0x59701a
call fcn.004831b0
cmp word [ebp + 0xea18], 0
je 0x4f9b94
lea eax, [ebp + 0xea18]
push eax
call fcn.004ebc90
lea eax, [ebp + 0xa918]
push eax
call fcn.004ee370
lea eax, [ebp + 0x7918]
push eax
call fcn.004ebc90
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov al, byte [0x57a0e2]
inc edi
mov dword [ebp - 0x14], edi
test al, al
je 0x4f8ca0
jmp 0x4f9bca
mov al, byte [0x57a0e2]
mov ebx, dword [ebp - 0x18]
cmp byte [0x57a0e3], 0
jne 0x4f9be4
test al, al
jne 0x4f9be4
mov eax, 0x4d0
jmp 0x4f9be9
mov ebx, dword [ebp - 0x18]
mov eax, 0x272
push eax
call fcn.004a9c90
push eax
call fcn.004ee4d0
add esp, 4
cmp byte [0x57a0e2], 0
je 0x4f9c08
call fcn.004f05c0
jmp 0x4f9c22
push 0
push 0
push 0
push 0
push 0
push 1
push 0
push 1
call fcn.004f0600
call fcn.004f14d0
mov al, byte [0x57a0e0]
test al, al
je 0x4f9c77
mov ecx, 0x40
lea esi, [ebp + 0x7564]
mov edi, 0x5a5af2
lea eax, [ebp + 0x8918]
rep movsd dword es:[edi], dword [esi]
push 0
push 0
push eax
movsw word es:[edi], word [esi]
mov ecx, 0x5a57a8
mov byte [0x5a5bf4], 1
call fcn.00407f10
cmp eax, 1
je 0x4f9c6e
mov ecx, 0x5a84b0
call fcn.004508c0
test al, al
jne 0x4f9c7d
mov al, byte [0x57a0e0]
test al, al
jne 0x4f9c98
cmp dword [ebp - 0x24], 0
jbe 0x4f9c94
push 0x59701a
call fcn.00495850
push eax
mov ecx, 0x5a84b0
call fcn.00455ed0
jmp 0x4f9cb3
test al, al
je 0x4f9cb3
cmp dword [ebp - 0x24], 0
jbe 0x4f9cb3
push 0x59701a
call fcn.00495850
push eax
mov ecx, 0x5a84b0
call fcn.00454e20
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x7564]
call fcn.004ad310
cmp byte [ebp + 0x726c], 0
je 0x4f9cdb
push dword [0x572628]
push 0x5e6c40
call fcn.004c1ef0
push 0x5e6c40
call fcn.004c2460
test ebx, ebx
je 0x4f9cef
push ebx
call fcn.004ece70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x6234]
call fcn.0044ef90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x12a18]
xor ecx, ebp
call fcn.0051dca8
lea esp, [ebp + 0x12a1c]
pop ebp
ret 4