Function at 0x494df0
Capabilities:
Move file
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4b8b37
mov eax, dword fs:[0]
push eax
mov eax, 0x87f8
call fcn.004a53e0
mov eax, dword [0x4cc3b0]
xor eax, esp
mov dword [esp + 0x87f4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4cc3b0]
xor eax, esp
push eax
lea eax, [esp + 0x880c]
mov dword fs:[0], eax
mov esi, dword [esp + 0x881c]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
mov eax, dword [str.InterfaceConvertProfile]
push eax
push str._s_u
push 0x5110d0
mov edx, 0xc8
call fcn.0049c880
add esp, 0x10
lea ecx, [esp + 0x390]
call fcn.0043f3e0
mov ebx, 1
mov dword [esp + 0x8814], ebx
xor ebp, ebp
cmp byte [0x4e9b89], 0
mov byte [esp + 0xc64], 0
je 0x494f58
push 0x400
lea ecx, [esp + 0x77dc]
push ecx
mov ecx, 0x4f0dd0
call fcn.004130a0
push 0x830
lea edx, [esp + 0x210c]
push ebp
push edx
call fcn.004a5410
add esp, 0xc
xor eax, eax
jmp 0x494ec0
movzx ecx, word [esp + eax + 0x77d8]
mov word [esp + eax + 0x2108], cx
add eax, 2
cmp cx, bp
jne 0x494ec0
lea ecx, [esp + 0x187c]
call fcn.0046dbe0
lea ecx, [esp + 0x18a0]
call fcn.0046dbe0
lea ecx, [esp + 0x18c4]
call fcn.0046dbe0
push ebp
lea eax, [esp + 0xc6c]
push eax
lea ecx, [esp + 0x77e0]
push ecx
push ebp
call fcn.00435440
test al, al
je 0x494f33
mov edx, dword [esp + 0x1868]
mov eax, dword [esp + 0x186c]
mov dword [esp + 0x2908], edx
mov dword [esp + 0x290c], eax
lea ecx, [esp + 0x2108]
push ecx
lea ecx, [esp + 0x394]
call fcn.0043eff0
lea ecx, [esp + 0x390]
call fcn.0043f260
jmp 0x49500c
lea ecx, [esp + 0x48]
call fcn.0046b190
mov byte [esp + 0x8814], 2
lea edi, [esp + 0x48]
cmp esi, ebp
je 0x494f75
mov edi, esi
jmp 0x494f85
push ebp
lea edx, [esp + 0x4c]
push edx
mov ecx, 0x4f04a8
call fcn.00440870
push ebp
push ebp
push ebx
push ebx
push ebx
lea eax, [esp + 0x3a4]
push eax
push 3
push edi
call fcn.00463880
test al, al
jne 0x494fcb
mov byte [esp + 0x8814], 1
lea ecx, [esp + 0x48]
call fcn.00401af0
mov dword [esp + 0x8814], 0xffffffff
lea ecx, [esp + 0x390]
call fcn.00491ce0
jmp 0x496172
xor esi, esi
cmp dword [esp + 0x444], ebp
jbe 0x494ffb
jmp 0x494fe0
push esi
lea ecx, [esp + 0x394]
call fcn.0043f380
add esi, ebx
mov dword [eax + 4], ebp
cmp esi, dword [esp + 0x444]
jb 0x494fe0
mov byte [esp + 0x8814], 1
lea ecx, [esp + 0x48]
call fcn.00401af0
mov ecx, dword [str.InterfaceConvertProfile]
push 0x5110d0
push ecx
call fcn.0045bd80
mov edx, dword [0x4eacd4]
push edx
mov byte [esp + 0x1a], 0
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov edx, dword [0x4d76b0]
neg eax
lea ecx, [esp + 0x390]
push ecx
sbb eax, eax
and eax, dword [0x4eacd4]
push 0x491d30
push eax
push str.CONVERTARC
push edx
mov dword [esp + 0x38], ebp
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x49612a
push ebp
push 0x4bf7d8
push 0x5110d0
call fcn.0045ba60
test eax, eax
jne 0x495090
cmp dword [0x4ea3a4], ebx
jne 0x495089
cmp byte [0x4f8023], al
jne 0x495090
mov byte [esp + 0x1c], 0
jmp 0x495095
mov byte [esp + 0x1c], 1
mov eax, dword [esp + 0x1c]
push ebp
push eax
push ebp
push 8
call fcn.00488860
push 0x400
lea ecx, [esp + 0x210c]
push ecx
call fcn.00485da0
xor esi, esi
xor edi, edi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [0x4ea420], ebp
mov dword [0x4ea424], ebp
cmp dword [esp + 0x444], ebp
jbe 0x495112
mov edi, edi
push edi
lea ecx, [esp + 0x394]
call fcn.0043f380
test byte [eax + 4], 8
je 0x495107
mov edx, dword [eax + 8]
add dword [0x4ea420], edx
mov eax, dword [eax + 0xc]
adc dword [0x4ea424], eax
add esi, ebx
add edi, ebx
cmp edi, dword [esp + 0x444]
jb 0x4950e0
push 0x480
lea ecx, [esp + 0x3ddc]
push ecx
push ebp
push esi
call fcn.00446780
mov eax, dword [0x4e9b84]
mov edi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea edx, [esp + 0x3dd8]
push edx
push 0x65
push eax
call edi
or esi, 0xffffffff
cmp byte [0x4eac4c], 0
mov dword [0x4eac40], ebp
mov dword [0x4eac44], ebp
mov dword [esp + 0x20], ebp
jne 0x4958db
cmp byte [0x4e9b88], 0
jne 0x4958f2
mov edx, dword [esp + 0x24]
push 0x480
lea ecx, [esp + 0x3ddc]
push ecx
push ebp
push edx
call fcn.00446780
mov ecx, dword [0x4e9b84]
lea eax, [esp + 0x3dd8]
push eax
push 0x66
push ecx
call edi
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push 0x480
lea edx, [esp + 0x3ddc]
push edx
push eax
push ecx
call fcn.00446780
mov eax, dword [0x4e9b84]
lea edx, [esp + 0x3dd8]
push edx
push 0x67
push eax
call edi
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push 0x480
lea ecx, [esp + 0x3ddc]
push ecx
push edx
push eax
call fcn.00446780
mov edx, dword [0x4e9b84]
lea ecx, [esp + 0x3dd8]
push ecx
push 0x68
push edx
call edi
cmp esi, 0xffffffff
je 0x495228
push esi
lea eax, [esp + 0x7fdc]
push eax
lea ecx, [esp + 0x398]
call fcn.0043f1b0
mov ecx, dword [eax + 0x800]
add dword [0x4eac40], ecx
mov edx, dword [eax + 0x804]
adc dword [0x4eac44], edx
or esi, 0xffffffff
call fcn.004879f0
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x444]
jge 0x4958db
mov ecx, eax
push ecx
lea ecx, [esp + 0x394]
call fcn.0043f380
mov ebx, eax
test byte [ebx + 4], 8
mov dword [esp + 0x18], ebx
je 0x4958ca
mov edx, dword [ebx]
mov esi, dword [esp + 0x20]
push 1
push ebp
push edx
mov ecx, 0x4f0dd0
mov dword [esp + 0x50], esi
call fcn.004162e0
cmp eax, 1
jne 0x4958ca
lea eax, [esp + 0xf0]
push eax
mov ecx, 0x4f0dd0
call fcn.004130d0
lea ecx, [esp + 0x187c]
call fcn.0046dbe0
lea ecx, [esp + 0x18a0]
call fcn.0046dbe0
lea ecx, [esp + 0x18c4]
call fcn.0046dbe0
mov edx, dword [ebx]
push ebp
lea ecx, [esp + 0xc6c]
push ecx
push edx
push ebp
call fcn.00435440
test al, al
je 0x4958ca
cmp word [0x4f60e8], bp
jne 0x4952fb
cmp dword [esp + 0x22c], ebp
je 0x4952fb
push 0x50e
call fcn.004612e0
push eax
mov eax, dword [ebx]
push eax
call fcn.00493af0
add esp, 8
jmp 0x4958ca
lea ecx, [esp + 0x67d8]
push ecx
push str.Rar_CVXXXXXX
call fcn.004856a0
test al, al
je 0x4958ca
lea edx, [esp + 0x67d8]
push edx
call fcn.00485d80
mov esi, 1
cmp dword [0x4ea3a4], esi
jne 0x495339
mov ecx, 0x4f2cd0
call fcn.0041e5e0
call fcn.00481960
push 0x400
push 0x4f907c
mov ecx, 0x4f0dd0
call fcn.004130a0
mov eax, dword [0x4f0fdc]
mov ecx, dword [0x4f987c]
mov dword [0x4f701c], eax
mov eax, 4
push 0x4ba77c
mov dword [0x4f65f4], esi
mov dword [0x4f6c08], eax
mov dword [0x4f6c0c], eax
call fcn.0046b230
push 0x4f907c
push 0x20a
call fcn.004612e0
push eax
lea ecx, [esp + 0x3de0]
push ecx
mov edx, 0x480
call fcn.0049c880
add esp, 0xc
lea edx, [esp + 0x3dd8]
push edx
call fcn.004861b0
cmp byte [0x4f6c02], 0
mov eax, dword [0x512a68]
mov dword [esp + 0x1c], eax
je 0x4953d1
mov byte [0x4f6c02], 0
mov byte [esp + 0x16], 1
push ebp
push ebp
mov ecx, 0x4f0dd0
call fcn.00417a70
cmp byte [0x4e9b88], 0
jne 0x4958a6
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [0x512a68]
jne 0x4958a6
push 0x5110d0
call fcn.00481d10
mov edx, dword [0x4f663c]
mov dword [esp + 0x40], edx
mov byte [0x4f673a], 0
cmp word [0x4f4ce0], bp
jne 0x49547e
push ebp
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, 0x4f0dd0
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
call fcn.00413280
cmp dword [esp + 0x28], ebp
jbe 0x495471
push 0x4f4ce0
push str.Rar_CMXXXXXX
call fcn.004855b0
mov esi, eax
cmp esi, ebp
je 0x495471
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push esi
push edx
push 1
push eax
call fcn.004a6ea4
push esi
call fcn.004a6c75
add esp, 0x14
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004a57f5
add esp, 4
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push 0x400
lea edx, [esp + 0x7fdc]
push edx
push eax
call fcn.00452110
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x45c]
mov word [esp + eax + 0x5fd8], cx
add eax, 2
cmp cx, bp
jne 0x4954a0
cmp word [esp + 0x5fd8], bp
je 0x4954cf
lea ecx, [esp + 0x5fd8]
push ecx
call fcn.00451670
mov edx, dword [esi]
push edx
call fcn.00440060
mov byte [esp + 0x17], al
mov ebx, 0x4bae00
cmp dword [0x4f701c], ebp
je 0x4954ed
mov ebx, 0x4baa98
cmp word [0x4f34e0], bp
je 0x4954fb
mov ebx, 0x4badc8
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push ebx
push eax
call fcn.00451fd0
test al, al
je 0x495614
cmp word [esp + 0x5fd8], bp
je 0x495537
lea ecx, [esp + 0x7fd8]
push ecx
lea edx, [esp + 0x5fdc]
push edx
call fcn.00473580
test eax, eax
jne 0x495614
mov byte [esp + 0x15], 1
xor eax, eax
mov edi, edi
movzx ecx, word [esp + eax + 0x67d8]
mov word [eax + 0x4f907c], cx
add eax, 2
cmp cx, bp
jne 0x495540
push 0x4f907c
call fcn.00451670
mov eax, dword [esi]
push eax
call fcn.00451bd0
mov edx, eax
jmp 0x495570
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x495570
mov edi, 0x4f907c
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x495585
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x4f907c
rep movsb byte es:[edi], byte [esi]
call fcn.00451f60
mov esi, eax
cmp esi, ebp
je 0x49572b
xor ecx, ecx
push 0x4f907c
mov word [esi], cx
call fcn.00451f60
mov edx, 0x2e
mov word [esi], dx
cmp eax, ebp
je 0x49572b
cmp byte [esp + 0x17], 0
je 0x49572b
cmp dword [esp + 0x170], ebp
jne 0x49572b
cmp dword [esp + 0x214], ebp
je 0x49572b
mov edx, eax
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
mov word [edx + ecx], ax
add ecx, 2
cmp ax, bp
jne 0x495600
jmp 0x49572b
mov byte [esp + 0x15], 0
cmp word [esp + 0x5fd8], bp
je 0x495684
xor eax, eax
jmp 0x495630
movzx ecx, word [esp + eax + 0x5fd8]
mov word [eax + 0x4f907c], cx
add eax, 2
cmp cx, bp
jne 0x495630
mov eax, dword [esi]
push eax
call fcn.00451bd0
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x495651
mov edi, 0x4f907c
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x495666
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4956a1
mov ecx, dword [esi]
mov edx, 0x4f907c
jmp 0x495690
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x495690
push 0x4f907c
call fcn.00451f60
mov esi, eax
cmp esi, ebp
je 0x4956f4
xor ecx, ecx
push 0x4f907c
mov word [esi], cx
call fcn.00451f60
cmp eax, ebp
je 0x4956ec
push str..tar
push eax
call fcn.00473580
test eax, eax
je 0x4956f4
cmp byte [esp + 0x17], 0
je 0x4956ec
cmp dword [esp + 0x170], ebp
jne 0x4956ec
cmp dword [esp + 0x214], ebp
jne 0x4956f4
mov edx, 0x2e
mov word [esi], dx
push ebx
push 0x4f907c
call fcn.00453ad0
push 0x4f907c
push ebp
call fcn.00431720
test al, al
je 0x49572b
push 0x50d
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
add esp, 8
mov byte [esp + 0x15], 1
mov esi, dword [esp + 0x1c]
cmp esi, dword [0x512a68]
jne 0x4957d2
lea eax, [esp + 0x67d8]
push eax
call fcn.00485d80
mov ecx, dword [0x4f987c]
push 0x4ba77c
mov dword [0x4f661c], 3
mov dword [0x4f6618], 2
mov byte [0x4f6652], 0
mov byte [0x4f6656], 0
call fcn.0046b230
push 0x4f907c
call fcn.00451bd0
push eax
push 0x208
call fcn.004612e0
push eax
lea ecx, [esp + 0x3de0]
push ecx
mov edx, 0x480
call fcn.0049c880
add esp, 0xc
lea edx, [esp + 0x3dd8]
push edx
call fcn.004861b0
cmp byte [0x4f6c02], 0
je 0x4957c7
mov byte [0x4f6c02], 0
mov byte [esp + 0x16], 1
push ebp
mov ecx, 0x4f0dd0
call fcn.00417250
cmp word [0x4f4ce0], bp
je 0x4957e5
push 0x4f4ce0
call fcn.00485840
cmp byte [0x4e9b88], 0
jne 0x495894
cmp esi, dword [0x512a68]
jne 0x495894
push 1
push ebp
push 0x4f907c
mov ecx, 0x4f0dd0
call fcn.004162e0
cmp eax, 1
jne 0x495894
lea eax, [esp + 0x240]
push eax
mov ecx, 0x4f0dd0
call fcn.004130d0
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x204]
cmp eax, dword [esp + 0x350]
jne 0x49584f
cmp ecx, dword [esp + 0x354]
je 0x495921
or eax, ecx
je 0x495921
push 0x4babb4
lea ecx, [esp + 0xf4]
push ecx
call fcn.00473580
test eax, eax
jne 0x49587a
cmp dword [esp + 0x214], ebp
jne 0x495921
push 0x50a
call fcn.004612e0
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [edx]
push eax
call fcn.00493af0
add esp, 8
cmp byte [esp + 0x15], 0
jne 0x4958a6
push 0x4f907c
push ebp
call fcn.00431a10
lea ecx, [esp + 0x2108]
push ecx
call fcn.00485d80
lea edx, [esp + 0x67d8]
push edx
call fcn.00485ab0
mov esi, dword [esp + 0x44]
mov edi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
inc dword [esp + 0x20]
cmp byte [0x4eac4c], 0
je 0x49515e
cmp byte [0x4e9b88], 0
jne 0x4958f2
cmp byte [0x4eac4c], 0
mov eax, 0x4d0
je 0x4958f7
mov eax, 0x271
push eax
call fcn.004612e0
push eax
call fcn.004861b0
cmp byte [0x4eac4c], 0
je 0x4960c2
mov eax, dword [0x4e9b84]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4960d6
mov eax, dword [esp + 0xc60]
cmp eax, ebp
je 0x4959ab
mov ecx, dword [esp + 0x20c]
push ecx
mov ecx, dword [esp + 0x20c]
cdq
push ecx
push edx
push eax
call fcn.004a5a10
push ebp
mov esi, edx
mov edx, dword [esp + 0x360]
push 0x64
mov edi, eax
mov eax, dword [esp + 0x360]
push edx
push eax
call fcn.004a5a10
cmp esi, edx
jg 0x4959ab
jl 0x49596e
cmp edi, eax
jae 0x4959ab
push 0x4f907c
call fcn.00451bd0
push eax
push 0x50f
call fcn.004612e0
push eax
lea ecx, [esp + 0x3de0]
push ecx
mov edx, 0x480
call fcn.0049c880
add esp, 0xc
lea edx, [esp + 0x3dd8]
push edx
call fcn.004861b0
jmp 0x495894
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [eax + 0x4f60e8]
mov word [esp + eax + 0x46d8], cx
add eax, 2
cmp cx, bp
jne 0x4959b0
mov esi, 1
cmp dword [0x4ea3a4], esi
jne 0x4959de
mov ecx, 0x4f2cd0
call fcn.0041e5e0
call fcn.00481960
xor eax, eax
jmp 0x4959f0
movzx ecx, word [esp + eax + 0x46d8]
mov word [eax + 0x4f60e8], cx
add eax, 2
cmp cx, bp
jne 0x4959f0
push 0x400
push 0x4f907c
mov ecx, 0x4f0dd0
call fcn.004130a0
mov eax, dword [0x4f0fdc]
mov ecx, dword [0x4f987c]
push 0x4ba77c
mov dword [0x4f701c], eax
mov byte [0x4f673a], 1
mov dword [0x4f66dc], ebp
mov dword [0x4f6700], ebp
call fcn.0046b230
push 0x4f907c
call fcn.00451bd0
push eax
push 0x20b
call fcn.004612e0
push eax
lea ecx, [esp + 0x3de0]
push ecx
mov edx, 0x480
call fcn.0049c880
add esp, 0xc
lea edx, [esp + 0x3dd8]
push edx
call fcn.004861b0
cmp byte [0x4f6c02], 0
je 0x495a95
mov byte [0x4f6c02], 0
mov byte [esp + 0x16], 1
push ebp
push ebp
mov ecx, 0x4f0dd0
call fcn.00417a70
cmp byte [0x4e9b88], 0
jne 0x495894
mov eax, dword [esp + 0x1c]
cmp eax, dword [0x512a68]
jne 0x495894
mov ecx, dword [esp + 0x350]
or ecx, dword [esp + 0x354]
jne 0x495af3
cmp dword [esp + 0x186c], ebp
jl 0x495af3
jg 0x495ae6
cmp dword [esp + 0x1868], 0x200
jb 0x495af3
cmp dword [esp + 0x1f8], esi
jbe 0x495894
mov eax, dword [esp + 0xc60]
cmp eax, ebp
je 0x495b44
mov ecx, dword [esp + 0x20c]
push ecx
mov ecx, dword [esp + 0x20c]
cdq
push ecx
push edx
push eax
call fcn.004a5a10
push ebp
mov esi, edx
mov edx, dword [esp + 0x360]
push 0x64
mov edi, eax
mov eax, dword [esp + 0x360]
push edx
push eax
call fcn.004a5a10
cmp esi, edx
jl 0x495894
jg 0x495b44
cmp edi, eax
jb 0x495894
push 0x4f907c
call fcn.00451bd0
push eax
push 0x25a
call fcn.004612e0
push eax
lea ecx, [esp + 0x3de0]
push ecx
mov edx, 0x480
call fcn.0049c880
add esp, 0xc
lea edx, [esp + 0x3dd8]
push edx
call fcn.004861b0
mov eax, dword [esp + 0x1868]
inc dword [esp + 0x24]
add dword [esp + 0x38], eax
mov ecx, dword [esp + 0x186c]
adc dword [esp + 0x3c], ecx
lea ecx, [esp + 0x2938]
call fcn.00401190
push ebp
lea edx, [esp + 0x293c]
push edx
push 0x4f907c
push ebp
call fcn.00435440
test al, al
je 0x495bd0
mov eax, dword [esp + 0x3538]
add dword [esp + 0x30], eax
mov ecx, dword [esp + 0x353c]
adc dword [esp + 0x34], ecx
cmp byte [esp + 0x15], 0
je 0x495f3b
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
push ebp
push 1
push eax
mov ecx, 0x4f0dd0
call fcn.004162e0
cmp eax, 1
jne 0x4958a6
lea ecx, [esp + 0x48]
call fcn.0046b190
mov byte [esp + 0x8814], 3
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
lea edx, [esp + 0x4fd8]
sub edx, eax
jmp 0x495c20
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bp
jne 0x495c20
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
mov byte [esp + 0x15], 0
lea ebx, [ebx]
lea edx, [esp + 0x4fd8]
push edx
lea eax, [esp + 0x57dc]
push str._s._cvtbackup_
push eax
mov edx, 0x400
call fcn.0049c880
add esp, 0xc
lea ecx, [esp + 0x57d8]
push ecx
lea edx, [esp + 0x4fdc]
push edx
call esi
test eax, eax
je 0x495deb
lea eax, [esp + 0x4fd8]
push eax
lea ecx, [esp + 0x4c]
call fcn.0046b240
lea ecx, [esp + 0x57d8]
push ecx
lea ecx, [esp + 0x4c]
call fcn.0046b240
push 0x400
lea edx, [esp + 0x4fdc]
push edx
mov ecx, 0x4f0dd0
call fcn.004134d0
test al, al
je 0x495ccf
lea eax, [esp + 0x4fd8]
push eax
push ebp
call fcn.00431720
test al, al
jne 0x495c40
push ebp
push 1
push 0x4f907c
mov ecx, 0x4f0dd0
call fcn.004162e0
cmp eax, 1
jne 0x495df0
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x4f907c]
mov word [esp + eax + 0x4fd8], cx
add eax, 2
cmp cx, bp
jne 0x495cf0
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
lea edx, [esp + 0x57d8]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bp
jne 0x495d20
lea edx, [esp + 0x4fd8]
push edx
call fcn.00451bd0
mov esi, eax
lea eax, [esp + 0x57d8]
push eax
call fcn.00451bd0
jmp 0x495d50
movzx ecx, word [esi]
mov word [eax], cx
add esi, 2
add eax, 2
cmp cx, bp
jne 0x495d50
lea ecx, [esp + 0x57d8]
push ecx
lea edx, [esp + 0x4fdc]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x495deb
cmp ebx, ebp
je 0x495d84
cmp ebx, 1
jne 0x495db8
push ebp
push ebp
push 3
push ebp
push ebp
push 0x40000000
lea eax, [esp + 0x57f0]
push eax
call edi
mov esi, eax
cmp esi, 0xffffffff
je 0x495db8
lea ecx, [esp + 0x20f8]
push ecx
push ebp
push ebp
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x400
lea edx, [esp + 0x4fdc]
push edx
mov ecx, 0x4f0dd0
call fcn.004134d0
test al, al
je 0x495df0
lea eax, [esp + 0x4fd8]
push eax
push ebp
call fcn.00431720
test al, al
jne 0x495d11
jmp 0x495df0
mov byte [esp + 0x15], 1
xor bl, bl
cmp byte [esp + 0xc5c], bl
jne 0x495e73
push 0x400
lea ecx, [esp + 0x47dc]
push ecx
lea ecx, [esp + 0x50]
mov bl, 1
call fcn.0046b550
test al, al
je 0x495e6a
jmp 0x495e20
push 0x400
lea edx, [esp + 0x6fdc]
push edx
lea ecx, [esp + 0x50]
call fcn.0046b550
test al, al
je 0x495e6a
lea eax, [esp + 0x47d8]
push eax
push ebp
call fcn.00431720
test al, al
jne 0x495e68
push 0x400
lea ecx, [esp + 0x47dc]
push ecx
lea ecx, [esp + 0x50]
call fcn.0046b550
test al, al
jne 0x495e20
jmp 0x495e6a
xor bl, bl
lea ecx, [esp + 0x48]
call fcn.0046adf0
push 0x400
lea edx, [esp + 0x47dc]
push edx
lea ecx, [esp + 0x50]
call fcn.0046b550
test al, al
je 0x495f25
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x495ea0
push 0x400
lea eax, [esp + 0x6fdc]
push eax
lea ecx, [esp + 0x50]
call fcn.0046b550
test al, al
je 0x495f25
cmp byte [esp + 0x15], 0
jne 0x495ee3
test bl, bl
jne 0x495ef5
lea ecx, [esp + 0x6fd8]
push ecx
push ebp
call fcn.00432670
lea edx, [esp + 0x6fd8]
push edx
push ebp
call fcn.00431a10
jmp 0x495f07
test bl, bl
jne 0x495ef5
lea eax, [esp + 0x47d8]
push eax
push ebp
call fcn.00431a10
lea ecx, [esp + 0x47d8]
push ecx
lea edx, [esp + 0x6fdc]
push edx
call esi
push 0x400
lea eax, [esp + 0x47dc]
push eax
lea ecx, [esp + 0x50]
call fcn.0046b550
test al, al
jne 0x495ea0
mov byte [esp + 0x8814], 1
lea ecx, [esp + 0x48]
call fcn.00401af0
jmp 0x4958a6
cmp byte [esp + 0xc5c], 0
je 0x496008
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
push ebp
push 1
push ecx
mov ecx, 0x4f0dd0
call fcn.004162e0
cmp eax, 1
jne 0x496008
mov eax, dword [esi]
lea edx, [esp + 0x47d8]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bp
jne 0x495f71
lea edx, [esp + 0x47d8]
push edx
call fcn.00451bd0
push eax
push 0x258
call fcn.004612e0
push eax
lea eax, [esp + 0x3de0]
push eax
mov edx, 0x480
call fcn.0049c880
add esp, 0xc
lea ecx, [esp + 0x3dd8]
push ecx
call fcn.004861b0
lea edx, [esp + 0x47d8]
push edx
push ebp
call fcn.00432670
lea eax, [esp + 0x47d8]
push eax
push ebp
call fcn.00431a10
push 0x400
lea ecx, [esp + 0x47dc]
push ecx
mov ecx, 0x4f0dd0
call fcn.004134d0
test al, al
je 0x496008
lea edx, [esp + 0x47d8]
push edx
push ebp
call fcn.00431720
test al, al
jne 0x495f80
push ebp
push 1
push 0x4f907c
mov ecx, 0x4f0dd0
call fcn.004162e0
cmp eax, 1
jne 0x4958a6
xor eax, eax
jmp 0x496030
movzx ecx, word [eax + 0x4f907c]
mov word [esp + eax + 0x57d8], cx
add eax, 2
cmp cx, bp
jne 0x496030
mov eax, dword [esp + 0x40]
cmp eax, ebp
je 0x496054
cmp eax, 1
jne 0x49608c
push ebp
push ebp
push 3
push ebp
push ebp
push 0x40000000
lea eax, [esp + 0x57f0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x49608c
lea ecx, [esp + 0x20f8]
push ecx
push ebp
push ebp
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x400
lea edx, [esp + 0x57dc]
push edx
mov ecx, 0x4f0dd0
call fcn.004134d0
test al, al
je 0x4958a6
lea eax, [esp + 0x57d8]
push eax
push ebp
call fcn.00431720
test al, al
jne 0x496047
jmp 0x4958a6
push ebp
push ebp
push ebp
push ebp
push ebp
push 1
push ebp
push 1
call fcn.00486de0
call fcn.00486250
cmp byte [0x4e9b89], 0
je 0x49610f
push ebp
push ebp
lea ecx, [esp + 0x77e0]
push ecx
mov ecx, 0x4f0dd0
call fcn.004162e0
cmp eax, 1
je 0x496106
mov ecx, 0x4f04a8
call fcn.00442a00
test al, al
jne 0x496115
cmp byte [0x4e9b89], 0
jne 0x49612a
cmp dword [esp + 0x24], ebp
jbe 0x49612a
push 0x4f907c
call fcn.00451bd0
push eax
mov ecx, 0x4f04a8
call fcn.004430b0
cmp byte [esp + 0xc64], 0
je 0x496145
mov edx, dword [str.InterfaceConvertProfile]
push edx
push 0x5110d0
call fcn.0045bd80
push 0x5110d0
call fcn.0045be60
cmp byte [esp + 0x16], 0
je 0x49615b
call fcn.004851a0
mov dword [esp + 0x8814], 0xffffffff
lea ecx, [esp + 0x390]
call fcn.004147b0
mov ecx, dword [esp + 0x880c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x87f4]
xor ecx, esp
call fcn.004a4bb3
add esp, 0x8804
ret 4