Function at 0x508d20
Capabilities:
Move file

Disassembly:
push ebp
lea ebp, [esp - 0x1284c]
mov eax, 0x1284c
call fcn.0052f720
push 0xffffffffffffffff
push 0x553c36
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x58bb30]
xor eax, ebp
mov dword [ebp + 0x12848], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0x12854]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push dword [0x58b8e4]
push 0x56b86c
push 0xc8
push 0x602980
call fcn.00404ce0
add esp, 0x14
lea ecx, [ebp + 0x622c]
call fcn.004594d0
mov dword [ebp - 4], 1
cmp byte [0x5933f4], 0
mov byte [ebp + 0x725c], 0
je 0x508e75
push 0x800
lea eax, [ebp + 0x8748]
mov ecx, 0x5c2bd0
push eax
call fcn.00409950
push 0x10f8
lea eax, [ebp + 0x40ec]
push 0
push eax
call fcn.00531c60
add esp, 0xc
lea eax, [ebp + 0x8748]
push 0x800
push eax
lea eax, [ebp + 0x40ec]
push eax
call fcn.004bd090
push 0
lea eax, [ebp + 0x51e4]
mov dword [ebp + 0x61f4], 0
push eax
lea eax, [ebp + 0x8748]
mov dword [ebp + 0x61f8], 0
push eax
mov dword [ebp + 0x61fc], 0
mov dword [ebp + 0x6200], 0
mov dword [ebp + 0x6204], 0
mov dword [ebp + 0x6208], 0
call fcn.00492720
test al, al
je 0x508e5e
mov eax, dword [ebp + 0x61e4]
mov ecx, dword [ebp + 0x61e8]
mov dword [ebp + 0x516c], eax
mov dword [ebp + 0x5170], ecx
lea eax, [ebp + 0x40ec]
push eax
lea ecx, [ebp + 0x622c]
call fcn.004598e0
jmp 0x508f17
lea ecx, [ebp + 0x76ec]
call fcn.004bd0e0
mov byte [ebp - 4], 2
lea esi, [ebp + 0x76ec]
test edi, edi
je 0x508e92
mov esi, edi
jmp 0x508ea5
push 1
lea eax, [ebp + 0x76ec]
mov ecx, 0x5c5810
push eax
call fcn.0045cbf0
push 0
push 0
push 0xb
lea eax, [ebp + 0x622c]
push eax
push 3
push esi
call fcn.004d3c30
test al, al
jne 0x508eda
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x76ec]
test eax, eax
je 0x508ed5
push eax
call fcn.00537b6f
add esp, 4
jmp 0x50a330
xor esi, esi
cmp dword [ebp + 0x6230], esi
jbe 0x508f00
push esi
lea ecx, [ebp + 0x622c]
call fcn.00459830
inc esi
mov dword [eax + 4], 0
cmp esi, dword [ebp + 0x6230]
jb 0x508ee4
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x76ec]
test eax, eax
je 0x508f17
push eax
call fcn.00537b6f
add esp, 4
push 0x602980
push dword [0x58b8e4]
call fcn.004ce4c0
push dword [0x5923dc]
xor ebx, ebx
mov dword [ebp - 0x24], ebx
call dword [sym.imp.USER32.dll_IsWindowVisible]
neg eax
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp + 0x622c]
push ecx
sbb eax, eax
and eax, dword [0x5923dc]
push 0x50a380
push eax
push str.CONVERTARC
push dword [0x5d2758]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x50a303
push ebx
push 0x56a670
push 0x602980
call fcn.004cf550
test eax, eax
jne 0x508f95
cmp dword [0x5933f8], 1
jne 0x508f90
cmp byte [0x5b02d3], bl
jne 0x508f95
mov byte [ebp - 0x18], bl
jmp 0x508f99
mov byte [ebp - 0x18], 1
push 0
push dword [ebp - 0x18]
push 0
push 0xa
call fcn.00500110
push 0x800
lea eax, [ebp + 0xa748]
push eax
call fcn.004fda50
lea ecx, [ebp - 0x50]
call fcn.004b9f00
mov byte [ebp - 4], 6
cmp byte [0x5933f4], 0
je 0x508fec
push dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push dword [0x5c2f40]
push dword [0x5c2f3c]
call fcn.00404d10
mov al, byte [0x5c2f48]
mov byte [ebp - 0x44], al
xor ebx, ebx
mov dword [ebp - 0x38], 0
xor esi, esi
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [0x594448], 0
mov dword [0x59444c], 0
mov dword [ebp - 0x68], ebx
cmp dword [ebp + 0x6230], ebx
jbe 0x509061
jmp 0x509030
push esi
lea ecx, [ebp + 0x622c]
call fcn.00459830
test byte [eax + 4], 2
je 0x509055
mov ecx, dword [eax + 8]
add dword [0x594448], ecx
mov eax, dword [eax + 0xc]
adc dword [0x59444c], eax
inc ebx
inc esi
cmp esi, dword [ebp + 0x6230]
jb 0x509030
mov dword [ebp - 0x68], ebx
push 0x880
lea eax, [ebp + 0xf748]
push eax
push 0
push ebx
call fcn.004d7e50
lea eax, [ebp + 0xf748]
push eax
push 0x67
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp word [ebp + 0x6254], 0
mov dword [0x594430], 0
mov dword [0x594434], 0
je 0x5090e6
lea eax, [ebp + 0x6254]
push eax
call fcn.00490c30
test al, al
jne 0x5090e6
push 0
push 0
lea eax, [ebp + 0x6254]
push eax
call fcn.00490510
test al, al
jne 0x5090e6
lea eax, [ebp + 0x6254]
mov ecx, 0x5d281c
push eax
call fcn.00487390
mov al, 1
mov byte [0x5933f6], al
jmp 0x5090eb
mov al, byte [0x5933f6]
xor edi, edi
or ebx, 0xffffffff
mov dword [ebp - 0x28], edi
mov esi, 0x5c2f3c
mov dword [ebp - 0x18], ebx
test al, al
jne 0x50a1ff
cmp byte [0x5933f7], 0
jne 0x50a213
push 0x880
lea eax, [ebp + 0xf748]
push eax
push 0
push dword [ebp - 0x1c]
call fcn.004d7e50
lea eax, [ebp + 0xf748]
push eax
push 0x69
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0x880
lea eax, [ebp + 0xf748]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.004d7e50
lea eax, [ebp + 0xf748]
push eax
push 0x6c
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0x880
lea eax, [ebp + 0xf748]
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
call fcn.004d7e50
lea eax, [ebp + 0xf748]
push eax
push 0x6e
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp ebx, 0xffffffff
je 0x5091c9
push ebx
lea eax, [ebp + 0x40ec]
push eax
lea ecx, [ebp + 0x622c]
call fcn.004596a0
mov ecx, dword [eax + 0x1080]
mov eax, dword [eax + 0x1084]
add dword [0x594430], ecx
adc dword [0x594434], eax
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
call fcn.004fef80
cmp edi, dword [ebp + 0x6230]
jge 0x50a1f5
push edi
lea ecx, [ebp + 0x622c]
call fcn.00459830
mov ebx, eax
test byte [ebx + 4], 2
je 0x50a1e0
mov esi, dword [ebx]
push 0x216
mov dword [ebp - 0x18], edi
call fcn.004b68d0
push esi
push eax
call fcn.004fe800
mov al, byte [ebp + 0x7255]
add esp, 8
test al, al
je 0x509235
test byte [ebx + 0x38], 0x10
je 0x509235
push 0x50e
call fcn.004b68d0
push eax
push dword [ebx]
call fcn.00503540
add esp, 8
jmp 0x50a1e0
cmp byte [0x5933f4], 0
je 0x509266
push dword [ebp - 0x14]
mov ecx, 0x5c2f3c
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
call fcn.00404d10
mov al, byte [ebp - 0x44]
mov byte [0x5c2f48], al
mov al, byte [ebp + 0x7255]
mov byte [0x5c2f4c], 1
test al, al
je 0x509271
push 1
call fcn.00467f00
push 1
push 0
push dword [ebx]
mov ecx, 0x5c2bd0
call fcn.0040aa90
cmp byte [ebp + 0x7255], 0
mov esi, eax
je 0x5092aa
call fcn.00467f80
test al, al
je 0x5092aa
push 0x50e
call fcn.004b68d0
push eax
push dword [ebx]
call fcn.00503540
add esp, 8
push 0
call fcn.00467f00
cmp esi, 1
je 0x5092d0
cmp esi, 0xffffffff
jne 0x50a1e0
push dword [ebx]
mov ecx, 0x5d281c
call fcn.004878a0
jmp 0x50a1e0
xor eax, eax
mov dword [ebp + 0x75f8], 0
mov dword [ebp + 0x7608], 0
mov dword [ebp + 0x760c], 0
mov dword [ebp + 0x7608], 0
mov dword [ebp + 0x760c], 7
mov word [ebp + 0x75f8], ax
mov byte [ebp - 4], 7
mov dword [ebp + 0x7614], eax
mov dword [ebp + 0x7618], eax
mov byte [ebp - 4], 9
lea eax, [ebp + 0x74d4]
push eax
mov ecx, 0x5c2bd0
call fcn.0040a190
push 0
lea eax, [ebp + 0x51e4]
mov dword [ebp + 0x61f4], 0
push eax
mov dword [ebp + 0x61f8], 0
mov dword [ebp + 0x61fc], 0
mov dword [ebp + 0x6200], 0
mov dword [ebp + 0x6204], 0
mov dword [ebp + 0x6208], 0
push dword [ebx]
call fcn.00492720
test al, al
jne 0x509385
jmp 0x50a183
cmp byte [ebp + 0x7255], 0
je 0x5093ba
cmp byte [ebp + 0x76e8], 0
jne 0x5093a0
cmp byte [ebp + 0x7637], 0
je 0x5093ba
push 0x50e
call fcn.004b68d0
push eax
push dword [ebx]
call fcn.00503540
add esp, 8
jmp 0x50a183
push 1
push 0x800
lea eax, [ebp + 0x7748]
push eax
push str.Rar_CV
call fcn.004fca70
test al, al
jne 0x5093db
jmp 0x50a183
lea eax, [ebp + 0x7748]
push eax
call fcn.004fe470
push 1
call fcn.004f7750
mov eax, dword [ebp - 0x68]
mov ecx, 0x5c2bd0
push 0x800
push 0x5b232a
mov dword [0x59442c], eax
call fcn.00409950
mov eax, dword [0x5c2bd4]
mov ecx, 0x5b332c
push 0x5578cc
mov dword [0x5ad2c8], eax
mov dword [0x5aaf0c], 1
mov dword [0x5ac2b4], 2
mov dword [0x5ac2b8], 2
call fcn.004bd180
push 0x5b232a
push 0x20f
call fcn.004b68d0
push eax
call fcn.004fe800
add esp, 8
call fcn.00503460
mov ecx, dword [0x5ac2ac]
mov esi, eax
mov dword [ebp - 0x20], esi
test ecx, ecx
je 0x50947a
mov dword [ebp - 0x24], ecx
mov dword [0x5ac2ac], 0
push 0
push str.WaitForOther
push 0x602980
call fcn.004cf550
test eax, eax
mov ecx, 0x5c2bd0
push 1
push 0
setne byte [0x5b02d4]
call fcn.00409410
cmp byte [0x5933f7], 0
jne 0x50a16b
call fcn.00503460
cmp esi, eax
jne 0x50a16b
push 0x602980
call fcn.004f8c60
cmp word [0x5a6eee], 0
mov eax, dword [0x5aaf58]
mov dword [ebp - 0x64], eax
mov byte [0x5ab1e1], 0
jne 0x509550
push 1
lea eax, [ebp - 0x40]
mov dword [ebp - 0x3c], 0
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x40], 0
push eax
mov ecx, 0x5c2bd0
call fcn.00409c20
cmp dword [ebp - 0x40], 0
jbe 0x509545
push 0x800
push 0x5a6eee
push str.Rar_CM
call fcn.004fc9a0
mov esi, eax
test esi, esi
je 0x509545
mov ecx, dword [ebp - 0x40]
push esi
add ecx, ecx
push ecx
push 1
push dword [ebp - 0x3c]
call fcn.00538b43
push esi
call fcn.005386bd
add esp, 0x14
mov dword [0x5a7ef0], 3
push dword [ebp - 0x3c]
call fcn.0052f90c
add esp, 4
push 0x800
lea eax, [ebp + 0x9748]
push eax
push dword [ebx]
call fcn.004a1dd0
push 0x800
lea eax, [ebp + 0x6254]
push eax
lea eax, [ebp + 0xb748]
push eax
call fcn.004bd090
cmp word [ebp + 0xb748], 0
je 0x509596
push 0x800
lea eax, [ebp + 0xb748]
push eax
call fcn.004a0eb0
push dword [ebx]
call fcn.0045d740
cmp dword [0x5ad2c8], 0
mov esi, 0x557928
mov byte [ebp - 0xd], al
je 0x5095b3
mov esi, 0x557930
cmp word [0x5a4ee8], 0
je 0x5095c2
mov esi, 0x557920
push esi
push dword [ebx]
xor eax, eax
mov word [ebp + 0xd748], ax
call fcn.004a0ef0
test al, al
je 0x5096c6
cmp word [ebp + 0xb748], 0
je 0x509600
lea eax, [ebp + 0x9748]
push eax
lea eax, [ebp + 0xb748]
push eax
call fcn.004c1160
test eax, eax
jne 0x5096c6
push 1
push 0x800
lea eax, [ebp + 0xd748]
mov byte [ebp - 0xe], 1
push eax
push str.Rar_CV
call fcn.004fca70
push 0x800
push 0x5b232a
push dword [ebx]
call fcn.004a2d90
push eax
lea eax, [ebp + 0xd748]
push eax
call fcn.004a25d0
push 0x5b232a
call fcn.004a1db0
mov esi, eax
test esi, esi
je 0x50979b
xor eax, eax
push 0x5b232a
mov word [esi], ax
call fcn.004a1db0
mov edx, eax
mov eax, 0x2e
mov word [esi], ax
test edx, edx
je 0x50979b
cmp byte [ebp - 0xd], 0
je 0x50979b
cmp dword [ebp + 0x763c], 0
jne 0x50979b
cmp byte [ebp + 0x761c], 0
je 0x50979b
mov ecx, esi
lea edi, [ecx + 2]
jmp 0x5096a0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x5096a0
sub ecx, edi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push esi
push edx
call fcn.00531230
add esp, 0xc
jmp 0x50979b
cmp word [ebp + 0xb748], 0
mov byte [ebp - 0xe], 0
push 0x800
je 0x509703
lea eax, [ebp + 0xb748]
push eax
push 0x5b232a
call fcn.004bd090
push 0x800
push dword [ebx]
call fcn.004a2d90
push eax
push 0x5b232a
call fcn.004bd030
jmp 0x50970f
push dword [ebx]
push 0x5b232a
call fcn.004bd090
push 0x5b232a
call fcn.004a1db0
mov edi, eax
test edi, edi
je 0x509761
xor eax, eax
push 0x5b232a
mov word [edi], ax
call fcn.004a1db0
test eax, eax
je 0x509759
push str..tar
push eax
call fcn.004c1160
test eax, eax
je 0x509761
cmp byte [ebp - 0xd], 0
je 0x509759
cmp dword [ebp + 0x763c], 0
jne 0x509759
cmp byte [ebp + 0x761c], 0
jne 0x509761
mov eax, 0x2e
mov word [edi], ax
push 0x800
push esi
push 0x5b232a
call fcn.004a2e40
push 0x5b232a
call fcn.00490c30
test al, al
je 0x50979b
push 0x50d
call fcn.004b68d0
push eax
push 0x5b232a
call fcn.00503540
add esp, 8
mov byte [ebp - 0xe], 1
call fcn.00503460
mov esi, dword [ebp - 0x20]
cmp esi, eax
jne 0x50983a
lea eax, [ebp + 0x7748]
push eax
call fcn.004fe470
push 0x5578cc
mov ecx, 0x5b332c
mov dword [0x5aaf40], 3
mov dword [0x5aaf3c], 2
mov byte [0x5aaf6e], 0
call fcn.004bd180
mov eax, dword [0x5ac2ac]
test eax, eax
je 0x5097f7
mov dword [ebp - 0x24], eax
mov dword [0x5ac2ac], 0
push 0
mov ecx, 0x5c2bd0
call fcn.00408310
cmp byte [0x5933f4], 0
je 0x50983a
cmp byte [ebp - 0xe], 0
je 0x50983a
cmp byte [0x5b3504], 0
je 0x50983a
push dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push dword [0x5b34fc]
push dword [0x5b34f8]
call fcn.00404d10
mov al, byte [0x5b3504]
mov byte [ebp - 0x44], al
cmp word [0x5a6eee], 0
je 0x50984e
push 0x5a6eee
call fcn.004fbc90
cmp byte [0x5933f7], 0
mov byte [ebp - 0xf], 0
jne 0x50a142
call fcn.00503460
cmp esi, eax
jne 0x50a142
mov eax, 0x5c2f3c
cmp eax, 0x5b34f8
je 0x50988e
push dword [ebp - 0x14]
mov ecx, eax
push dword [0x5b34fc]
push dword [0x5b34f8]
call fcn.00404d10
mov al, byte [0x5b3504]
mov ecx, 0x5c2bd0
push 1
push 0
push 0x5b232a
mov byte [0x5c2f48], al
mov byte [0x5c2f4c], 1
call fcn.0040aa90
cmp eax, 1
jne 0x50a142
xor eax, eax
mov dword [ebp + 0x73e0], 0
mov dword [ebp + 0x73f0], 0
mov dword [ebp + 0x73f4], 0
mov dword [ebp + 0x73f0], 0
mov dword [ebp + 0x73f4], 7
mov word [ebp + 0x73e0], ax
mov byte [ebp - 4], 0x10
mov dword [ebp + 0x73fc], eax
mov dword [ebp + 0x7400], eax
mov byte [ebp - 4], 0x12
lea eax, [ebp + 0x72bc]
push eax
mov ecx, 0x5c2bd0
call fcn.0040a190
mov eax, dword [ebp + 0x76d4]
mov ecx, dword [ebp + 0x76d8]
cmp eax, dword [ebp + 0x74bc]
jne 0x509937
cmp ecx, dword [ebp + 0x74c0]
je 0x509972
or eax, ecx
je 0x509972
push 0x5579e8
lea eax, [ebp + 0x74d4]
push eax
call fcn.004c1160
test eax, eax
jne 0x509958
cmp byte [ebp + 0x761c], al
jne 0x509972
push 0x50a
call fcn.004b68d0
push eax
push dword [ebx]
call fcn.00503540
add esp, 8
jmp 0x50a0dc
mov eax, dword [ebp + 0x7258]
test eax, eax
je 0x5099d8
push dword [ebp + 0x76e0]
cdq
push dword [ebp + 0x76dc]
push edx
push eax
call fcn.0052f920
push 0
push 0x64
push dword [ebp + 0x74c8]
mov edi, eax
mov esi, edx
push dword [ebp + 0x74c4]
call fcn.0052f920
cmp esi, edx
jg 0x5099d8
jl 0x5099b3
cmp edi, eax
jae 0x5099d8
push 0x5b232a
call fcn.004a2d90
push 0x50f
mov esi, eax
call fcn.004b68d0
push esi
push eax
call fcn.004fe800
add esp, 8
jmp 0x50a0dc
mov eax, dword [0x5b34fc]
sub eax, dword [0x5b34f8]
sar eax, 1
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
je 0x509a48
cmp eax, 0x7fffffff
ja 0x50a367
push eax
lea ecx, [ebp - 0x60]
call fcn.00415fd0
lea eax, [ebp - 0x60]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x13
mov eax, dword [0x5b34f8]
mov esi, dword [0x5b34fc]
mov edi, dword [ebp - 0x60]
sub esi, eax
push esi
push eax
push edi
call fcn.00531230
add esp, 0xc
mov dword [ebp - 0x14], 0
sar esi, 1
lea eax, [edi + esi*2]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0x14
mov al, byte [0x5b3504]
mov byte [ebp - 0x54], al
mov byte [ebp - 4], 0x15
push 1
call fcn.004f7750
push dword [ebp - 0x14]
mov ecx, 0x5b34f8
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
call fcn.00404d10
mov al, byte [ebp - 0x54]
mov ecx, 0x5c2bd0
push 0x800
push 0x5b232a
mov byte [0x5b3504], al
call fcn.00409950
mov eax, dword [0x5c2bd4]
mov dword [0x5ad2c8], eax
mov byte [0x5ab1e1], 1
call fcn.004f9140
push 0x5578cc
mov ecx, 0x5b332c
call fcn.004bd180
mov eax, dword [0x5ac2ac]
test eax, eax
je 0x509ac9
mov dword [ebp - 0x24], eax
mov dword [0x5ac2ac], 0
push 0
push 0
mov ecx, 0x5c2bd0
call fcn.00409410
cmp byte [0x5933f7], 0
jne 0x50a0d0
call fcn.00503460
cmp dword [ebp - 0x20], eax
jne 0x50a0d0
mov eax, dword [ebp + 0x74bc]
or eax, dword [ebp + 0x74c0]
jne 0x509b21
cmp dword [ebp + 0x61e8], eax
ja 0x509b14
cmp dword [ebp + 0x61e4], 0x200
jb 0x509b21
cmp dword [ebp + 0x76c4], 1
jbe 0x50a0d0
mov eax, dword [ebp + 0x7258]
mov edi, dword [ebp + 0x76e0]
mov ecx, dword [ebp + 0x76dc]
test eax, eax
je 0x509b74
push edi
cdq
push ecx
push edx
push eax
call fcn.0052f920
push 0
push 0x64
push dword [ebp + 0x74c8]
mov dword [ebp - 0x20], eax
mov esi, edx
push dword [ebp + 0x74c4]
call fcn.0052f920
cmp esi, edx
jl 0x50a0d0
jg 0x509b6e
cmp dword [ebp - 0x20], eax
jb 0x50a0d0
mov ecx, dword [ebp + 0x76dc]
inc dword [ebp - 0x1c]
add dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x30]
adc dword [ebp - 0x34], edi
add eax, dword [ebp + 0x74c4]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
adc eax, dword [ebp + 0x74c8]
cmp byte [ebp - 0xe], 0
mov byte [ebp - 0xf], 1
mov dword [ebp - 0x2c], eax
je 0x509f6c
push 0
push 1
push dword [ebx]
mov ecx, 0x5c2bd0
call fcn.0040aa90
cmp eax, 1
jne 0x50a0d0
lea ecx, [ebp + 0x76ec]
call fcn.004bd0e0
mov byte [ebp - 4], 0x16
lea eax, [ebp + 0x10848]
push 0x800
push dword [ebx]
push eax
call fcn.004bd090
xor al, al
mov byte [ebp - 0xd], al
lea eax, [ebp + 0x10848]
push eax
push str._s._cvtbackup_
lea eax, [ebp + 0xe748]
push 0x800
push eax
call fcn.00404ce0
add esp, 0x10
lea eax, [ebp + 0xe748]
push eax
lea eax, [ebp + 0x10848]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x509ea8
lea eax, [ebp + 0x10848]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bd180
lea eax, [ebp + 0xe748]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bd180
mov ecx, 0x5c2bd0
call fcn.0040a900
test eax, eax
je 0x509c7f
push 0x800
lea eax, [ebp + 0x10848]
mov ecx, 0x5c2bd0
push eax
call fcn.0040a450
test al, al
je 0x509c7f
lea eax, [ebp + 0x10848]
push eax
call fcn.00490c30
test al, al
jne 0x509be3
cmp word [ebp + 0xd748], 0
je 0x509e2d
lea ecx, [ebp + 0x7260]
call fcn.004bd0e0
mov byte [ebp - 4], 0x17
lea eax, [ebp + 0xd748]
push eax
lea ecx, [ebp + 0x7260]
call fcn.004bd180
push 0
push 0
push 0
lea eax, [ebp + 0x7260]
mov dword [ebp + 0x51ac], 0
push eax
lea ecx, [ebp]
mov dword [ebp + 0x51b0], 0
mov dword [ebp + 0x51b4], 0
mov dword [ebp + 0x51b8], 0
mov dword [ebp + 0x51bc], 0
mov dword [ebp + 0x51c0], 0
call fcn.004b8e10
mov byte [ebp - 4], 0x18
lea eax, [ebp + 0x419c]
push eax
lea ecx, [ebp]
call fcn.004b9b00
test eax, eax
jne 0x509e0a
mov edi, dword [ebp - 0x64]
lea ecx, [ecx]
push 0x800
push dword [ebx]
lea eax, [ebp + 0xe748]
push eax
call fcn.004bd090
push 0x800
lea eax, [ebp + 0x419c]
push eax
call fcn.004a2d90
push eax
lea eax, [ebp + 0xe748]
push eax
call fcn.004a2ea0
lea eax, [ebp + 0x419c]
push eax
call fcn.004a2d90
push 0x25a
mov esi, eax
call fcn.004b68d0
push esi
push eax
call fcn.004fe800
add esp, 8
lea eax, [ebp + 0xe748]
push eax
lea eax, [ebp + 0x419c]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x509de5
cmp edi, 1
jne 0x509dcc
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea eax, [ebp + 0xe748]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x509dcc
lea eax, [ebp + 0x621c]
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 + 0x419c]
push eax
lea ecx, [ebp]
call fcn.004b9b00
test eax, eax
je 0x509d20
jmp 0x509e0a
lea eax, [ebp + 0xe748]
push eax
lea eax, [ebp + 0x419c]
push eax
push 0x5b0
call fcn.004b68d0
push eax
call fcn.004fe800
add esp, 0xc
mov byte [ebp - 0xd], 1
mov byte [ebp - 4], 0x17
lea ecx, [ebp]
call fcn.004b8f00
mov byte [ebp - 4], 0x16
mov eax, dword [ebp + 0x7260]
test eax, eax
je 0x509e2d
push eax
call fcn.00537b6f
add esp, 4
mov bh, byte [ebp - 0xd]
xor bl, bl
cmp byte [ebp + 0x7254], bl
jne 0x509eb9
push 0x800
lea eax, [ebp + 0xc748]
mov bl, 1
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bd280
test al, al
je 0x509eae
jmp 0x509e60
push 0x800
lea eax, [ebp + 0x11848]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bd280
test al, al
je 0x509eae
lea eax, [ebp + 0xc748]
push eax
call fcn.00490c30
test al, al
jne 0x509eac
push 0x800
lea eax, [ebp + 0xc748]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bd280
test al, al
jne 0x509e60
jmp 0x509eae
mov bh, 1
jmp 0x509e30
xor bl, bl
lea ecx, [ebp + 0x76ec]
call fcn.004bd3d0
push 0x800
lea eax, [ebp + 0xc748]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bd280
test al, al
je 0x509f4c
push 0x800
lea eax, [ebp + 0x11848]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bd280
test al, al
je 0x509f4c
test bl, bl
jne 0x509f1d
test bh, bh
jne 0x509f11
lea eax, [ebp + 0x11848]
push eax
call fcn.004914c0
lea eax, [ebp + 0x11848]
push eax
call fcn.004906b0
jmp 0x509f31
lea eax, [ebp + 0xc748]
push eax
call fcn.004906b0
lea eax, [ebp + 0xc748]
push eax
lea eax, [ebp + 0x11848]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 0x800
lea eax, [ebp + 0xc748]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bd280
test al, al
jne 0x509ed4
mov byte [ebp - 4], 0x15
mov eax, dword [ebp + 0x76ec]
test eax, eax
je 0x50a0d0
push eax
call fcn.00537b6f
add esp, 4
jmp 0x50a0d0
cmp byte [ebp + 0x7254], 0
je 0x50a022
push 0
push 1
push dword [ebx]
mov ecx, 0x5c2bd0
call fcn.0040aa90
cmp eax, 1
jne 0x50a022
push 0x800
push dword [ebx]
lea eax, [ebp + 0x10848]
push eax
call fcn.004bd090
jmp 0x509fb0
lea eax, [ebp + 0x10848]
push eax
call fcn.004a2d90
push 0x258
mov esi, eax
call fcn.004b68d0
push esi
push eax
call fcn.004fe800
add esp, 8
lea eax, [ebp + 0x10848]
push eax
call fcn.004914c0
lea eax, [ebp + 0x10848]
push eax
call fcn.004906b0
mov ecx, 0x5c2bd0
call fcn.0040a900
test eax, eax
je 0x50a022
push 0x800
lea eax, [ebp + 0x10848]
mov ecx, 0x5c2bd0
push eax
call fcn.0040a450
test al, al
je 0x50a022
lea eax, [ebp + 0x10848]
push eax
call fcn.00490c30
test al, al
jne 0x509fb0
push 0
push 1
push 0x5b232a
mov ecx, 0x5c2bd0
call fcn.0040aa90
cmp eax, 1
jne 0x50a0d0
push 0x800
push 0x5b232a
lea eax, [ebp + 0x11848]
push eax
call fcn.004bd090
mov edi, dword [ebp - 0x64]
cmp edi, 1
jne 0x50a098
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea eax, [ebp + 0x11848]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x50a098
lea eax, [ebp + 0x621c]
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, 0x5c2bd0
call fcn.0040a900
test eax, eax
je 0x50a0d0
push 0x800
lea eax, [ebp + 0x11848]
mov ecx, 0x5c2bd0
push eax
call fcn.0040a450
test al, al
je 0x50a0d0
lea eax, [ebp + 0x11848]
push eax
call fcn.00490c30
test al, al
jne 0x50a057
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x60]
call fcn.004b9fd0
mov byte [ebp - 4], 9
mov ecx, dword [ebp + 0x73f4]
cmp ecx, 8
jb 0x50a120
mov edx, dword [ebp + 0x73e0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x50a116
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50a36c
push ecx
push edx
call fcn.0052f4fd
add esp, 8
xor eax, eax
mov dword [ebp + 0x73f0], 0
mov dword [ebp + 0x73f4], 7
mov word [ebp + 0x73e0], ax
cmp byte [ebp - 0xf], al
jne 0x50a152
cmp byte [ebp - 0xe], 0
jne 0x50a152
push 0x5b232a
call fcn.004906b0
cmp word [ebp + 0xd748], 0
je 0x50a168
lea eax, [ebp + 0xd748]
push eax
call fcn.004fbd60
mov edi, dword [ebp - 0x28]
lea eax, [ebp + 0xa748]
push eax
call fcn.004fe470
lea eax, [ebp + 0x7748]
push eax
call fcn.004fbd60
mov byte [ebp - 4], 6
mov ecx, dword [ebp + 0x760c]
cmp ecx, 8
jb 0x50a1c7
mov edx, dword [ebp + 0x75f8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x50a1bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50a36c
push ecx
push edx
call fcn.0052f4fd
add esp, 8
xor eax, eax
mov dword [ebp + 0x760c], 7
mov word [ebp + 0x75f8], ax
mov dword [ebp + 0x7608], eax
mov al, byte [0x5933f6]
inc edi
mov dword [ebp - 0x28], edi
test al, al
jne 0x50a1fa
mov ebx, dword [ebp - 0x18]
jmp 0x509103
mov al, byte [0x5933f6]
mov esi, 0x5c2f3c
cmp byte [0x5933f7], 0
jne 0x50a218
test al, al
jne 0x50a218
mov eax, 0x4d0
jmp 0x50a21d
mov esi, 0x5c2f3c
mov eax, 0x272
push eax
call fcn.004b68d0
push eax
call fcn.004fe800
add esp, 4
cmp byte [0x5933f6], 0
je 0x50a23c
call fcn.005009d0
jmp 0x50a256
push 0
push 0
push 0
push 0
push 0
push 1
push 0
push 1
call fcn.00500a10
call fcn.005018e0
mov al, byte [0x5933f4]
test al, al
je 0x50a2b8
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
call fcn.00404d10
mov al, byte [ebp - 0x44]
mov byte [0x5c2f48], al
mov al, byte [0x5933f4]
mov byte [0x5c2f4c], 1
test al, al
je 0x50a2b8
push 0
push 0
lea eax, [ebp + 0x8748]
mov ecx, 0x5c2bd0
push eax
call fcn.0040aa90
cmp eax, 1
je 0x50a2af
mov ecx, 0x5c5810
call fcn.0045b050
test al, al
jne 0x50a2be
mov al, byte [0x5933f4]
test al, al
jne 0x50a2d9
cmp dword [ebp - 0x1c], 0
jbe 0x50a2d5
push 0x5b232a
call fcn.004a2d90
push eax
mov ecx, 0x5c5810
call fcn.00460460
jmp 0x50a2f4
test al, al
je 0x50a2f4
cmp dword [ebp - 0x1c], 0
jbe 0x50a2f4
push 0x5b232a
call fcn.004a2d90
push eax
mov ecx, 0x5c5810
call fcn.0045f540
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x50]
call fcn.004b9fd0
mov ebx, dword [ebp - 0x24]
cmp byte [ebp + 0x725c], 0
je 0x50a31c
push dword [0x58b8e4]
push 0x602980
call fcn.004ce4c0
push 0x602980
call fcn.004cea30
test ebx, ebx
je 0x50a330
push ebx
call fcn.004fcfb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x622c]
call fcn.00459630
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x12848]
xor ecx, ebp
call fcn.0052f708
lea esp, [ebp + 0x1284c]
pop ebp
ret 4
call fcn.00406ba0
call fcn.00533acf
int3