Function at 0x48cba0
Capabilities:
Get common file path
Move file
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4af98d
mov eax, dword fs:[0]
push eax
mov eax, 0x65f8
call fcn.0049e430
mov eax, dword [0x4c0390]
xor eax, esp
mov dword [esp + 0x65f4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c0390]
xor eax, esp
push eax
lea eax, [esp + 0x660c]
mov dword fs:[0], eax
mov esi, dword [esp + 0x661c]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
mov eax, dword [str.InterfaceConvertProfile]
push eax
push str._s_u
push 0x4f8570
call fcn.0049deb5
add esp, 0x10
lea ecx, [esp + 0x280]
call fcn.0043cf00
mov dword [esp + 0x6614], 1
xor ebx, ebx
mov byte [esp + 0x794], bl
cmp dword [0x4dbc5c], ebx
je 0x48cd1f
lea ecx, [esp + 0x5a08]
push ecx
lea edx, [esp + 0x520c]
push edx
mov ecx, 0x4e0c08
call fcn.00413690
push 0xc30
lea eax, [esp + 0x79c]
push ebx
push eax
call fcn.0049e460
add esp, 0xc
xor eax, eax
jmp 0x48cc70
mov cl, byte [esp + eax + 0x5208]
mov byte [esp + eax + 0x798], cl
inc eax
test cl, cl
jne 0x48cc70
lea ecx, [esp + 0x5a08]
push ecx
lea edx, [esp + 0xb9c]
push edx
call fcn.0046dae0
lea ecx, [esp + 0x1fdc]
call fcn.004680a0
lea ecx, [esp + 0x2000]
call fcn.004680a0
lea ecx, [esp + 0x2024]
call fcn.004680a0
push ebx
lea eax, [esp + 0x13cc]
push eax
lea ecx, [esp + 0x5a10]
push ecx
lea edx, [esp + 0x5214]
push edx
call fcn.004332b0
test al, al
je 0x48ccfa
mov eax, dword [esp + 0x1fc8]
mov ecx, dword [esp + 0x1fcc]
mov dword [esp + 0x1398], eax
mov dword [esp + 0x139c], ecx
lea edx, [esp + 0x798]
push edx
lea ecx, [esp + 0x284]
call fcn.0043cb60
lea ecx, [esp + 0x280]
call fcn.0043cdf0
jmp 0x48cdcb
lea ecx, [esp + 0x48]
call fcn.00465890
mov byte [esp + 0x6614], 2
lea edi, [esp + 0x48]
cmp esi, ebx
je 0x48cd3c
mov edi, esi
jmp 0x48cd4c
push ebx
lea eax, [esp + 0x4c]
push eax
mov ecx, 0x4dfee0
call fcn.0043ee00
push ebx
push ebx
push 1
push 1
push 1
lea ecx, [esp + 0x294]
push ecx
push 3
push edi
call fcn.0045e3e0
test al, al
jne 0x48cd95
mov byte [esp + 0x6614], 1
lea ecx, [esp + 0x48]
call fcn.00465510
mov dword [esp + 0x6614], 0xffffffff
lea ecx, [esp + 0x280]
call fcn.0048b540
jmp 0x48e0cd
xor esi, esi
cmp dword [esp + 0x384], ebx
jbe 0x48cdba
push esi
lea ecx, [esp + 0x284]
call fcn.00405b70
inc esi
mov dword [eax + 8], ebx
cmp esi, dword [esp + 0x384]
jb 0x48cda0
mov byte [esp + 0x6614], 1
lea ecx, [esp + 0x48]
call fcn.00465510
mov edx, dword [str.InterfaceConvertProfile]
push 0x4f8570
push edx
call fcn.00456ed0
mov eax, dword [0x4dc1c8]
push eax
mov byte [esp + 0x1a], 0
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov edx, dword [0x4c9360]
neg eax
lea ecx, [esp + 0x280]
push ecx
sbb eax, eax
and eax, dword [0x4dc1c8]
push 0x48b590
push eax
push str.CONVERTARC
push edx
mov dword [esp + 0x34], ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
test eax, eax
je 0x48e067
xor esi, esi
push esi
push str.Background
push 0x4f8570
call fcn.00456960
test eax, eax
jne 0x48ce51
cmp dword [0x4dbc60], 1
jne 0x48ce4a
cmp byte [0x4e6942], al
jne 0x48ce51
mov byte [esp + 0x1c], 0
jmp 0x48ce56
mov byte [esp + 0x1c], 1
mov eax, dword [esp + 0x1c]
push esi
push eax
push esi
push 8
call fcn.00481a20
lea ecx, [esp + 0x5608]
push ecx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
xor edi, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [0x4dbcb0], esi
mov dword [0x4dbcb4], esi
cmp dword [esp + 0x384], esi
jbe 0x48ced0
mov edi, edi
push edi
lea ecx, [esp + 0x284]
call fcn.00405b70
test byte [eax + 8], 8
je 0x48cec6
mov edx, dword [eax + 0x10]
add dword [0x4dbcb0], edx
mov eax, dword [eax + 0x14]
adc dword [0x4dbcb4], eax
inc esi
inc edi
cmp edi, dword [esp + 0x384]
jb 0x48cea0
push 0x480
lea ecx, [esp + 0x350c]
push ecx
xor ebp, ebp
push ebp
push esi
call fcn.004449e0
mov eax, dword [0x4db83c]
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea edx, [esp + 0x3508]
push edx
push 0x65
push eax
call ebx
or esi, 0xffffffff
mov dword [0x4dc168], ebp
mov dword [0x4dc16c], ebp
mov dword [esp + 0x3c], ebp
cmp dword [0x4dc178], ebp
jne 0x48d798
cmp dword [0x4db840], 0
jne 0x48d7af
mov edx, dword [esp + 0x20]
push 0x480
lea ecx, [esp + 0x350c]
push ecx
push 0
push edx
call fcn.004449e0
mov ecx, dword [0x4db83c]
lea eax, [esp + 0x3508]
push eax
push 0x66
push ecx
call ebx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push 0x480
lea edx, [esp + 0x350c]
push edx
push eax
push ecx
call fcn.004449e0
mov eax, dword [0x4db83c]
lea edx, [esp + 0x3508]
push edx
push 0x67
push eax
call ebx
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push 0x480
lea ecx, [esp + 0x350c]
push ecx
push edx
push eax
call fcn.004449e0
mov edx, dword [0x4db83c]
lea ecx, [esp + 0x3508]
push ecx
push 0x68
push edx
call ebx
cmp esi, 0xffffffff
je 0x48cfe8
push esi
lea eax, [esp + 0x79c]
push eax
lea ecx, [esp + 0x288]
call fcn.0043cd40
mov ecx, dword [eax + 0xc00]
add dword [0x4dc168], ecx
mov edx, dword [eax + 0xc04]
adc dword [0x4dc16c], edx
or esi, 0xffffffff
call fcn.00480cd0
cmp ebp, dword [esp + 0x384]
jge 0x48d798
push ebp
lea ecx, [esp + 0x284]
call fcn.00405b70
mov edi, eax
test byte [edi + 8], 8
mov dword [esp + 0x18], edi
je 0x48d786
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push 1
push 0
push eax
push ecx
mov esi, ebp
mov ecx, 0x4e0c08
mov dword [esp + 0x54], esi
call fcn.004145d0
cmp eax, 1
jne 0x48d786
lea edx, [esp + 0x140]
push edx
mov ecx, 0x4e0c08
call fcn.004136e0
lea ecx, [esp + 0x1fdc]
call fcn.004680a0
lea ecx, [esp + 0x2000]
call fcn.004680a0
lea ecx, [esp + 0x2024]
call fcn.004680a0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
push 0
lea eax, [esp + 0x13cc]
push eax
push ecx
push edx
call fcn.004332b0
test al, al
je 0x48d786
cmp byte [0x4e52b8], 0
jne 0x48d0bd
cmp dword [esp + 0x1cc], 0
je 0x48d0bd
push 0x50e
call fcn.0045bde0
push eax
mov eax, dword [edi]
push eax
call fcn.00445390
add esp, 8
jmp 0x48d786
lea ecx, [esp + 0x4a08]
push ecx
push str.Rar_CVXXXXXX
call fcn.0047f0a0
test al, al
je 0x48d786
lea edx, [esp + 0x4a08]
push edx
call fcn.004ac458
mov esi, 1
add esp, 4
cmp dword [0x4dbc60], esi
jne 0x48d0fe
mov ecx, 0x4e2ea0
call fcn.0041c150
call fcn.0047b360
push 0x4e798c
push 0x4e758c
mov ecx, 0x4e0c08
call fcn.00413690
mov eax, dword [0x4e0e10]
mov dword [0x4e613c], eax
call fcn.004771b0
mov ecx, dword [0x4e818c]
mov eax, 4
push 0x4b175c
mov dword [0x4e5744], esi
mov dword [0x4e5d28], eax
mov dword [0x4e5d2c], eax
call fcn.00465910
push 0x4e758c
push 0x20a
call fcn.0045bde0
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049deb5
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f870
cmp byte [0x4e5d22], 0
mov eax, dword [0x4f8648]
mov dword [esp + 0x1c], eax
je 0x48d196
mov byte [0x4e5d22], 0
mov byte [esp + 0x16], 1
push 0
push 0
mov ecx, 0x4e0c08
call fcn.00416240
cmp dword [0x4db840], 0
jne 0x48d75b
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [0x4f8648]
jne 0x48d75b
push 0x4f8570
call fcn.0047b750
cmp byte [0x4e42b0], 0
mov edx, dword [0x4e578c]
mov dword [esp + 0x40], edx
mov byte [0x4e585a], 0
jne 0x48d247
xor edi, edi
push edi
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x4e0c08
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edi
call fcn.00413b30
cmp dword [esp + 0x24], edi
jbe 0x48d23a
push 0x4e42b0
push str.Rar_CMXXXXXX
call fcn.0047efc0
mov esi, eax
cmp esi, edi
je 0x48d23a
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
push esi
push edx
push 1
push eax
call fcn.0049f602
push esi
call fcn.0049f426
add esp, 0x14
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0049e845
add esp, 4
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push 0x400
lea edx, [esp + 0x620c]
push edx
push eax
call fcn.0044dff0
xor eax, eax
jmp 0x48d270
mov cl, byte [esp + eax + 0x38c]
mov byte [esp + eax + 0x4608], cl
inc eax
test cl, cl
jne 0x48d270
cmp byte [esp + 0x4608], cl
je 0x48d299
lea ecx, [esp + 0x4608]
push ecx
call fcn.0044dfb0
mov edx, dword [esi]
push edx
call fcn.0044f480
cmp dword [0x4e613c], 0
mov byte [esp + 0x17], al
jne 0x48d2ba
mov ebx, 0x4b1774
mov ebp, 0x4b5774
jmp 0x48d2c4
mov ebx, 0x4b19b8
mov ebp, 0x4b576c
cmp byte [0x4e32b0], 0
je 0x48d2d7
mov ebx, 0x4b1778
mov ebp, 0x4b3898
mov edi, dword [esp + 0x18]
mov eax, dword [edi]
push ebx
push eax
call fcn.0044df20
test al, al
je 0x48d37b
cmp byte [esp + 0x4608], 0
je 0x48d30f
lea ecx, [esp + 0x6208]
push ecx
lea edx, [esp + 0x460c]
push edx
call fcn.004652e0
test eax, eax
jne 0x48d37b
mov byte [esp + 0x15], 1
xor eax, eax
jmp 0x48d320
mov cl, byte [esp + eax + 0x4a08]
mov byte [eax + 0x4e758c], cl
inc eax
test cl, cl
jne 0x48d320
push 0x4e758c
call fcn.0044dfb0
mov eax, dword [edi + 4]
test eax, eax
je 0x48d3e0
cmp word [eax], 0
je 0x48d3e0
push 0x1000000
push 0x4e798c
push 0x4e758c
call fcn.0046d7e0
mov eax, dword [edi + 4]
push eax
call fcn.0044dbb0
push eax
push 0x4e798c
call fcn.0046db40
jmp 0x48d3e9
cmp byte [esp + 0x4608], 0
mov byte [esp + 0x15], 0
je 0x48d4bc
xor eax, eax
mov cl, byte [esp + eax + 0x4608]
mov byte [eax + 0x4e758c], cl
inc eax
test cl, cl
jne 0x48d390
mov edx, dword [edi]
push edx
call fcn.0044db30
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x48d3b0
mov edi, 0x4e758c
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48d3c1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x18]
jmp 0x48d4cd
xor ecx, ecx
mov word [0x4e798c], cx
mov edx, dword [edi]
push edx
call fcn.0044db30
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x48d3f3
mov edi, 0x4e758c
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48d404
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x4e758c
rep movsb byte es:[edi], byte [esi]
call fcn.0044dec0
mov esi, eax
test esi, esi
je 0x48d5db
push 0x4e758c
mov byte [esi], 0
call fcn.0044dec0
mov byte [esi], 0x2e
test eax, eax
je 0x48d5db
cmp byte [esp + 0x17], 0
je 0x48d5db
cmp dword [esp + 0x150], 0
jne 0x48d5db
cmp dword [esp + 0x1b4], 0
je 0x48d5db
mov edx, eax
mov ecx, esi
sub edx, esi
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x48d473
push 0x4e798c
call fcn.0044def0
mov esi, eax
test esi, esi
je 0x48d5db
xor eax, eax
push 0x4e798c
mov word [esi], ax
call fcn.0044def0
mov ecx, 0x2e
mov word [esi], cx
test eax, eax
je 0x48d5db
push esi
push eax
call fcn.0046dae0
jmp 0x48d5db
mov ecx, dword [edi]
mov edx, 0x4e758c
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x48d4c3
push 0x4e758c
call fcn.0044dec0
mov esi, eax
test esi, esi
je 0x48d530
push 0x4e758c
mov byte [esi], 0
call fcn.0044dec0
test eax, eax
je 0x48d52d
push str..tar
push eax
call fcn.004652e0
test eax, eax
je 0x48d518
cmp byte [esp + 0x17], 0
je 0x48d52d
cmp dword [esp + 0x150], 0
jne 0x48d52d
cmp dword [esp + 0x1b4], 0
je 0x48d52d
push 0x4e798c
call fcn.0044def0
test eax, eax
je 0x48d530
xor ecx, ecx
mov word [eax], cx
jmp 0x48d530
mov byte [esi], 0x2e
push ebx
push 0x4e758c
call fcn.0044f530
mov eax, dword [edi + 4]
test eax, eax
je 0x48d5a2
cmp word [eax], 0
je 0x48d5a2
cmp byte [esp + 0x4608], 0
je 0x48d58a
push 0x1000000
push 0x4e798c
lea edx, [esp + 0x4610]
push edx
call fcn.0046d7e0
mov eax, dword [edi + 4]
push eax
call fcn.0044dbb0
push eax
push 0x4e798c
call fcn.0046db40
push ebp
push 0x4e798c
call fcn.0044f5d0
jmp 0x48d5ab
push eax
push 0x4e798c
call fcn.0046dae0
push ebp
push 0x4e798c
call fcn.0044f5d0
jmp 0x48d5ab
xor ecx, ecx
mov word [0x4e798c], cx
push 0x4e798c
push 0x4e758c
call fcn.0042f950
test al, al
je 0x48d5db
push 0x50d
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 8
mov byte [esp + 0x15], 1
mov esi, dword [esp + 0x1c]
cmp esi, dword [0x4f8648]
jne 0x48d681
lea edx, [esp + 0x4a08]
push edx
call fcn.004ac458
mov ecx, dword [0x4e818c]
add esp, 4
push 0x4b175c
mov dword [0x4e576c], 3
mov dword [0x4e5768], 1
mov byte [0x4e57a3], 0
mov byte [0x4e57a7], 0
call fcn.00465910
push 0x4e758c
call fcn.0044db30
push eax
push 0x208
call fcn.0045bde0
push eax
lea eax, [esp + 0x3510]
push eax
call fcn.0049deb5
add esp, 0xc
lea ecx, [esp + 0x3508]
push ecx
call fcn.0047f870
cmp byte [0x4e5d22], 0
je 0x48d675
mov byte [0x4e5d22], 0
mov byte [esp + 0x16], 1
push 0
mov ecx, 0x4e0c08
call fcn.004154f0
cmp byte [0x4e42b0], 0
je 0x48d696
push 0
push 0x4e42b0
call fcn.0047f410
cmp dword [0x4db840], 0
jne 0x48d747
cmp esi, dword [0x4f8648]
jne 0x48d747
push 1
push 0
push 0x4e798c
push 0x4e758c
mov ecx, 0x4e0c08
call fcn.004145d0
cmp eax, 1
jne 0x48d747
lea edx, [esp + 0x1e0]
push edx
mov ecx, 0x4e0c08
call fcn.004136e0
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
cmp eax, dword [esp + 0x240]
jne 0x48d702
cmp ecx, dword [esp + 0x244]
je 0x48d7de
or eax, ecx
je 0x48d7de
push 0x4b1a58
lea eax, [esp + 0x144]
push eax
call fcn.004652e0
test eax, eax
jne 0x48d72d
cmp dword [esp + 0x1b4], eax
jne 0x48d7de
push 0x50a
call fcn.0045bde0
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
push edx
call fcn.00445390
add esp, 8
cmp byte [esp + 0x15], 0
jne 0x48d75b
push 0x4e758c
call fcn.004a124d
add esp, 4
lea ecx, [esp + 0x5608]
push ecx
call fcn.004ac458
add esp, 4
lea edx, [esp + 0x4a08]
push edx
call fcn.0047f200
mov ebp, dword [esp + 0x3c]
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov esi, dword [esp + 0x44]
inc ebp
cmp dword [0x4dc178], 0
mov dword [esp + 0x3c], ebp
je 0x48cf1d
cmp dword [0x4db840], 0
jne 0x48d7af
cmp dword [0x4dc178], 0
mov eax, 0x4d0
je 0x48d7b4
mov eax, 0x271
push eax
call fcn.0045bde0
push eax
call fcn.0047f870
cmp dword [0x4dc178], 0
je 0x48dfec
mov eax, dword [0x4db83c]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x48e006
mov eax, dword [esp + 0x790]
test eax, eax
je 0x48d860
mov ecx, dword [esp + 0x1ac]
push ecx
mov ecx, dword [esp + 0x1ac]
cdq
push ecx
push edx
push eax
call fcn.0049ea60
push 0
mov esi, edx
mov edx, dword [esp + 0x250]
push 0x64
mov edi, eax
mov eax, dword [esp + 0x250]
push edx
push eax
call fcn.0049ea60
cmp esi, edx
jg 0x48d860
jl 0x48d828
cmp edi, eax
jae 0x48d860
push 0x4e758c
call fcn.0044db30
push eax
push 0x50f
call fcn.0045bde0
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049deb5
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f870
jmp 0x48d747
xor edi, edi
xor eax, eax
mov esi, 1
lea esp, [esp]
mov cl, byte [eax + 0x4e52b8]
mov byte [esp + eax + 0x3988], cl
add eax, esi
test cl, cl
jne 0x48d870
cmp dword [0x4dbc60], esi
jne 0x48d895
mov ecx, 0x4e2ea0
call fcn.0041c150
call fcn.0047b360
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x3988]
mov byte [eax + 0x4e52b8], cl
add eax, esi
test cl, cl
jne 0x48d8a0
push 0x4e798c
push 0x4e758c
mov ecx, 0x4e0c08
call fcn.00413690
mov eax, dword [0x4e0e10]
mov ecx, dword [0x4e818c]
push 0x4b175c
mov dword [0x4e613c], eax
mov byte [0x4e585a], 1
mov dword [0x4e57fc], edi
mov dword [0x4e5820], edi
call fcn.00465910
push 0x4e758c
call fcn.0044db30
push eax
push 0x20b
call fcn.0045bde0
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049deb5
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f870
cmp byte [0x4e5d22], 0
je 0x48d93c
mov byte [0x4e5d22], 0
mov byte [esp + 0x16], 1
push edi
push edi
mov ecx, 0x4e0c08
call fcn.00416240
cmp dword [0x4db840], edi
jne 0x48d747
mov eax, dword [esp + 0x1c]
cmp eax, dword [0x4f8648]
jne 0x48d747
mov ecx, dword [esp + 0x240]
or ecx, dword [esp + 0x244]
jne 0x48d999
cmp dword [esp + 0x1fcc], edi
jl 0x48d999
jg 0x48d98c
cmp dword [esp + 0x1fc8], 0x200
jb 0x48d999
cmp dword [esp + 0x198], esi
jbe 0x48d747
mov eax, dword [esp + 0x790]
cmp eax, edi
je 0x48d9eb
mov ecx, dword [esp + 0x1ac]
push ecx
mov ecx, dword [esp + 0x1ac]
cdq
push ecx
push edx
push eax
call fcn.0049ea60
push 0
mov esi, edx
mov edx, dword [esp + 0x250]
push 0x64
mov edi, eax
mov eax, dword [esp + 0x250]
push edx
push eax
call fcn.0049ea60
cmp esi, edx
jl 0x48d747
jg 0x48d9eb
cmp edi, eax
jb 0x48d747
push 0x4e758c
call fcn.0044db30
push eax
push 0x25a
call fcn.0045bde0
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049deb5
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f870
mov eax, dword [esp + 0x1fc8]
inc dword [esp + 0x20]
add dword [esp + 0x28], eax
mov ecx, dword [esp + 0x1fcc]
adc dword [esp + 0x2c], ecx
lea ecx, [esp + 0x2468]
call fcn.00401140
push 0
lea edx, [esp + 0x246c]
push edx
push 0x4e798c
push 0x4e758c
call fcn.004332b0
test al, al
je 0x48da77
mov eax, dword [esp + 0x3068]
add dword [esp + 0x34], eax
mov ecx, dword [esp + 0x306c]
adc dword [esp + 0x38], ecx
cmp byte [esp + 0x15], 0
je 0x48de12
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 0
push 1
push edx
push eax
mov ecx, 0x4e0c08
call fcn.004145d0
cmp eax, 1
jne 0x48d75b
lea ecx, [esp + 0x48]
call fcn.00465890
mov byte [esp + 0x6614], 3
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
lea edx, [esp + 0x4208]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x48dac4
mov ecx, dword [esi + 4]
push ecx
call fcn.00464fe0
push eax
lea edx, [esp + 0x79c]
push edx
call fcn.0046dae0
mov edi, dword [sym.imp.KERNEL32.dll_MoveFileA]
mov byte [esp + 0x15], 0
lea eax, [esp + 0x4208]
push eax
lea ecx, [esp + 0x3e0c]
push str._s._cvtbackup_
push ecx
call fcn.0049deb5
add esp, 0xc
lea edx, [esp + 0x3e08]
push edx
lea eax, [esp + 0x420c]
push eax
call edi
test eax, eax
je 0x48dcbd
lea ecx, [esp + 0x4208]
push ecx
lea ecx, [esp + 0x4c]
call fcn.00465910
lea edx, [esp + 0x3e08]
push edx
lea ecx, [esp + 0x4c]
call fcn.00465910
lea eax, [esp + 0x798]
push eax
lea ecx, [esp + 0x420c]
push ecx
mov ecx, 0x4e0c08
call fcn.00413da0
test al, al
je 0x48db84
lea edx, [esp + 0x798]
push edx
lea eax, [esp + 0x420c]
push eax
call fcn.0042f950
test al, al
jne 0x48daf0
push 0
push 1
push 0x4e798c
push 0x4e758c
mov ecx, 0x4e0c08
call fcn.004145d0
cmp eax, 1
jne 0x48dccf
xor eax, eax
jmp 0x48dbb0
mov cl, byte [eax + 0x4e758c]
mov byte [esp + eax + 0x4208], cl
inc eax
test cl, cl
jne 0x48dbb0
push 0x4e798c
lea ecx, [esp + 0x79c]
push ecx
call fcn.0046dae0
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, dword [sym.imp.KERNEL32.dll_SetFileTime]
mov ebx, dword [esp + 0x40]
mov eax, dword [esi]
lea edx, [esp + 0x3e08]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x48dbf0
lea edx, [esp + 0x4208]
push edx
call fcn.0044db30
mov esi, eax
lea eax, [esp + 0x3e08]
push eax
call fcn.0044db30
mov cl, byte [esi]
mov byte [eax], cl
inc esi
inc eax
test cl, cl
jne 0x48dc16
lea ecx, [esp + 0x3e08]
push ecx
lea edx, [esp + 0x420c]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
je 0x48dcc4
test ebx, ebx
je 0x48dc47
cmp ebx, 1
jne 0x48dc7d
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea eax, [esp + 0x3e20]
push eax
call edi
mov esi, eax
cmp esi, 0xffffffff
je 0x48dc7d
lea ecx, [esp + 0x2458]
push ecx
push 0
push 0
push esi
call ebp
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [esp + 0x798]
push edx
lea eax, [esp + 0x420c]
push eax
mov ecx, 0x4e0c08
call fcn.00413da0
test al, al
je 0x48dcc9
lea ecx, [esp + 0x798]
push ecx
lea edx, [esp + 0x420c]
push edx
call fcn.0042f950
test al, al
je 0x48dcc9
mov esi, dword [esp + 0x18]
jmp 0x48dbe4
mov byte [esp + 0x15], 1
jmp 0x48dccf
mov byte [esp + 0x15], 1
mov edi, dword [sym.imp.KERNEL32.dll_MoveFileA]
xor bl, bl
cmp byte [esp + 0x78c], bl
jne 0x48dd54
push 0x400
lea eax, [esp + 0x3a0c]
push eax
lea ecx, [esp + 0x50]
mov bl, 1
call fcn.00465ad0
test al, al
je 0x48dd4b
lea ebx, [ebx]
push 0x400
lea ecx, [esp + 0x4e0c]
push ecx
lea ecx, [esp + 0x50]
call fcn.00465ad0
test al, al
je 0x48dd4b
push 0
lea edx, [esp + 0x3a0c]
push edx
call fcn.0042f950
test al, al
jne 0x48dd49
push 0x400
lea eax, [esp + 0x3a0c]
push eax
lea ecx, [esp + 0x50]
call fcn.00465ad0
test al, al
jne 0x48dd00
jmp 0x48dd4b
xor bl, bl
lea ecx, [esp + 0x48]
call fcn.00465490
push 0x400
lea ecx, [esp + 0x3a0c]
push ecx
lea ecx, [esp + 0x50]
call fcn.00465ad0
test al, al
je 0x48ddfc
push 0x400
lea edx, [esp + 0x4e0c]
push edx
lea ecx, [esp + 0x50]
call fcn.00465ad0
test al, al
je 0x48ddfc
cmp byte [esp + 0x15], 0
jne 0x48ddb8
test bl, bl
jne 0x48ddcc
push 0
lea eax, [esp + 0x4e0c]
push eax
call fcn.00430790
lea ecx, [esp + 0x4e08]
push ecx
call fcn.004a124d
add esp, 4
jmp 0x48ddde
test bl, bl
jne 0x48ddcc
lea edx, [esp + 0x3a08]
push edx
call fcn.004a124d
add esp, 4
lea eax, [esp + 0x3a08]
push eax
lea ecx, [esp + 0x4e0c]
push ecx
call edi
push 0x400
lea edx, [esp + 0x3a0c]
push edx
lea ecx, [esp + 0x50]
call fcn.00465ad0
test al, al
jne 0x48dd72
mov byte [esp + 0x6614], 1
lea ecx, [esp + 0x48]
call fcn.00465510
jmp 0x48d75b
cmp byte [esp + 0x78c], 0
je 0x48df01
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push 0
push 1
push eax
push ecx
mov ecx, 0x4e0c08
call fcn.004145d0
cmp eax, 1
jne 0x48df01
mov eax, dword [esi]
lea edx, [esp + 0x3a08]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x48de50
mov edx, dword [esi + 4]
push edx
call fcn.00464fe0
push eax
lea eax, [esp + 0x79c]
push eax
call fcn.0046dae0
lea ecx, [esp + 0x3a08]
push ecx
call fcn.0044db30
push eax
push 0x258
call fcn.0045bde0
push eax
lea edx, [esp + 0x3510]
push edx
call fcn.0049deb5
add esp, 0xc
lea eax, [esp + 0x3508]
push eax
call fcn.0047f870
push 0
lea ecx, [esp + 0x3a0c]
push ecx
call fcn.00430790
lea edx, [esp + 0x3a08]
push edx
call fcn.004a124d
add esp, 4
lea eax, [esp + 0x798]
push eax
lea ecx, [esp + 0x3a0c]
push ecx
mov ecx, 0x4e0c08
call fcn.00413da0
test al, al
je 0x48df01
lea edx, [esp + 0x798]
push edx
lea eax, [esp + 0x3a0c]
push eax
call fcn.0042f950
test al, al
jne 0x48de71
push 0
push 1
push 0x4e798c
push 0x4e758c
mov ecx, 0x4e0c08
call fcn.004145d0
cmp eax, 1
jne 0x48d75b
xor eax, eax
jmp 0x48df30
mov cl, byte [eax + 0x4e758c]
mov byte [esp + eax + 0x3e08], cl
inc eax
test cl, cl
jne 0x48df30
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 4]
push edx
call fcn.00464fe0
push eax
lea eax, [esp + 0x79c]
push eax
call fcn.0046dae0
mov eax, dword [esp + 0x40]
test eax, eax
je 0x48df6a
cmp eax, 1
jne 0x48dfa8
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea ecx, [esp + 0x3e20]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x48dfa8
lea edx, [esp + 0x2458]
push edx
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x798]
push eax
lea ecx, [esp + 0x3e0c]
push ecx
mov ecx, 0x4e0c08
call fcn.00413da0
test al, al
je 0x48d75b
lea edx, [esp + 0x798]
push edx
lea eax, [esp + 0x3e0c]
push eax
call fcn.0042f950
test al, al
jne 0x48df5d
jmp 0x48d75b
push 0
push 0
push 0
push 0
push 0
push 1
push 0
push 1
call fcn.00480000
call fcn.0047f910
cmp dword [0x4dbc5c], 0
je 0x48e049
push 0
push 0
lea ecx, [esp + 0x5a10]
push ecx
lea edx, [esp + 0x5214]
push edx
mov ecx, 0x4e0c08
call fcn.004145d0
cmp eax, 1
je 0x48e040
mov ecx, 0x4dfee0
call fcn.00440a40
test al, al
jne 0x48e050
cmp dword [0x4dbc5c], 0
jne 0x48e067
cmp dword [esp + 0x20], 0
jbe 0x48e067
push 0
push 0x4e758c
call fcn.0044db30
push eax
mov ecx, 0x4dfee0
call fcn.00440fc0
cmp byte [esp + 0x794], 0
je 0x48e081
mov eax, dword [str.InterfaceConvertProfile]
push eax
push 0x4f8570
call fcn.00456ed0
push 0x4f8570
call fcn.00456fa0
cmp byte [esp + 0x16], 0
je 0x48e097
call fcn.0047e930
mov dword [esp + 0x6614], 5
mov eax, dword [esp + 0x378]
test eax, eax
je 0x48e0b6
push eax
call fcn.0049dbfd
add esp, 4
mov dword [esp + 0x6614], 0xffffffff
lea ecx, [esp + 0x280]
call fcn.00465510
mov ecx, dword [esp + 0x660c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x65f4]
xor ecx, esp
call fcn.0049dea6
add esp, 0x6604
ret 4