Function at 0x509790
Capabilities:
Move file

Disassembly:
push ebp
lea ebp, [esp - 0x1284c]
mov eax, 0x1284c
call fcn.00530230
push 0xffffffffffffffff
push 0x554996
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x58cb30]
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 [0x58c8e4]
push 0x56ca6c
push 0xc8
push 0x603980
call fcn.00404ce0
add esp, 0x14
lea ecx, [ebp + 0x622c]
call fcn.00459ca0
mov dword [ebp - 4], 1
cmp byte [0x5943f4], 0
mov byte [ebp + 0x725c], 0
je 0x5098e5
push 0x800
lea eax, [ebp + 0x8748]
mov ecx, 0x5c3bd0
push eax
call fcn.004099c0
push 0x10f8
lea eax, [ebp + 0x40ec]
push 0
push eax
call fcn.00532770
add esp, 0xc
lea eax, [ebp + 0x8748]
push 0x800
push eax
lea eax, [ebp + 0x40ec]
push eax
call fcn.004bdae0
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.004930c0
test al, al
je 0x5098ce
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.0045a0b0
jmp 0x509987
lea ecx, [ebp + 0x76ec]
call fcn.004bdb30
mov byte [ebp - 4], 2
lea esi, [ebp + 0x76ec]
test edi, edi
je 0x509902
mov esi, edi
jmp 0x509915
push 1
lea eax, [ebp + 0x76ec]
mov ecx, 0x5c6810
push eax
call fcn.0045d3c0
push 0
push 0
push 0xb
lea eax, [ebp + 0x622c]
push eax
push 3
push esi
call fcn.004d4680
test al, al
jne 0x50994a
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x76ec]
test eax, eax
je 0x509945
push eax
call fcn.0053867f
add esp, 4
jmp 0x50ada0
xor esi, esi
cmp dword [ebp + 0x6230], esi
jbe 0x509970
push esi
lea ecx, [ebp + 0x622c]
call fcn.0045a000
inc esi
mov dword [eax + 4], 0
cmp esi, dword [ebp + 0x6230]
jb 0x509954
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x76ec]
test eax, eax
je 0x509987
push eax
call fcn.0053867f
add esp, 4
push 0x603980
push dword [0x58c8e4]
call fcn.004cef00
push dword [0x5933dc]
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 [0x5933dc]
push 0x50adf0
push eax
push str.CONVERTARC
push dword [0x5d3758]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x50ad73
push ebx
push 0x56b870
push 0x603980
call fcn.004cffa0
test eax, eax
jne 0x509a05
cmp dword [0x5943f8], 1
jne 0x509a00
cmp byte [0x5b12d3], bl
jne 0x509a05
mov byte [ebp - 0x18], bl
jmp 0x509a09
mov byte [ebp - 0x18], 1
push 0
push dword [ebp - 0x18]
push 0
push 0xa
call fcn.00500d00
push 0x800
lea eax, [ebp + 0xa748]
push eax
call fcn.004fe630
lea ecx, [ebp - 0x50]
call fcn.004ba930
mov byte [ebp - 4], 6
cmp byte [0x5943f4], 0
je 0x509a5c
push dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push dword [0x5c3f40]
push dword [0x5c3f3c]
call fcn.00404d10
mov al, byte [0x5c3f48]
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 [0x595448], 0
mov dword [0x59544c], 0
mov dword [ebp - 0x68], ebx
cmp dword [ebp + 0x6230], ebx
jbe 0x509ad1
jmp 0x509aa0
push esi
lea ecx, [ebp + 0x622c]
call fcn.0045a000
test byte [eax + 4], 2
je 0x509ac5
mov ecx, dword [eax + 8]
add dword [0x595448], ecx
mov eax, dword [eax + 0xc]
adc dword [0x59544c], eax
inc ebx
inc esi
cmp esi, dword [ebp + 0x6230]
jb 0x509aa0
mov dword [ebp - 0x68], ebx
push 0x880
lea eax, [ebp + 0xf748]
push eax
push 0
push ebx
call fcn.004d8890
lea eax, [ebp + 0xf748]
push eax
push 0x67
push dword [0x5943e8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp word [ebp + 0x6254], 0
mov dword [0x595430], 0
mov dword [0x595434], 0
je 0x509b56
lea eax, [ebp + 0x6254]
push eax
call fcn.00491350
test al, al
jne 0x509b56
push 0
push 0
lea eax, [ebp + 0x6254]
push eax
call fcn.00490c10
test al, al
jne 0x509b56
lea eax, [ebp + 0x6254]
mov ecx, 0x5d381c
push eax
call fcn.00487b90
mov al, 1
mov byte [0x5943f6], al
jmp 0x509b5b
mov al, byte [0x5943f6]
xor edi, edi
or ebx, 0xffffffff
mov dword [ebp - 0x28], edi
mov esi, 0x5c3f3c
mov dword [ebp - 0x18], ebx
test al, al
jne 0x50ac6f
cmp byte [0x5943f7], 0
jne 0x50ac83
push 0x880
lea eax, [ebp + 0xf748]
push eax
push 0
push dword [ebp - 0x1c]
call fcn.004d8890
lea eax, [ebp + 0xf748]
push eax
push 0x69
push dword [0x5943e8]
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.004d8890
lea eax, [ebp + 0xf748]
push eax
push 0x6c
push dword [0x5943e8]
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.004d8890
lea eax, [ebp + 0xf748]
push eax
push 0x6e
push dword [0x5943e8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp ebx, 0xffffffff
je 0x509c39
push ebx
lea eax, [ebp + 0x40ec]
push eax
lea ecx, [ebp + 0x622c]
call fcn.00459e70
mov ecx, dword [eax + 0x1080]
mov eax, dword [eax + 0x1084]
add dword [0x595430], ecx
adc dword [0x595434], eax
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
call fcn.004ffb70
cmp edi, dword [ebp + 0x6230]
jge 0x50ac65
push edi
lea ecx, [ebp + 0x622c]
call fcn.0045a000
mov ebx, eax
test byte [ebx + 4], 2
je 0x50ac50
mov esi, dword [ebx]
push 0x216
mov dword [ebp - 0x18], edi
call fcn.004b7300
push esi
push eax
call fcn.004ff3f0
mov al, byte [ebp + 0x7255]
add esp, 8
test al, al
je 0x509ca5
test byte [ebx + 0x38], 0x10
je 0x509ca5
push 0x50e
call fcn.004b7300
push eax
push dword [ebx]
call fcn.00504130
add esp, 8
jmp 0x50ac50
cmp byte [0x5943f4], 0
je 0x509cd6
push dword [ebp - 0x14]
mov ecx, 0x5c3f3c
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
call fcn.00404d10
mov al, byte [ebp - 0x44]
mov byte [0x5c3f48], al
mov al, byte [ebp + 0x7255]
mov byte [0x5c3f4c], 1
test al, al
je 0x509ce1
push 1
call fcn.004686d0
push 1
push 0
push dword [ebx]
mov ecx, 0x5c3bd0
call fcn.0040ab00
cmp byte [ebp + 0x7255], 0
mov esi, eax
je 0x509d1a
call fcn.00468750
test al, al
je 0x509d1a
push 0x50e
call fcn.004b7300
push eax
push dword [ebx]
call fcn.00504130
add esp, 8
push 0
call fcn.004686d0
cmp esi, 1
je 0x509d40
cmp esi, 0xffffffff
jne 0x50ac50
push dword [ebx]
mov ecx, 0x5d381c
call fcn.004880a0
jmp 0x50ac50
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, 0x5c3bd0
call fcn.0040a200
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.004930c0
test al, al
jne 0x509df5
jmp 0x50abf3
cmp byte [ebp + 0x7255], 0
je 0x509e2a
cmp byte [ebp + 0x76e8], 0
jne 0x509e10
cmp byte [ebp + 0x7637], 0
je 0x509e2a
push 0x50e
call fcn.004b7300
push eax
push dword [ebx]
call fcn.00504130
add esp, 8
jmp 0x50abf3
push 1
push 0x800
lea eax, [ebp + 0x7748]
push eax
push str.Rar_CV
call fcn.004fd650
test al, al
jne 0x509e4b
jmp 0x50abf3
lea eax, [ebp + 0x7748]
push eax
call fcn.004ff060
push 1
call fcn.004f8320
mov eax, dword [ebp - 0x68]
mov ecx, 0x5c3bd0
push 0x800
push 0x5b332a
mov dword [0x59542c], eax
call fcn.004099c0
mov eax, dword [0x5c3bd4]
mov ecx, 0x5b432c
push 0x5588cc
mov dword [0x5ae2c8], eax
mov dword [0x5abf0c], 1
mov dword [0x5ad2b4], 2
mov dword [0x5ad2b8], 2
call fcn.004bdbd0
push 0x5b332a
push 0x20f
call fcn.004b7300
push eax
call fcn.004ff3f0
add esp, 8
call fcn.00504050
mov ecx, dword [0x5ad2ac]
mov esi, eax
mov dword [ebp - 0x20], esi
test ecx, ecx
je 0x509eea
mov dword [ebp - 0x24], ecx
mov dword [0x5ad2ac], 0
push 0
push str.WaitForOther
push 0x603980
call fcn.004cffa0
test eax, eax
mov ecx, 0x5c3bd0
push 1
push 0
setne byte [0x5b12d4]
call fcn.00409480
cmp byte [0x5943f7], 0
jne 0x50abdb
call fcn.00504050
cmp esi, eax
jne 0x50abdb
push 0x603980
call fcn.004f9860
cmp word [0x5a7eee], 0
mov eax, dword [0x5abf58]
mov dword [ebp - 0x64], eax
mov byte [0x5ac1e1], 0
jne 0x509fc0
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, 0x5c3bd0
call fcn.00409c90
cmp dword [ebp - 0x40], 0
jbe 0x509fb5
push 0x800
push 0x5a7eee
push str.Rar_CM
call fcn.004fd580
mov esi, eax
test esi, esi
je 0x509fb5
mov ecx, dword [ebp - 0x40]
push esi
add ecx, ecx
push ecx
push 1
push dword [ebp - 0x3c]
call fcn.00539653
push esi
call fcn.005391cd
add esp, 0x14
mov dword [0x5a8ef0], 3
push dword [ebp - 0x3c]
call fcn.0053041c
add esp, 4
push 0x800
lea eax, [ebp + 0x9748]
push eax
push dword [ebx]
call fcn.004a27b0
push 0x800
lea eax, [ebp + 0x6254]
push eax
lea eax, [ebp + 0xb748]
push eax
call fcn.004bdae0
cmp word [ebp + 0xb748], 0
je 0x50a006
push 0x800
lea eax, [ebp + 0xb748]
push eax
call fcn.004a1860
push dword [ebx]
call fcn.0045df10
cmp dword [0x5ae2c8], 0
mov esi, 0x558928
mov byte [ebp - 0xd], al
je 0x50a023
mov esi, 0x558930
cmp word [0x5a5ee8], 0
je 0x50a032
mov esi, 0x558920
push esi
push dword [ebx]
xor eax, eax
mov word [ebp + 0xd748], ax
call fcn.004a18a0
test al, al
je 0x50a136
cmp word [ebp + 0xb748], 0
je 0x50a070
lea eax, [ebp + 0x9748]
push eax
lea eax, [ebp + 0xb748]
push eax
call fcn.004c1ba0
test eax, eax
jne 0x50a136
push 1
push 0x800
lea eax, [ebp + 0xd748]
mov byte [ebp - 0xe], 1
push eax
push str.Rar_CV
call fcn.004fd650
push 0x800
push 0x5b332a
push dword [ebx]
call fcn.004a3770
push eax
lea eax, [ebp + 0xd748]
push eax
call fcn.004a2fb0
push 0x5b332a
call fcn.004a2790
mov esi, eax
test esi, esi
je 0x50a20b
xor eax, eax
push 0x5b332a
mov word [esi], ax
call fcn.004a2790
mov edx, eax
mov eax, 0x2e
mov word [esi], ax
test edx, edx
je 0x50a20b
cmp byte [ebp - 0xd], 0
je 0x50a20b
cmp dword [ebp + 0x763c], 0
jne 0x50a20b
cmp byte [ebp + 0x761c], 0
je 0x50a20b
mov ecx, esi
lea edi, [ecx + 2]
jmp 0x50a110
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x50a110
sub ecx, edi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push esi
push edx
call fcn.00531d40
add esp, 0xc
jmp 0x50a20b
cmp word [ebp + 0xb748], 0
mov byte [ebp - 0xe], 0
push 0x800
je 0x50a173
lea eax, [ebp + 0xb748]
push eax
push 0x5b332a
call fcn.004bdae0
push 0x800
push dword [ebx]
call fcn.004a3770
push eax
push 0x5b332a
call fcn.004bda80
jmp 0x50a17f
push dword [ebx]
push 0x5b332a
call fcn.004bdae0
push 0x5b332a
call fcn.004a2790
mov edi, eax
test edi, edi
je 0x50a1d1
xor eax, eax
push 0x5b332a
mov word [edi], ax
call fcn.004a2790
test eax, eax
je 0x50a1c9
push str..tar
push eax
call fcn.004c1ba0
test eax, eax
je 0x50a1d1
cmp byte [ebp - 0xd], 0
je 0x50a1c9
cmp dword [ebp + 0x763c], 0
jne 0x50a1c9
cmp byte [ebp + 0x761c], 0
jne 0x50a1d1
mov eax, 0x2e
mov word [edi], ax
push 0x800
push esi
push 0x5b332a
call fcn.004a3820
push 0x5b332a
call fcn.00491350
test al, al
je 0x50a20b
push 0x50d
call fcn.004b7300
push eax
push 0x5b332a
call fcn.00504130
add esp, 8
mov byte [ebp - 0xe], 1
call fcn.00504050
mov esi, dword [ebp - 0x20]
cmp esi, eax
jne 0x50a2aa
lea eax, [ebp + 0x7748]
push eax
call fcn.004ff060
push 0x5588cc
mov ecx, 0x5b432c
mov dword [0x5abf40], 3
mov dword [0x5abf3c], 2
mov byte [0x5abf72], 0
call fcn.004bdbd0
mov eax, dword [0x5ad2ac]
test eax, eax
je 0x50a267
mov dword [ebp - 0x24], eax
mov dword [0x5ad2ac], 0
push 0
mov ecx, 0x5c3bd0
call fcn.00408370
cmp byte [0x5943f4], 0
je 0x50a2aa
cmp byte [ebp - 0xe], 0
je 0x50a2aa
cmp byte [0x5b4504], 0
je 0x50a2aa
push dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push dword [0x5b44fc]
push dword [0x5b44f8]
call fcn.00404d10
mov al, byte [0x5b4504]
mov byte [ebp - 0x44], al
cmp word [0x5a7eee], 0
je 0x50a2be
push 0x5a7eee
call fcn.004fc870
cmp byte [0x5943f7], 0
mov byte [ebp - 0xf], 0
jne 0x50abb2
call fcn.00504050
cmp esi, eax
jne 0x50abb2
mov eax, 0x5c3f3c
cmp eax, 0x5b44f8
je 0x50a2fe
push dword [ebp - 0x14]
mov ecx, eax
push dword [0x5b44fc]
push dword [0x5b44f8]
call fcn.00404d10
mov al, byte [0x5b4504]
mov ecx, 0x5c3bd0
push 1
push 0
push 0x5b332a
mov byte [0x5c3f48], al
mov byte [0x5c3f4c], 1
call fcn.0040ab00
cmp eax, 1
jne 0x50abb2
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, 0x5c3bd0
call fcn.0040a200
mov eax, dword [ebp + 0x76d4]
mov ecx, dword [ebp + 0x76d8]
cmp eax, dword [ebp + 0x74bc]
jne 0x50a3a7
cmp ecx, dword [ebp + 0x74c0]
je 0x50a3e2
or eax, ecx
je 0x50a3e2
push 0x5589e8
lea eax, [ebp + 0x74d4]
push eax
call fcn.004c1ba0
test eax, eax
jne 0x50a3c8
cmp byte [ebp + 0x761c], al
jne 0x50a3e2
push 0x50a
call fcn.004b7300
push eax
push dword [ebx]
call fcn.00504130
add esp, 8
jmp 0x50ab4c
mov eax, dword [ebp + 0x7258]
test eax, eax
je 0x50a448
push dword [ebp + 0x76e0]
cdq
push dword [ebp + 0x76dc]
push edx
push eax
call fcn.00530430
push 0
push 0x64
push dword [ebp + 0x74c8]
mov edi, eax
mov esi, edx
push dword [ebp + 0x74c4]
call fcn.00530430
cmp esi, edx
jg 0x50a448
jl 0x50a423
cmp edi, eax
jae 0x50a448
push 0x5b332a
call fcn.004a3770
push 0x50f
mov esi, eax
call fcn.004b7300
push esi
push eax
call fcn.004ff3f0
add esp, 8
jmp 0x50ab4c
mov eax, dword [0x5b44fc]
sub eax, dword [0x5b44f8]
sar eax, 1
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
je 0x50a4b8
cmp eax, 0x7fffffff
ja 0x50add7
push eax
lea ecx, [ebp - 0x60]
call fcn.00416060
lea eax, [ebp - 0x60]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x13
mov eax, dword [0x5b44f8]
mov esi, dword [0x5b44fc]
mov edi, dword [ebp - 0x60]
sub esi, eax
push esi
push eax
push edi
call fcn.00531d40
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 [0x5b4504]
mov byte [ebp - 0x54], al
mov byte [ebp - 4], 0x15
push 1
call fcn.004f8320
push dword [ebp - 0x14]
mov ecx, 0x5b44f8
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
call fcn.00404d10
mov al, byte [ebp - 0x54]
mov ecx, 0x5c3bd0
push 0x800
push 0x5b332a
mov byte [0x5b4504], al
call fcn.004099c0
mov eax, dword [0x5c3bd4]
mov dword [0x5ae2c8], eax
mov byte [0x5ac1e1], 1
call fcn.004f9d40
push 0x5588cc
mov ecx, 0x5b432c
call fcn.004bdbd0
mov eax, dword [0x5ad2ac]
test eax, eax
je 0x50a539
mov dword [ebp - 0x24], eax
mov dword [0x5ad2ac], 0
push 0
push 0
mov ecx, 0x5c3bd0
call fcn.00409480
cmp byte [0x5943f7], 0
jne 0x50ab40
call fcn.00504050
cmp dword [ebp - 0x20], eax
jne 0x50ab40
mov eax, dword [ebp + 0x74bc]
or eax, dword [ebp + 0x74c0]
jne 0x50a591
cmp dword [ebp + 0x61e8], eax
ja 0x50a584
cmp dword [ebp + 0x61e4], 0x200
jb 0x50a591
cmp dword [ebp + 0x76c4], 1
jbe 0x50ab40
mov eax, dword [ebp + 0x7258]
mov edi, dword [ebp + 0x76e0]
mov ecx, dword [ebp + 0x76dc]
test eax, eax
je 0x50a5e4
push edi
cdq
push ecx
push edx
push eax
call fcn.00530430
push 0
push 0x64
push dword [ebp + 0x74c8]
mov dword [ebp - 0x20], eax
mov esi, edx
push dword [ebp + 0x74c4]
call fcn.00530430
cmp esi, edx
jl 0x50ab40
jg 0x50a5de
cmp dword [ebp - 0x20], eax
jb 0x50ab40
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 0x50a9dc
push 0
push 1
push dword [ebx]
mov ecx, 0x5c3bd0
call fcn.0040ab00
cmp eax, 1
jne 0x50ab40
lea ecx, [ebp + 0x76ec]
call fcn.004bdb30
mov byte [ebp - 4], 0x16
lea eax, [ebp + 0x10848]
push 0x800
push dword [ebx]
push eax
call fcn.004bdae0
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 0x50a918
lea eax, [ebp + 0x10848]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bdbd0
lea eax, [ebp + 0xe748]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bdbd0
mov ecx, 0x5c3bd0
call fcn.0040a970
test eax, eax
je 0x50a6ef
push 0x800
lea eax, [ebp + 0x10848]
mov ecx, 0x5c3bd0
push eax
call fcn.0040a4c0
test al, al
je 0x50a6ef
lea eax, [ebp + 0x10848]
push eax
call fcn.00491350
test al, al
jne 0x50a653
cmp word [ebp + 0xd748], 0
je 0x50a89d
lea ecx, [ebp + 0x7260]
call fcn.004bdb30
mov byte [ebp - 4], 0x17
lea eax, [ebp + 0xd748]
push eax
lea ecx, [ebp + 0x7260]
call fcn.004bdbd0
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.004b9840
mov byte [ebp - 4], 0x18
lea eax, [ebp + 0x419c]
push eax
lea ecx, [ebp]
call fcn.004ba530
test eax, eax
jne 0x50a87a
mov edi, dword [ebp - 0x64]
lea ecx, [ecx]
push 0x800
push dword [ebx]
lea eax, [ebp + 0xe748]
push eax
call fcn.004bdae0
push 0x800
lea eax, [ebp + 0x419c]
push eax
call fcn.004a3770
push eax
lea eax, [ebp + 0xe748]
push eax
call fcn.004a3880
lea eax, [ebp + 0x419c]
push eax
call fcn.004a3770
push 0x25a
mov esi, eax
call fcn.004b7300
push esi
push eax
call fcn.004ff3f0
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 0x50a855
cmp edi, 1
jne 0x50a83c
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 0x50a83c
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.004ba530
test eax, eax
je 0x50a790
jmp 0x50a87a
lea eax, [ebp + 0xe748]
push eax
lea eax, [ebp + 0x419c]
push eax
push 0x5b0
call fcn.004b7300
push eax
call fcn.004ff3f0
add esp, 0xc
mov byte [ebp - 0xd], 1
mov byte [ebp - 4], 0x17
lea ecx, [ebp]
call fcn.004b9930
mov byte [ebp - 4], 0x16
mov eax, dword [ebp + 0x7260]
test eax, eax
je 0x50a89d
push eax
call fcn.0053867f
add esp, 4
mov bh, byte [ebp - 0xd]
xor bl, bl
cmp byte [ebp + 0x7254], bl
jne 0x50a929
push 0x800
lea eax, [ebp + 0xc748]
mov bl, 1
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bdcd0
test al, al
je 0x50a91e
jmp 0x50a8d0
push 0x800
lea eax, [ebp + 0x11848]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bdcd0
test al, al
je 0x50a91e
lea eax, [ebp + 0xc748]
push eax
call fcn.00491350
test al, al
jne 0x50a91c
push 0x800
lea eax, [ebp + 0xc748]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bdcd0
test al, al
jne 0x50a8d0
jmp 0x50a91e
mov bh, 1
jmp 0x50a8a0
xor bl, bl
lea ecx, [ebp + 0x76ec]
call fcn.004bde20
push 0x800
lea eax, [ebp + 0xc748]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bdcd0
test al, al
je 0x50a9bc
push 0x800
lea eax, [ebp + 0x11848]
push eax
lea ecx, [ebp + 0x76ec]
call fcn.004bdcd0
test al, al
je 0x50a9bc
test bl, bl
jne 0x50a98d
test bh, bh
jne 0x50a981
lea eax, [ebp + 0x11848]
push eax
call fcn.00491e60
lea eax, [ebp + 0x11848]
push eax
call fcn.00490db0
jmp 0x50a9a1
lea eax, [ebp + 0xc748]
push eax
call fcn.00490db0
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.004bdcd0
test al, al
jne 0x50a944
mov byte [ebp - 4], 0x15
mov eax, dword [ebp + 0x76ec]
test eax, eax
je 0x50ab40
push eax
call fcn.0053867f
add esp, 4
jmp 0x50ab40
cmp byte [ebp + 0x7254], 0
je 0x50aa92
push 0
push 1
push dword [ebx]
mov ecx, 0x5c3bd0
call fcn.0040ab00
cmp eax, 1
jne 0x50aa92
push 0x800
push dword [ebx]
lea eax, [ebp + 0x10848]
push eax
call fcn.004bdae0
jmp 0x50aa20
lea eax, [ebp + 0x10848]
push eax
call fcn.004a3770
push 0x258
mov esi, eax
call fcn.004b7300
push esi
push eax
call fcn.004ff3f0
add esp, 8
lea eax, [ebp + 0x10848]
push eax
call fcn.00491e60
lea eax, [ebp + 0x10848]
push eax
call fcn.00490db0
mov ecx, 0x5c3bd0
call fcn.0040a970
test eax, eax
je 0x50aa92
push 0x800
lea eax, [ebp + 0x10848]
mov ecx, 0x5c3bd0
push eax
call fcn.0040a4c0
test al, al
je 0x50aa92
lea eax, [ebp + 0x10848]
push eax
call fcn.00491350
test al, al
jne 0x50aa20
push 0
push 1
push 0x5b332a
mov ecx, 0x5c3bd0
call fcn.0040ab00
cmp eax, 1
jne 0x50ab40
push 0x800
push 0x5b332a
lea eax, [ebp + 0x11848]
push eax
call fcn.004bdae0
mov edi, dword [ebp - 0x64]
cmp edi, 1
jne 0x50ab08
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 0x50ab08
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, 0x5c3bd0
call fcn.0040a970
test eax, eax
je 0x50ab40
push 0x800
lea eax, [ebp + 0x11848]
mov ecx, 0x5c3bd0
push eax
call fcn.0040a4c0
test al, al
je 0x50ab40
lea eax, [ebp + 0x11848]
push eax
call fcn.00491350
test al, al
jne 0x50aac7
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x60]
call fcn.004baa00
mov byte [ebp - 4], 9
mov ecx, dword [ebp + 0x73f4]
cmp ecx, 8
jb 0x50ab90
mov edx, dword [ebp + 0x73e0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x50ab86
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50addc
push ecx
push edx
call fcn.0053000d
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 0x50abc2
cmp byte [ebp - 0xe], 0
jne 0x50abc2
push 0x5b332a
call fcn.00490db0
cmp word [ebp + 0xd748], 0
je 0x50abd8
lea eax, [ebp + 0xd748]
push eax
call fcn.004fc940
mov edi, dword [ebp - 0x28]
lea eax, [ebp + 0xa748]
push eax
call fcn.004ff060
lea eax, [ebp + 0x7748]
push eax
call fcn.004fc940
mov byte [ebp - 4], 6
mov ecx, dword [ebp + 0x760c]
cmp ecx, 8
jb 0x50ac37
mov edx, dword [ebp + 0x75f8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x50ac2d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50addc
push ecx
push edx
call fcn.0053000d
add esp, 8
xor eax, eax
mov dword [ebp + 0x760c], 7
mov word [ebp + 0x75f8], ax
mov dword [ebp + 0x7608], eax
mov al, byte [0x5943f6]
inc edi
mov dword [ebp - 0x28], edi
test al, al
jne 0x50ac6a
mov ebx, dword [ebp - 0x18]
jmp 0x509b73
mov al, byte [0x5943f6]
mov esi, 0x5c3f3c
cmp byte [0x5943f7], 0
jne 0x50ac88
test al, al
jne 0x50ac88
mov eax, 0x4d0
jmp 0x50ac8d
mov esi, 0x5c3f3c
mov eax, 0x272
push eax
call fcn.004b7300
push eax
call fcn.004ff3f0
add esp, 4
cmp byte [0x5943f6], 0
je 0x50acac
call fcn.005015c0
jmp 0x50acc6
push 0
push 0
push 0
push 0
push 0
push 1
push 0
push 1
call fcn.00501600
call fcn.005024d0
mov al, byte [0x5943f4]
test al, al
je 0x50ad28
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 [0x5c3f48], al
mov al, byte [0x5943f4]
mov byte [0x5c3f4c], 1
test al, al
je 0x50ad28
push 0
push 0
lea eax, [ebp + 0x8748]
mov ecx, 0x5c3bd0
push eax
call fcn.0040ab00
cmp eax, 1
je 0x50ad1f
mov ecx, 0x5c6810
call fcn.0045b820
test al, al
jne 0x50ad2e
mov al, byte [0x5943f4]
test al, al
jne 0x50ad49
cmp dword [ebp - 0x1c], 0
jbe 0x50ad45
push 0x5b332a
call fcn.004a3770
push eax
mov ecx, 0x5c6810
call fcn.00460c30
jmp 0x50ad64
test al, al
je 0x50ad64
cmp dword [ebp - 0x1c], 0
jbe 0x50ad64
push 0x5b332a
call fcn.004a3770
push eax
mov ecx, 0x5c6810
call fcn.0045fd10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x50]
call fcn.004baa00
mov ebx, dword [ebp - 0x24]
cmp byte [ebp + 0x725c], 0
je 0x50ad8c
push dword [0x58c8e4]
push 0x603980
call fcn.004cef00
push 0x603980
call fcn.004cf470
test ebx, ebx
je 0x50ada0
push ebx
call fcn.004fdb90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x622c]
call fcn.00459e00
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.00530218
lea esp, [ebp + 0x1284c]
pop ebp
ret 4
call fcn.00406c00
call fcn.005345df
int3