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

Disassembly:
push 0xffffffffffffffff
push 0x4b014d
mov eax, dword fs:[0]
push eax
mov eax, 0x65f8
call fcn.0049ebb0
mov eax, dword [0x4c03a0]
xor eax, esp
mov dword [esp + 0x65f4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c03a0]
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 0x4f81e8
call fcn.0049e635
add esp, 0x10
lea ecx, [esp + 0x280]
call fcn.0043d260
mov dword [esp + 0x6614], 1
xor ebx, ebx
mov byte [esp + 0x794], bl
cmp dword [0x4dbca4], ebx
je 0x48e1ef
lea ecx, [esp + 0x5a08]
push ecx
lea edx, [esp + 0x520c]
push edx
mov ecx, 0x4e0c60
call fcn.00413520
push 0xc30
lea eax, [esp + 0x79c]
push ebx
push eax
call fcn.0049ebe0
add esp, 0xc
xor eax, eax
jmp 0x48e140
mov cl, byte [esp + eax + 0x5208]
mov byte [esp + eax + 0x798], cl
inc eax
test cl, cl
jne 0x48e140
lea ecx, [esp + 0x5a08]
push ecx
lea edx, [esp + 0xb9c]
push edx
call fcn.0046db30
lea ecx, [esp + 0x1fdc]
call fcn.004680f0
lea ecx, [esp + 0x2000]
call fcn.004680f0
lea ecx, [esp + 0x2024]
call fcn.004680f0
push ebx
lea eax, [esp + 0x13cc]
push eax
lea ecx, [esp + 0x5a10]
push ecx
lea edx, [esp + 0x5214]
push edx
call fcn.004335f0
test al, al
je 0x48e1ca
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.0043ceb0
lea ecx, [esp + 0x280]
call fcn.0043d140
jmp 0x48e29b
lea ecx, [esp + 0x48]
call fcn.004658e0
mov byte [esp + 0x6614], 2
lea edi, [esp + 0x48]
cmp esi, ebx
je 0x48e20c
mov edi, esi
jmp 0x48e21c
push ebx
lea eax, [esp + 0x4c]
push eax
mov ecx, 0x4dff38
call fcn.0043f170
push ebx
push ebx
push 1
push 1
push 1
lea ecx, [esp + 0x294]
push ecx
push 3
push edi
call fcn.0045e440
test al, al
jne 0x48e265
mov byte [esp + 0x6614], 1
lea ecx, [esp + 0x48]
call fcn.00465560
mov dword [esp + 0x6614], 0xffffffff
lea ecx, [esp + 0x280]
call fcn.0048b6e0
jmp 0x48f59d
xor esi, esi
cmp dword [esp + 0x384], ebx
jbe 0x48e28a
push esi
lea ecx, [esp + 0x284]
call fcn.0043d250
inc esi
mov dword [eax + 8], ebx
cmp esi, dword [esp + 0x384]
jb 0x48e270
mov byte [esp + 0x6614], 1
lea ecx, [esp + 0x48]
call fcn.00465560
mov edx, dword [str.InterfaceConvertProfile]
push 0x4f81e8
push edx
call fcn.00456eb0
mov eax, dword [0x4dc210]
push eax
mov byte [esp + 0x1a], 0
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov edx, dword [0x4c93a8]
neg eax
lea ecx, [esp + 0x280]
push ecx
sbb eax, eax
and eax, dword [0x4dc210]
push 0x48b730
push eax
push str.CONVERTARC
push edx
mov dword [esp + 0x34], ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
test eax, eax
je 0x48f537
xor esi, esi
push esi
push str.Background
push 0x4f81e8
call fcn.00456940
test eax, eax
jne 0x48e321
cmp dword [0x4dbca8], 1
jne 0x48e31a
cmp byte [0x4e699a], al
jne 0x48e321
mov byte [esp + 0x1c], 0
jmp 0x48e326
mov byte [esp + 0x1c], 1
mov eax, dword [esp + 0x1c]
push esi
push eax
push esi
push 8
call fcn.00481ad0
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 [0x4dbcf8], esi
mov dword [0x4dbcfc], esi
cmp dword [esp + 0x384], esi
jbe 0x48e3a0
mov edi, edi
push edi
lea ecx, [esp + 0x284]
call fcn.0043d250
test byte [eax + 8], 8
je 0x48e396
mov edx, dword [eax + 0x10]
add dword [0x4dbcf8], edx
mov eax, dword [eax + 0x14]
adc dword [0x4dbcfc], eax
inc esi
inc edi
cmp edi, dword [esp + 0x384]
jb 0x48e370
push 0x480
lea ecx, [esp + 0x350c]
push ecx
xor ebp, ebp
push ebp
push esi
call fcn.00444e50
mov eax, dword [0x4db884]
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 [0x4dc1b0], ebp
mov dword [0x4dc1b4], ebp
mov dword [esp + 0x3c], ebp
cmp dword [0x4dc1c0], ebp
jne 0x48ec68
cmp dword [0x4db888], 0
jne 0x48ec7f
mov edx, dword [esp + 0x20]
push 0x480
lea ecx, [esp + 0x350c]
push ecx
push 0
push edx
call fcn.00444e50
mov ecx, dword [0x4db884]
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.00444e50
mov eax, dword [0x4db884]
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.00444e50
mov edx, dword [0x4db884]
lea ecx, [esp + 0x3508]
push ecx
push 0x68
push edx
call ebx
cmp esi, 0xffffffff
je 0x48e4b8
push esi
lea eax, [esp + 0x79c]
push eax
lea ecx, [esp + 0x288]
call fcn.0043d090
mov ecx, dword [eax + 0xc00]
add dword [0x4dc1b0], ecx
mov edx, dword [eax + 0xc04]
adc dword [0x4dc1b4], edx
or esi, 0xffffffff
call fcn.00480d50
cmp ebp, dword [esp + 0x384]
jge 0x48ec68
push ebp
lea ecx, [esp + 0x284]
call fcn.0043d250
mov edi, eax
test byte [edi + 8], 8
mov dword [esp + 0x18], edi
je 0x48ec56
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push 1
push 0
push eax
push ecx
mov esi, ebp
mov ecx, 0x4e0c60
mov dword [esp + 0x54], esi
call fcn.00414490
cmp eax, 1
jne 0x48ec56
lea edx, [esp + 0x140]
push edx
mov ecx, 0x4e0c60
call fcn.00413570
lea ecx, [esp + 0x1fdc]
call fcn.004680f0
lea ecx, [esp + 0x2000]
call fcn.004680f0
lea ecx, [esp + 0x2024]
call fcn.004680f0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
push 0
lea eax, [esp + 0x13cc]
push eax
push ecx
push edx
call fcn.004335f0
test al, al
je 0x48ec56
cmp byte [0x4e5310], 0
jne 0x48e58d
cmp dword [esp + 0x1cc], 0
je 0x48e58d
push 0x50e
call fcn.0045be10
push eax
mov eax, dword [edi]
push eax
call fcn.0048d240
add esp, 8
jmp 0x48ec56
lea ecx, [esp + 0x4a08]
push ecx
push str.Rar_CVXXXXXX
call fcn.0047f110
test al, al
je 0x48ec56
lea edx, [esp + 0x4a08]
push edx
call fcn.004acbe8
mov esi, 1
add esp, 4
cmp dword [0x4dbca8], esi
jne 0x48e5ce
mov ecx, 0x4e2ef8
call fcn.0041c180
call fcn.0047b3d0
call fcn.00477200
push 0x4e79f4
push 0x4e75f4
mov ecx, 0x4e0c60
call fcn.00413520
mov eax, dword [0x4e0e68]
mov ecx, dword [0x4e81f4]
mov dword [0x4e6194], eax
mov eax, 4
push 0x4b175c
mov dword [0x4e579c], esi
mov dword [0x4e5d80], eax
mov dword [0x4e5d84], eax
call fcn.00465960
push 0x4e75f4
push 0x20a
call fcn.0045be10
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049e635
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f8e0
cmp byte [0x4e5d7a], 0
mov eax, dword [0x4f82c0]
mov dword [esp + 0x1c], eax
je 0x48e666
mov byte [0x4e5d7a], 0
mov byte [esp + 0x16], 1
push 0
push 0
mov ecx, 0x4e0c60
call fcn.004160e0
cmp dword [0x4db888], 0
jne 0x48ec2b
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [0x4f82c0]
jne 0x48ec2b
push 0x4f81e8
call fcn.0047b7c0
cmp byte [0x4e4308], 0
mov edx, dword [0x4e57e4]
mov dword [esp + 0x40], edx
mov byte [0x4e58b2], 0
jne 0x48e717
xor edi, edi
push edi
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x4e0c60
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edi
call fcn.004139c0
cmp dword [esp + 0x24], edi
jbe 0x48e70a
push 0x4e4308
push str.Rar_CMXXXXXX
call fcn.0047f030
mov esi, eax
cmp esi, edi
je 0x48e70a
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
push esi
push edx
push 1
push eax
call fcn.0049fd82
push esi
call fcn.0049fba6
add esp, 0x14
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0049efc5
add esp, 4
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push 0x400
lea edx, [esp + 0x620c]
push edx
push eax
call fcn.0044dfb0
xor eax, eax
jmp 0x48e740
mov cl, byte [esp + eax + 0x38c]
mov byte [esp + eax + 0x4608], cl
inc eax
test cl, cl
jne 0x48e740
cmp byte [esp + 0x4608], cl
je 0x48e769
lea ecx, [esp + 0x4608]
push ecx
call fcn.0044df70
mov edx, dword [esi]
push edx
call fcn.0044f440
cmp dword [0x4e6194], 0
mov byte [esp + 0x17], al
jne 0x48e78a
mov ebx, 0x4b1774
mov ebp, 0x4b5874
jmp 0x48e794
mov ebx, 0x4b19b8
mov ebp, 0x4b586c
cmp byte [0x4e3308], 0
je 0x48e7a7
mov ebx, 0x4b1778
mov ebp, 0x4b38f4
mov edi, dword [esp + 0x18]
mov eax, dword [edi]
push ebx
push eax
call fcn.0044dee0
test al, al
je 0x48e84b
cmp byte [esp + 0x4608], 0
je 0x48e7df
lea ecx, [esp + 0x6208]
push ecx
lea edx, [esp + 0x460c]
push edx
call fcn.00465330
test eax, eax
jne 0x48e84b
mov byte [esp + 0x15], 1
xor eax, eax
jmp 0x48e7f0
mov cl, byte [esp + eax + 0x4a08]
mov byte [eax + 0x4e75f4], cl
inc eax
test cl, cl
jne 0x48e7f0
push 0x4e75f4
call fcn.0044df70
mov eax, dword [edi + 4]
test eax, eax
je 0x48e8b0
cmp word [eax], 0
je 0x48e8b0
push 0x1000000
push 0x4e79f4
push 0x4e75f4
call fcn.0046d830
mov eax, dword [edi + 4]
push eax
call fcn.0044db70
push eax
push 0x4e79f4
call fcn.0046db90
jmp 0x48e8b9
cmp byte [esp + 0x4608], 0
mov byte [esp + 0x15], 0
je 0x48e98c
xor eax, eax
mov cl, byte [esp + eax + 0x4608]
mov byte [eax + 0x4e75f4], cl
inc eax
test cl, cl
jne 0x48e860
mov edx, dword [edi]
push edx
call fcn.0044daf0
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x48e880
mov edi, 0x4e75f4
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48e891
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 0x48e99d
xor ecx, ecx
mov word [0x4e79f4], cx
mov edx, dword [edi]
push edx
call fcn.0044daf0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x48e8c3
mov edi, 0x4e75f4
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48e8d4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x4e75f4
rep movsb byte es:[edi], byte [esi]
call fcn.0044de80
mov esi, eax
test esi, esi
je 0x48eaab
push 0x4e75f4
mov byte [esi], 0
call fcn.0044de80
mov byte [esi], 0x2e
test eax, eax
je 0x48eaab
cmp byte [esp + 0x17], 0
je 0x48eaab
cmp dword [esp + 0x150], 0
jne 0x48eaab
cmp dword [esp + 0x1b4], 0
je 0x48eaab
mov edx, eax
mov ecx, esi
sub edx, esi
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x48e943
push 0x4e79f4
call fcn.0044deb0
mov esi, eax
test esi, esi
je 0x48eaab
xor eax, eax
push 0x4e79f4
mov word [esi], ax
call fcn.0044deb0
mov ecx, 0x2e
mov word [esi], cx
test eax, eax
je 0x48eaab
push esi
push eax
call fcn.0046db30
jmp 0x48eaab
mov ecx, dword [edi]
mov edx, 0x4e75f4
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x48e993
push 0x4e75f4
call fcn.0044de80
mov esi, eax
test esi, esi
je 0x48ea00
push 0x4e75f4
mov byte [esi], 0
call fcn.0044de80
test eax, eax
je 0x48e9fd
push str..tar
push eax
call fcn.00465330
test eax, eax
je 0x48e9e8
cmp byte [esp + 0x17], 0
je 0x48e9fd
cmp dword [esp + 0x150], 0
jne 0x48e9fd
cmp dword [esp + 0x1b4], 0
je 0x48e9fd
push 0x4e79f4
call fcn.0044deb0
test eax, eax
je 0x48ea00
xor ecx, ecx
mov word [eax], cx
jmp 0x48ea00
mov byte [esi], 0x2e
push ebx
push 0x4e75f4
call fcn.0044f4f0
mov eax, dword [edi + 4]
test eax, eax
je 0x48ea72
cmp word [eax], 0
je 0x48ea72
cmp byte [esp + 0x4608], 0
je 0x48ea5a
push 0x1000000
push 0x4e79f4
lea edx, [esp + 0x4610]
push edx
call fcn.0046d830
mov eax, dword [edi + 4]
push eax
call fcn.0044db70
push eax
push 0x4e79f4
call fcn.0046db90
push ebp
push 0x4e79f4
call fcn.0044f590
jmp 0x48ea7b
push eax
push 0x4e79f4
call fcn.0046db30
push ebp
push 0x4e79f4
call fcn.0044f590
jmp 0x48ea7b
xor ecx, ecx
mov word [0x4e79f4], cx
push 0x4e79f4
push 0x4e75f4
call fcn.0042fc80
test al, al
je 0x48eaab
push 0x50d
call fcn.0045be10
push eax
push 0x4e75f4
call fcn.0048d240
add esp, 8
mov byte [esp + 0x15], 1
mov esi, dword [esp + 0x1c]
cmp esi, dword [0x4f82c0]
jne 0x48eb51
lea edx, [esp + 0x4a08]
push edx
call fcn.004acbe8
mov ecx, dword [0x4e81f4]
add esp, 4
push 0x4b175c
mov dword [0x4e57c4], 3
mov dword [0x4e57c0], 1
mov byte [0x4e57fb], 0
mov byte [0x4e57ff], 0
call fcn.00465960
push 0x4e75f4
call fcn.0044daf0
push eax
push 0x208
call fcn.0045be10
push eax
lea eax, [esp + 0x3510]
push eax
call fcn.0049e635
add esp, 0xc
lea ecx, [esp + 0x3508]
push ecx
call fcn.0047f8e0
cmp byte [0x4e5d7a], 0
je 0x48eb45
mov byte [0x4e5d7a], 0
mov byte [esp + 0x16], 1
push 0
mov ecx, 0x4e0c60
call fcn.00415390
cmp byte [0x4e4308], 0
je 0x48eb66
push 0
push 0x4e4308
call fcn.0047f480
cmp dword [0x4db888], 0
jne 0x48ec17
cmp esi, dword [0x4f82c0]
jne 0x48ec17
push 1
push 0
push 0x4e79f4
push 0x4e75f4
mov ecx, 0x4e0c60
call fcn.00414490
cmp eax, 1
jne 0x48ec17
lea edx, [esp + 0x1e0]
push edx
mov ecx, 0x4e0c60
call fcn.00413570
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
cmp eax, dword [esp + 0x240]
jne 0x48ebd2
cmp ecx, dword [esp + 0x244]
je 0x48ecae
or eax, ecx
je 0x48ecae
push 0x4b1a58
lea eax, [esp + 0x144]
push eax
call fcn.00465330
test eax, eax
jne 0x48ebfd
cmp dword [esp + 0x1b4], eax
jne 0x48ecae
push 0x50a
call fcn.0045be10
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
push edx
call fcn.0048d240
add esp, 8
cmp byte [esp + 0x15], 0
jne 0x48ec2b
push 0x4e75f4
call fcn.004a1a8d
add esp, 4
lea ecx, [esp + 0x5608]
push ecx
call fcn.004acbe8
add esp, 4
lea edx, [esp + 0x4a08]
push edx
call fcn.0047f270
mov ebp, dword [esp + 0x3c]
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov esi, dword [esp + 0x44]
inc ebp
cmp dword [0x4dc1c0], 0
mov dword [esp + 0x3c], ebp
je 0x48e3ed
cmp dword [0x4db888], 0
jne 0x48ec7f
cmp dword [0x4dc1c0], 0
mov eax, 0x4d0
je 0x48ec84
mov eax, 0x271
push eax
call fcn.0045be10
push eax
call fcn.0047f8e0
cmp dword [0x4dc1c0], 0
je 0x48f4bc
mov eax, dword [0x4db884]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x48f4d6
mov eax, dword [esp + 0x790]
test eax, eax
je 0x48ed30
mov ecx, dword [esp + 0x1ac]
push ecx
mov ecx, dword [esp + 0x1ac]
cdq
push ecx
push edx
push eax
call fcn.0049f1e0
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.0049f1e0
cmp esi, edx
jg 0x48ed30
jl 0x48ecf8
cmp edi, eax
jae 0x48ed30
push 0x4e75f4
call fcn.0044daf0
push eax
push 0x50f
call fcn.0045be10
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049e635
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f8e0
jmp 0x48ec17
xor edi, edi
xor eax, eax
mov esi, 1
lea esp, [esp]
mov cl, byte [eax + 0x4e5310]
mov byte [esp + eax + 0x3988], cl
add eax, esi
test cl, cl
jne 0x48ed40
cmp dword [0x4dbca8], esi
jne 0x48ed65
mov ecx, 0x4e2ef8
call fcn.0041c180
call fcn.0047b3d0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x3988]
mov byte [eax + 0x4e5310], cl
add eax, esi
test cl, cl
jne 0x48ed70
push 0x4e79f4
push 0x4e75f4
mov ecx, 0x4e0c60
call fcn.00413520
mov eax, dword [0x4e0e68]
mov ecx, dword [0x4e81f4]
push 0x4b175c
mov dword [0x4e6194], eax
mov byte [0x4e58b2], 1
mov dword [0x4e5854], edi
mov dword [0x4e5878], edi
call fcn.00465960
push 0x4e75f4
call fcn.0044daf0
push eax
push 0x20b
call fcn.0045be10
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049e635
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f8e0
cmp byte [0x4e5d7a], 0
je 0x48ee0c
mov byte [0x4e5d7a], 0
mov byte [esp + 0x16], 1
push edi
push edi
mov ecx, 0x4e0c60
call fcn.004160e0
cmp dword [0x4db888], edi
jne 0x48ec17
mov eax, dword [esp + 0x1c]
cmp eax, dword [0x4f82c0]
jne 0x48ec17
mov ecx, dword [esp + 0x240]
or ecx, dword [esp + 0x244]
jne 0x48ee69
cmp dword [esp + 0x1fcc], edi
jl 0x48ee69
jg 0x48ee5c
cmp dword [esp + 0x1fc8], 0x200
jb 0x48ee69
cmp dword [esp + 0x198], esi
jbe 0x48ec17
mov eax, dword [esp + 0x790]
cmp eax, edi
je 0x48eebb
mov ecx, dword [esp + 0x1ac]
push ecx
mov ecx, dword [esp + 0x1ac]
cdq
push ecx
push edx
push eax
call fcn.0049f1e0
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.0049f1e0
cmp esi, edx
jl 0x48ec17
jg 0x48eebb
cmp edi, eax
jb 0x48ec17
push 0x4e75f4
call fcn.0044daf0
push eax
push 0x25a
call fcn.0045be10
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049e635
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f8e0
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 0x4e79f4
push 0x4e75f4
call fcn.004335f0
test al, al
je 0x48ef47
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 0x48f2e2
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 0
push 1
push edx
push eax
mov ecx, 0x4e0c60
call fcn.00414490
cmp eax, 1
jne 0x48ec2b
lea ecx, [esp + 0x48]
call fcn.004658e0
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 0x48ef94
mov ecx, dword [esi + 4]
push ecx
call fcn.00465030
push eax
lea edx, [esp + 0x79c]
push edx
call fcn.0046db30
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.0049e635
add esp, 0xc
lea edx, [esp + 0x3e08]
push edx
lea eax, [esp + 0x420c]
push eax
call edi
test eax, eax
je 0x48f18d
lea ecx, [esp + 0x4208]
push ecx
lea ecx, [esp + 0x4c]
call fcn.00465960
lea edx, [esp + 0x3e08]
push edx
lea ecx, [esp + 0x4c]
call fcn.00465960
lea eax, [esp + 0x798]
push eax
lea ecx, [esp + 0x420c]
push ecx
mov ecx, 0x4e0c60
call fcn.00413c30
test al, al
je 0x48f054
lea edx, [esp + 0x798]
push edx
lea eax, [esp + 0x420c]
push eax
call fcn.0042fc80
test al, al
jne 0x48efc0
push 0
push 1
push 0x4e79f4
push 0x4e75f4
mov ecx, 0x4e0c60
call fcn.00414490
cmp eax, 1
jne 0x48f19f
xor eax, eax
jmp 0x48f080
mov cl, byte [eax + 0x4e75f4]
mov byte [esp + eax + 0x4208], cl
inc eax
test cl, cl
jne 0x48f080
push 0x4e79f4
lea ecx, [esp + 0x79c]
push ecx
call fcn.0046db30
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 0x48f0c0
lea edx, [esp + 0x4208]
push edx
call fcn.0044daf0
mov esi, eax
lea eax, [esp + 0x3e08]
push eax
call fcn.0044daf0
mov cl, byte [esi]
mov byte [eax], cl
inc esi
inc eax
test cl, cl
jne 0x48f0e6
lea ecx, [esp + 0x3e08]
push ecx
lea edx, [esp + 0x420c]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
je 0x48f194
test ebx, ebx
je 0x48f117
cmp ebx, 1
jne 0x48f14d
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 0x48f14d
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, 0x4e0c60
call fcn.00413c30
test al, al
je 0x48f199
lea ecx, [esp + 0x798]
push ecx
lea edx, [esp + 0x420c]
push edx
call fcn.0042fc80
test al, al
je 0x48f199
mov esi, dword [esp + 0x18]
jmp 0x48f0b4
mov byte [esp + 0x15], 1
jmp 0x48f19f
mov byte [esp + 0x15], 1
mov edi, dword [sym.imp.KERNEL32.dll_MoveFileA]
xor bl, bl
cmp byte [esp + 0x78c], bl
jne 0x48f224
push 0x400
lea eax, [esp + 0x3a0c]
push eax
lea ecx, [esp + 0x50]
mov bl, 1
call fcn.00465b20
test al, al
je 0x48f21b
lea ebx, [ebx]
push 0x400
lea ecx, [esp + 0x4e0c]
push ecx
lea ecx, [esp + 0x50]
call fcn.00465b20
test al, al
je 0x48f21b
push 0
lea edx, [esp + 0x3a0c]
push edx
call fcn.0042fc80
test al, al
jne 0x48f219
push 0x400
lea eax, [esp + 0x3a0c]
push eax
lea ecx, [esp + 0x50]
call fcn.00465b20
test al, al
jne 0x48f1d0
jmp 0x48f21b
xor bl, bl
lea ecx, [esp + 0x48]
call fcn.004654e0
push 0x400
lea ecx, [esp + 0x3a0c]
push ecx
lea ecx, [esp + 0x50]
call fcn.00465b20
test al, al
je 0x48f2cc
push 0x400
lea edx, [esp + 0x4e0c]
push edx
lea ecx, [esp + 0x50]
call fcn.00465b20
test al, al
je 0x48f2cc
cmp byte [esp + 0x15], 0
jne 0x48f288
test bl, bl
jne 0x48f29c
push 0
lea eax, [esp + 0x4e0c]
push eax
call fcn.00430ad0
lea ecx, [esp + 0x4e08]
push ecx
call fcn.004a1a8d
add esp, 4
jmp 0x48f2ae
test bl, bl
jne 0x48f29c
lea edx, [esp + 0x3a08]
push edx
call fcn.004a1a8d
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.00465b20
test al, al
jne 0x48f242
mov byte [esp + 0x6614], 1
lea ecx, [esp + 0x48]
call fcn.00465560
jmp 0x48ec2b
cmp byte [esp + 0x78c], 0
je 0x48f3d1
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push 0
push 1
push eax
push ecx
mov ecx, 0x4e0c60
call fcn.00414490
cmp eax, 1
jne 0x48f3d1
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 0x48f320
mov edx, dword [esi + 4]
push edx
call fcn.00465030
push eax
lea eax, [esp + 0x79c]
push eax
call fcn.0046db30
lea ecx, [esp + 0x3a08]
push ecx
call fcn.0044daf0
push eax
push 0x258
call fcn.0045be10
push eax
lea edx, [esp + 0x3510]
push edx
call fcn.0049e635
add esp, 0xc
lea eax, [esp + 0x3508]
push eax
call fcn.0047f8e0
push 0
lea ecx, [esp + 0x3a0c]
push ecx
call fcn.00430ad0
lea edx, [esp + 0x3a08]
push edx
call fcn.004a1a8d
add esp, 4
lea eax, [esp + 0x798]
push eax
lea ecx, [esp + 0x3a0c]
push ecx
mov ecx, 0x4e0c60
call fcn.00413c30
test al, al
je 0x48f3d1
lea edx, [esp + 0x798]
push edx
lea eax, [esp + 0x3a0c]
push eax
call fcn.0042fc80
test al, al
jne 0x48f341
push 0
push 1
push 0x4e79f4
push 0x4e75f4
mov ecx, 0x4e0c60
call fcn.00414490
cmp eax, 1
jne 0x48ec2b
xor eax, eax
jmp 0x48f400
mov cl, byte [eax + 0x4e75f4]
mov byte [esp + eax + 0x3e08], cl
inc eax
test cl, cl
jne 0x48f400
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 4]
push edx
call fcn.00465030
push eax
lea eax, [esp + 0x79c]
push eax
call fcn.0046db30
mov eax, dword [esp + 0x40]
test eax, eax
je 0x48f43a
cmp eax, 1
jne 0x48f478
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 0x48f478
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, 0x4e0c60
call fcn.00413c30
test al, al
je 0x48ec2b
lea edx, [esp + 0x798]
push edx
lea eax, [esp + 0x3e0c]
push eax
call fcn.0042fc80
test al, al
jne 0x48f42d
jmp 0x48ec2b
push 0
push 0
push 0
push 0
push 0
push 1
push 0
push 1
call fcn.00480070
call fcn.0047f980
cmp dword [0x4dbca4], 0
je 0x48f519
push 0
push 0
lea ecx, [esp + 0x5a10]
push ecx
lea edx, [esp + 0x5214]
push edx
mov ecx, 0x4e0c60
call fcn.00414490
cmp eax, 1
je 0x48f510
mov ecx, 0x4dff38
call fcn.00440db0
test al, al
jne 0x48f520
cmp dword [0x4dbca4], 0
jne 0x48f537
cmp dword [esp + 0x20], 0
jbe 0x48f537
push 0
push 0x4e75f4
call fcn.0044daf0
push eax
mov ecx, 0x4dff38
call fcn.004413b0
cmp byte [esp + 0x794], 0
je 0x48f551
mov eax, dword [str.InterfaceConvertProfile]
push eax
push 0x4f81e8
call fcn.00456eb0
push 0x4f81e8
call fcn.00456f80
cmp byte [esp + 0x16], 0
je 0x48f567
call fcn.0047e9a0
mov dword [esp + 0x6614], 5
mov eax, dword [esp + 0x378]
test eax, eax
je 0x48f586
push eax
call fcn.0049e37d
add esp, 4
mov dword [esp + 0x6614], 0xffffffff
lea ecx, [esp + 0x280]
call fcn.00465560
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.0049e626
add esp, 0x6604
ret 4