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

Disassembly:
push 0xffffffffffffffff
push 0x4afc1d
mov eax, dword fs:[0]
push eax
mov eax, 0x65f8
call fcn.0049e650
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 0x4f81a0
call fcn.0049e0d5
add esp, 0x10
lea ecx, [esp + 0x280]
call fcn.0043ce50
mov dword [esp + 0x6614], 1
xor ebx, ebx
mov byte [esp + 0x794], bl
cmp dword [0x4dbc5c], ebx
je 0x48dc8f
lea ecx, [esp + 0x5a08]
push ecx
lea edx, [esp + 0x520c]
push edx
mov ecx, 0x4e0c18
call fcn.004134e0
push 0xc30
lea eax, [esp + 0x79c]
push ebx
push eax
call fcn.0049e680
add esp, 0xc
xor eax, eax
jmp 0x48dbe0
mov cl, byte [esp + eax + 0x5208]
mov byte [esp + eax + 0x798], cl
inc eax
test cl, cl
jne 0x48dbe0
lea ecx, [esp + 0x5a08]
push ecx
lea edx, [esp + 0xb9c]
push edx
call fcn.0046d630
lea ecx, [esp + 0x1fdc]
call fcn.00467be0
lea ecx, [esp + 0x2000]
call fcn.00467be0
lea ecx, [esp + 0x2024]
call fcn.00467be0
push ebx
lea eax, [esp + 0x13cc]
push eax
lea ecx, [esp + 0x5a10]
push ecx
lea edx, [esp + 0x5214]
push edx
call fcn.00433200
test al, al
je 0x48dc6a
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.0043cab0
lea ecx, [esp + 0x280]
call fcn.0043cd40
jmp 0x48dd3b
lea ecx, [esp + 0x48]
call fcn.004653d0
mov byte [esp + 0x6614], 2
lea edi, [esp + 0x48]
cmp esi, ebx
je 0x48dcac
mov edi, esi
jmp 0x48dcbc
push ebx
lea eax, [esp + 0x4c]
push eax
mov ecx, 0x4dfef0
call fcn.0043ed70
push ebx
push ebx
push 1
push 1
push 1
lea ecx, [esp + 0x294]
push ecx
push 3
push edi
call fcn.0045df10
test al, al
jne 0x48dd05
mov byte [esp + 0x6614], 1
lea ecx, [esp + 0x48]
call fcn.00465050
mov dword [esp + 0x6614], 0xffffffff
lea ecx, [esp + 0x280]
call fcn.0048b180
jmp 0x48f03d
xor esi, esi
cmp dword [esp + 0x384], ebx
jbe 0x48dd2a
push esi
lea ecx, [esp + 0x284]
call fcn.00405b90
inc esi
mov dword [eax + 8], ebx
cmp esi, dword [esp + 0x384]
jb 0x48dd10
mov byte [esp + 0x6614], 1
lea ecx, [esp + 0x48]
call fcn.00465050
mov edx, dword [str.InterfaceConvertProfile]
push 0x4f81a0
push edx
call fcn.00456970
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 0x48b1d0
push eax
push str.CONVERTARC
push edx
mov dword [esp + 0x34], ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
test eax, eax
je 0x48efd7
xor esi, esi
push esi
push str.Background
push 0x4f81a0
call fcn.00456400
test eax, eax
jne 0x48ddc1
cmp dword [0x4dbc60], 1
jne 0x48ddba
cmp byte [0x4e6952], al
jne 0x48ddc1
mov byte [esp + 0x1c], 0
jmp 0x48ddc6
mov byte [esp + 0x1c], 1
mov eax, dword [esp + 0x1c]
push esi
push eax
push esi
push 8
call fcn.00481590
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 0x48de40
mov edi, edi
push edi
lea ecx, [esp + 0x284]
call fcn.00405b90
test byte [eax + 8], 8
je 0x48de36
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 0x48de10
push 0x480
lea ecx, [esp + 0x350c]
push ecx
xor ebp, ebp
push ebp
push esi
call fcn.00444940
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 0x48e708
cmp dword [0x4db840], 0
jne 0x48e71f
mov edx, dword [esp + 0x20]
push 0x480
lea ecx, [esp + 0x350c]
push ecx
push 0
push edx
call fcn.00444940
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.00444940
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.00444940
mov edx, dword [0x4db83c]
lea ecx, [esp + 0x3508]
push ecx
push 0x68
push edx
call ebx
cmp esi, 0xffffffff
je 0x48df58
push esi
lea eax, [esp + 0x79c]
push eax
lea ecx, [esp + 0x288]
call fcn.0043cc90
mov ecx, dword [eax + 0xc00]
add dword [0x4dc168], ecx
mov edx, dword [eax + 0xc04]
adc dword [0x4dc16c], edx
or esi, 0xffffffff
call fcn.00480840
cmp ebp, dword [esp + 0x384]
jge 0x48e708
push ebp
lea ecx, [esp + 0x284]
call fcn.00405b90
mov edi, eax
test byte [edi + 8], 8
mov dword [esp + 0x18], edi
je 0x48e6f6
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push 1
push 0
push eax
push ecx
mov esi, ebp
mov ecx, 0x4e0c18
mov dword [esp + 0x54], esi
call fcn.00414420
cmp eax, 1
jne 0x48e6f6
lea edx, [esp + 0x140]
push edx
mov ecx, 0x4e0c18
call fcn.00413530
lea ecx, [esp + 0x1fdc]
call fcn.00467be0
lea ecx, [esp + 0x2000]
call fcn.00467be0
lea ecx, [esp + 0x2024]
call fcn.00467be0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
push 0
lea eax, [esp + 0x13cc]
push eax
push ecx
push edx
call fcn.00433200
test al, al
je 0x48e6f6
cmp byte [0x4e52c8], 0
jne 0x48e02d
cmp dword [esp + 0x1cc], 0
je 0x48e02d
push 0x50e
call fcn.0045b8f0
push eax
mov eax, dword [edi]
push eax
call fcn.0048cce0
add esp, 8
jmp 0x48e6f6
lea ecx, [esp + 0x4a08]
push ecx
push str.Rar_CVXXXXXX
call fcn.0047ec00
test al, al
je 0x48e6f6
lea edx, [esp + 0x4a08]
push edx
call fcn.004ac688
mov esi, 1
add esp, 4
cmp dword [0x4dbc60], esi
jne 0x48e06e
mov ecx, 0x4e2eb0
call fcn.0041c020
call fcn.0047aeb0
call fcn.00476d00
push 0x4e79ac
push 0x4e75ac
mov ecx, 0x4e0c18
call fcn.004134e0
mov eax, dword [0x4e0e20]
mov ecx, dword [0x4e81ac]
mov dword [0x4e614c], eax
mov eax, 4
push 0x4b175c
mov dword [0x4e5754], esi
mov dword [0x4e5d38], eax
mov dword [0x4e5d3c], eax
call fcn.00465450
push 0x4e75ac
push 0x20a
call fcn.0045b8f0
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049e0d5
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f3d0
cmp byte [0x4e5d32], 0
mov eax, dword [0x4f8278]
mov dword [esp + 0x1c], eax
je 0x48e106
mov byte [0x4e5d32], 0
mov byte [esp + 0x16], 1
push 0
push 0
mov ecx, 0x4e0c18
call fcn.00416070
cmp dword [0x4db840], 0
jne 0x48e6cb
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [0x4f8278]
jne 0x48e6cb
push 0x4f81a0
call fcn.0047b2a0
cmp byte [0x4e42c0], 0
mov edx, dword [0x4e579c]
mov dword [esp + 0x40], edx
mov byte [0x4e586a], 0
jne 0x48e1b7
xor edi, edi
push edi
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x4e0c18
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edi
call fcn.00413980
cmp dword [esp + 0x24], edi
jbe 0x48e1aa
push 0x4e42c0
push str.Rar_CMXXXXXX
call fcn.0047eb20
mov esi, eax
cmp esi, edi
je 0x48e1aa
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
push esi
push edx
push 1
push eax
call fcn.0049f822
push esi
call fcn.0049f646
add esp, 0x14
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0049ea65
add esp, 4
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push 0x400
lea edx, [esp + 0x620c]
push edx
push eax
call fcn.0044d9f0
xor eax, eax
jmp 0x48e1e0
mov cl, byte [esp + eax + 0x38c]
mov byte [esp + eax + 0x4608], cl
inc eax
test cl, cl
jne 0x48e1e0
cmp byte [esp + 0x4608], cl
je 0x48e209
lea ecx, [esp + 0x4608]
push ecx
call fcn.0044d9b0
mov edx, dword [esi]
push edx
call fcn.0044ee80
cmp dword [0x4e614c], 0
mov byte [esp + 0x17], al
jne 0x48e22a
mov ebx, 0x4b1774
mov ebp, 0x4b57dc
jmp 0x48e234
mov ebx, 0x4b19b8
mov ebp, 0x4b57d4
cmp byte [0x4e32c0], 0
je 0x48e247
mov ebx, 0x4b1778
mov ebp, 0x4b385c
mov edi, dword [esp + 0x18]
mov eax, dword [edi]
push ebx
push eax
call fcn.0044d920
test al, al
je 0x48e2eb
cmp byte [esp + 0x4608], 0
je 0x48e27f
lea ecx, [esp + 0x6208]
push ecx
lea edx, [esp + 0x460c]
push edx
call fcn.00464e20
test eax, eax
jne 0x48e2eb
mov byte [esp + 0x15], 1
xor eax, eax
jmp 0x48e290
mov cl, byte [esp + eax + 0x4a08]
mov byte [eax + 0x4e75ac], cl
inc eax
test cl, cl
jne 0x48e290
push 0x4e75ac
call fcn.0044d9b0
mov eax, dword [edi + 4]
test eax, eax
je 0x48e350
cmp word [eax], 0
je 0x48e350
push 0x1000000
push 0x4e79ac
push 0x4e75ac
call fcn.0046d330
mov eax, dword [edi + 4]
push eax
call fcn.0044d5b0
push eax
push 0x4e79ac
call fcn.0046d690
jmp 0x48e359
cmp byte [esp + 0x4608], 0
mov byte [esp + 0x15], 0
je 0x48e42c
xor eax, eax
mov cl, byte [esp + eax + 0x4608]
mov byte [eax + 0x4e75ac], cl
inc eax
test cl, cl
jne 0x48e300
mov edx, dword [edi]
push edx
call fcn.0044d530
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x48e320
mov edi, 0x4e75ac
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48e331
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 0x48e43d
xor ecx, ecx
mov word [0x4e79ac], cx
mov edx, dword [edi]
push edx
call fcn.0044d530
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x48e363
mov edi, 0x4e75ac
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x48e374
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x4e75ac
rep movsb byte es:[edi], byte [esi]
call fcn.0044d8c0
mov esi, eax
test esi, esi
je 0x48e54b
push 0x4e75ac
mov byte [esi], 0
call fcn.0044d8c0
mov byte [esi], 0x2e
test eax, eax
je 0x48e54b
cmp byte [esp + 0x17], 0
je 0x48e54b
cmp dword [esp + 0x150], 0
jne 0x48e54b
cmp dword [esp + 0x1b4], 0
je 0x48e54b
mov edx, eax
mov ecx, esi
sub edx, esi
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x48e3e3
push 0x4e79ac
call fcn.0044d8f0
mov esi, eax
test esi, esi
je 0x48e54b
xor eax, eax
push 0x4e79ac
mov word [esi], ax
call fcn.0044d8f0
mov ecx, 0x2e
mov word [esi], cx
test eax, eax
je 0x48e54b
push esi
push eax
call fcn.0046d630
jmp 0x48e54b
mov ecx, dword [edi]
mov edx, 0x4e75ac
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x48e433
push 0x4e75ac
call fcn.0044d8c0
mov esi, eax
test esi, esi
je 0x48e4a0
push 0x4e75ac
mov byte [esi], 0
call fcn.0044d8c0
test eax, eax
je 0x48e49d
push str..tar
push eax
call fcn.00464e20
test eax, eax
je 0x48e488
cmp byte [esp + 0x17], 0
je 0x48e49d
cmp dword [esp + 0x150], 0
jne 0x48e49d
cmp dword [esp + 0x1b4], 0
je 0x48e49d
push 0x4e79ac
call fcn.0044d8f0
test eax, eax
je 0x48e4a0
xor ecx, ecx
mov word [eax], cx
jmp 0x48e4a0
mov byte [esi], 0x2e
push ebx
push 0x4e75ac
call fcn.0044ef30
mov eax, dword [edi + 4]
test eax, eax
je 0x48e512
cmp word [eax], 0
je 0x48e512
cmp byte [esp + 0x4608], 0
je 0x48e4fa
push 0x1000000
push 0x4e79ac
lea edx, [esp + 0x4610]
push edx
call fcn.0046d330
mov eax, dword [edi + 4]
push eax
call fcn.0044d5b0
push eax
push 0x4e79ac
call fcn.0046d690
push ebp
push 0x4e79ac
call fcn.0044efd0
jmp 0x48e51b
push eax
push 0x4e79ac
call fcn.0046d630
push ebp
push 0x4e79ac
call fcn.0044efd0
jmp 0x48e51b
xor ecx, ecx
mov word [0x4e79ac], cx
push 0x4e79ac
push 0x4e75ac
call fcn.0042f890
test al, al
je 0x48e54b
push 0x50d
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 8
mov byte [esp + 0x15], 1
mov esi, dword [esp + 0x1c]
cmp esi, dword [0x4f8278]
jne 0x48e5f1
lea edx, [esp + 0x4a08]
push edx
call fcn.004ac688
mov ecx, dword [0x4e81ac]
add esp, 4
push 0x4b175c
mov dword [0x4e577c], 3
mov dword [0x4e5778], 1
mov byte [0x4e57b3], 0
mov byte [0x4e57b7], 0
call fcn.00465450
push 0x4e75ac
call fcn.0044d530
push eax
push 0x208
call fcn.0045b8f0
push eax
lea eax, [esp + 0x3510]
push eax
call fcn.0049e0d5
add esp, 0xc
lea ecx, [esp + 0x3508]
push ecx
call fcn.0047f3d0
cmp byte [0x4e5d32], 0
je 0x48e5e5
mov byte [0x4e5d32], 0
mov byte [esp + 0x16], 1
push 0
mov ecx, 0x4e0c18
call fcn.00415320
cmp byte [0x4e42c0], 0
je 0x48e606
push 0
push 0x4e42c0
call fcn.0047ef70
cmp dword [0x4db840], 0
jne 0x48e6b7
cmp esi, dword [0x4f8278]
jne 0x48e6b7
push 1
push 0
push 0x4e79ac
push 0x4e75ac
mov ecx, 0x4e0c18
call fcn.00414420
cmp eax, 1
jne 0x48e6b7
lea edx, [esp + 0x1e0]
push edx
mov ecx, 0x4e0c18
call fcn.00413530
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
cmp eax, dword [esp + 0x240]
jne 0x48e672
cmp ecx, dword [esp + 0x244]
je 0x48e74e
or eax, ecx
je 0x48e74e
push 0x4b1a58
lea eax, [esp + 0x144]
push eax
call fcn.00464e20
test eax, eax
jne 0x48e69d
cmp dword [esp + 0x1b4], eax
jne 0x48e74e
push 0x50a
call fcn.0045b8f0
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
push edx
call fcn.0048cce0
add esp, 8
cmp byte [esp + 0x15], 0
jne 0x48e6cb
push 0x4e75ac
call fcn.004a147d
add esp, 4
lea ecx, [esp + 0x5608]
push ecx
call fcn.004ac688
add esp, 4
lea edx, [esp + 0x4a08]
push edx
call fcn.0047ed60
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 0x48de8d
cmp dword [0x4db840], 0
jne 0x48e71f
cmp dword [0x4dc178], 0
mov eax, 0x4d0
je 0x48e724
mov eax, 0x271
push eax
call fcn.0045b8f0
push eax
call fcn.0047f3d0
cmp dword [0x4dc178], 0
je 0x48ef5c
mov eax, dword [0x4db83c]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x48ef76
mov eax, dword [esp + 0x790]
test eax, eax
je 0x48e7d0
mov ecx, dword [esp + 0x1ac]
push ecx
mov ecx, dword [esp + 0x1ac]
cdq
push ecx
push edx
push eax
call fcn.0049ec80
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.0049ec80
cmp esi, edx
jg 0x48e7d0
jl 0x48e798
cmp edi, eax
jae 0x48e7d0
push 0x4e75ac
call fcn.0044d530
push eax
push 0x50f
call fcn.0045b8f0
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049e0d5
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f3d0
jmp 0x48e6b7
xor edi, edi
xor eax, eax
mov esi, 1
lea esp, [esp]
mov cl, byte [eax + 0x4e52c8]
mov byte [esp + eax + 0x3988], cl
add eax, esi
test cl, cl
jne 0x48e7e0
cmp dword [0x4dbc60], esi
jne 0x48e805
mov ecx, 0x4e2eb0
call fcn.0041c020
call fcn.0047aeb0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x3988]
mov byte [eax + 0x4e52c8], cl
add eax, esi
test cl, cl
jne 0x48e810
push 0x4e79ac
push 0x4e75ac
mov ecx, 0x4e0c18
call fcn.004134e0
mov eax, dword [0x4e0e20]
mov ecx, dword [0x4e81ac]
push 0x4b175c
mov dword [0x4e614c], eax
mov byte [0x4e586a], 1
mov dword [0x4e580c], edi
mov dword [0x4e5830], edi
call fcn.00465450
push 0x4e75ac
call fcn.0044d530
push eax
push 0x20b
call fcn.0045b8f0
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049e0d5
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f3d0
cmp byte [0x4e5d32], 0
je 0x48e8ac
mov byte [0x4e5d32], 0
mov byte [esp + 0x16], 1
push edi
push edi
mov ecx, 0x4e0c18
call fcn.00416070
cmp dword [0x4db840], edi
jne 0x48e6b7
mov eax, dword [esp + 0x1c]
cmp eax, dword [0x4f8278]
jne 0x48e6b7
mov ecx, dword [esp + 0x240]
or ecx, dword [esp + 0x244]
jne 0x48e909
cmp dword [esp + 0x1fcc], edi
jl 0x48e909
jg 0x48e8fc
cmp dword [esp + 0x1fc8], 0x200
jb 0x48e909
cmp dword [esp + 0x198], esi
jbe 0x48e6b7
mov eax, dword [esp + 0x790]
cmp eax, edi
je 0x48e95b
mov ecx, dword [esp + 0x1ac]
push ecx
mov ecx, dword [esp + 0x1ac]
cdq
push ecx
push edx
push eax
call fcn.0049ec80
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.0049ec80
cmp esi, edx
jl 0x48e6b7
jg 0x48e95b
cmp edi, eax
jb 0x48e6b7
push 0x4e75ac
call fcn.0044d530
push eax
push 0x25a
call fcn.0045b8f0
push eax
lea ecx, [esp + 0x3510]
push ecx
call fcn.0049e0d5
add esp, 0xc
lea edx, [esp + 0x3508]
push edx
call fcn.0047f3d0
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 0x4e79ac
push 0x4e75ac
call fcn.00433200
test al, al
je 0x48e9e7
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 0x48ed82
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 0
push 1
push edx
push eax
mov ecx, 0x4e0c18
call fcn.00414420
cmp eax, 1
jne 0x48e6cb
lea ecx, [esp + 0x48]
call fcn.004653d0
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 0x48ea34
mov ecx, dword [esi + 4]
push ecx
call fcn.00464b20
push eax
lea edx, [esp + 0x79c]
push edx
call fcn.0046d630
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.0049e0d5
add esp, 0xc
lea edx, [esp + 0x3e08]
push edx
lea eax, [esp + 0x420c]
push eax
call edi
test eax, eax
je 0x48ec2d
lea ecx, [esp + 0x4208]
push ecx
lea ecx, [esp + 0x4c]
call fcn.00465450
lea edx, [esp + 0x3e08]
push edx
lea ecx, [esp + 0x4c]
call fcn.00465450
lea eax, [esp + 0x798]
push eax
lea ecx, [esp + 0x420c]
push ecx
mov ecx, 0x4e0c18
call fcn.00413bf0
test al, al
je 0x48eaf4
lea edx, [esp + 0x798]
push edx
lea eax, [esp + 0x420c]
push eax
call fcn.0042f890
test al, al
jne 0x48ea60
push 0
push 1
push 0x4e79ac
push 0x4e75ac
mov ecx, 0x4e0c18
call fcn.00414420
cmp eax, 1
jne 0x48ec3f
xor eax, eax
jmp 0x48eb20
mov cl, byte [eax + 0x4e75ac]
mov byte [esp + eax + 0x4208], cl
inc eax
test cl, cl
jne 0x48eb20
push 0x4e79ac
lea ecx, [esp + 0x79c]
push ecx
call fcn.0046d630
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 0x48eb60
lea edx, [esp + 0x4208]
push edx
call fcn.0044d530
mov esi, eax
lea eax, [esp + 0x3e08]
push eax
call fcn.0044d530
mov cl, byte [esi]
mov byte [eax], cl
inc esi
inc eax
test cl, cl
jne 0x48eb86
lea ecx, [esp + 0x3e08]
push ecx
lea edx, [esp + 0x420c]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
je 0x48ec34
test ebx, ebx
je 0x48ebb7
cmp ebx, 1
jne 0x48ebed
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 0x48ebed
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, 0x4e0c18
call fcn.00413bf0
test al, al
je 0x48ec39
lea ecx, [esp + 0x798]
push ecx
lea edx, [esp + 0x420c]
push edx
call fcn.0042f890
test al, al
je 0x48ec39
mov esi, dword [esp + 0x18]
jmp 0x48eb54
mov byte [esp + 0x15], 1
jmp 0x48ec3f
mov byte [esp + 0x15], 1
mov edi, dword [sym.imp.KERNEL32.dll_MoveFileA]
xor bl, bl
cmp byte [esp + 0x78c], bl
jne 0x48ecc4
push 0x400
lea eax, [esp + 0x3a0c]
push eax
lea ecx, [esp + 0x50]
mov bl, 1
call fcn.00465610
test al, al
je 0x48ecbb
lea ebx, [ebx]
push 0x400
lea ecx, [esp + 0x4e0c]
push ecx
lea ecx, [esp + 0x50]
call fcn.00465610
test al, al
je 0x48ecbb
push 0
lea edx, [esp + 0x3a0c]
push edx
call fcn.0042f890
test al, al
jne 0x48ecb9
push 0x400
lea eax, [esp + 0x3a0c]
push eax
lea ecx, [esp + 0x50]
call fcn.00465610
test al, al
jne 0x48ec70
jmp 0x48ecbb
xor bl, bl
lea ecx, [esp + 0x48]
call fcn.00464fd0
push 0x400
lea ecx, [esp + 0x3a0c]
push ecx
lea ecx, [esp + 0x50]
call fcn.00465610
test al, al
je 0x48ed6c
push 0x400
lea edx, [esp + 0x4e0c]
push edx
lea ecx, [esp + 0x50]
call fcn.00465610
test al, al
je 0x48ed6c
cmp byte [esp + 0x15], 0
jne 0x48ed28
test bl, bl
jne 0x48ed3c
push 0
lea eax, [esp + 0x4e0c]
push eax
call fcn.004306e0
lea ecx, [esp + 0x4e08]
push ecx
call fcn.004a147d
add esp, 4
jmp 0x48ed4e
test bl, bl
jne 0x48ed3c
lea edx, [esp + 0x3a08]
push edx
call fcn.004a147d
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.00465610
test al, al
jne 0x48ece2
mov byte [esp + 0x6614], 1
lea ecx, [esp + 0x48]
call fcn.00465050
jmp 0x48e6cb
cmp byte [esp + 0x78c], 0
je 0x48ee71
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push 0
push 1
push eax
push ecx
mov ecx, 0x4e0c18
call fcn.00414420
cmp eax, 1
jne 0x48ee71
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 0x48edc0
mov edx, dword [esi + 4]
push edx
call fcn.00464b20
push eax
lea eax, [esp + 0x79c]
push eax
call fcn.0046d630
lea ecx, [esp + 0x3a08]
push ecx
call fcn.0044d530
push eax
push 0x258
call fcn.0045b8f0
push eax
lea edx, [esp + 0x3510]
push edx
call fcn.0049e0d5
add esp, 0xc
lea eax, [esp + 0x3508]
push eax
call fcn.0047f3d0
push 0
lea ecx, [esp + 0x3a0c]
push ecx
call fcn.004306e0
lea edx, [esp + 0x3a08]
push edx
call fcn.004a147d
add esp, 4
lea eax, [esp + 0x798]
push eax
lea ecx, [esp + 0x3a0c]
push ecx
mov ecx, 0x4e0c18
call fcn.00413bf0
test al, al
je 0x48ee71
lea edx, [esp + 0x798]
push edx
lea eax, [esp + 0x3a0c]
push eax
call fcn.0042f890
test al, al
jne 0x48ede1
push 0
push 1
push 0x4e79ac
push 0x4e75ac
mov ecx, 0x4e0c18
call fcn.00414420
cmp eax, 1
jne 0x48e6cb
xor eax, eax
jmp 0x48eea0
mov cl, byte [eax + 0x4e75ac]
mov byte [esp + eax + 0x3e08], cl
inc eax
test cl, cl
jne 0x48eea0
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 4]
push edx
call fcn.00464b20
push eax
lea eax, [esp + 0x79c]
push eax
call fcn.0046d630
mov eax, dword [esp + 0x40]
test eax, eax
je 0x48eeda
cmp eax, 1
jne 0x48ef18
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 0x48ef18
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, 0x4e0c18
call fcn.00413bf0
test al, al
je 0x48e6cb
lea edx, [esp + 0x798]
push edx
lea eax, [esp + 0x3e0c]
push eax
call fcn.0042f890
test al, al
jne 0x48eecd
jmp 0x48e6cb
push 0
push 0
push 0
push 0
push 0
push 1
push 0
push 1
call fcn.0047fb60
call fcn.0047f470
cmp dword [0x4dbc5c], 0
je 0x48efb9
push 0
push 0
lea ecx, [esp + 0x5a10]
push ecx
lea edx, [esp + 0x5214]
push edx
mov ecx, 0x4e0c18
call fcn.00414420
cmp eax, 1
je 0x48efb0
mov ecx, 0x4dfef0
call fcn.004409b0
test al, al
jne 0x48efc0
cmp dword [0x4dbc5c], 0
jne 0x48efd7
cmp dword [esp + 0x20], 0
jbe 0x48efd7
push 0
push 0x4e75ac
call fcn.0044d530
push eax
mov ecx, 0x4dfef0
call fcn.00440f30
cmp byte [esp + 0x794], 0
je 0x48eff1
mov eax, dword [str.InterfaceConvertProfile]
push eax
push 0x4f81a0
call fcn.00456970
push 0x4f81a0
call fcn.00456a40
cmp byte [esp + 0x16], 0
je 0x48f007
call fcn.0047e490
mov dword [esp + 0x6614], 5
mov eax, dword [esp + 0x378]
test eax, eax
je 0x48f026
push eax
call fcn.0049de1d
add esp, 4
mov dword [esp + 0x6614], 0xffffffff
lea ecx, [esp + 0x280]
call fcn.00465050
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.0049e0c6
add esp, 0x6604
ret 4