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

Disassembly:
push 0xffffffffffffffff
push 0x4b6d47
mov eax, dword fs:[0]
push eax
mov eax, 0x87f8
call fcn.004a4490
mov eax, dword [0x4ca3b0]
xor eax, esp
mov dword [esp + 0x87f4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ca3b0]
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 0x50fc40
mov edx, 0xc8
call fcn.0046b810
add esp, 0x10
lea ecx, [esp + 0x390]
call fcn.0043eef0
mov ebx, 1
mov dword [esp + 0x8814], ebx
xor ebp, ebp
cmp byte [0x4e7b89], 0
mov byte [esp + 0xc64], 0
je 0x494168
push 0x400
lea ecx, [esp + 0x77dc]
push ecx
mov ecx, 0x4eeda0
call fcn.00412f80
push 0x830
lea edx, [esp + 0x210c]
push ebp
push edx
call fcn.004a44c0
add esp, 0xc
xor eax, eax
jmp 0x4940d0
movzx ecx, word [esp + eax + 0x77d8]
mov word [esp + eax + 0x2108], cx
add eax, 2
cmp cx, bp
jne 0x4940d0
lea ecx, [esp + 0x187c]
call fcn.0046d1b0
lea ecx, [esp + 0x18a0]
call fcn.0046d1b0
lea ecx, [esp + 0x18c4]
call fcn.0046d1b0
push ebp
lea eax, [esp + 0xc6c]
push eax
lea ecx, [esp + 0x77e0]
push ecx
push ebp
call fcn.00434fa0
test al, al
je 0x494143
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.0043eb00
lea ecx, [esp + 0x390]
call fcn.0043ed70
jmp 0x49421c
lea ecx, [esp + 0x48]
call fcn.0046a800
mov byte [esp + 0x8814], 2
lea edi, [esp + 0x48]
cmp esi, ebp
je 0x494185
mov edi, esi
jmp 0x494195
push ebp
lea edx, [esp + 0x4c]
push edx
mov ecx, 0x4ee478
call fcn.00440380
push ebp
push ebp
push ebx
push ebx
push ebx
lea eax, [esp + 0x3a4]
push eax
push 3
push edi
call fcn.00462fc0
test al, al
jne 0x4941db
mov byte [esp + 0x8814], 1
lea ecx, [esp + 0x48]
call fcn.00401b00
mov dword [esp + 0x8814], 0xffffffff
lea ecx, [esp + 0x390]
call fcn.00490ed0
jmp 0x4953d2
xor esi, esi
cmp dword [esp + 0x444], ebp
jbe 0x49420b
jmp 0x4941f0
push esi
lea ecx, [esp + 0x394]
call fcn.0043ee90
add esi, ebx
mov dword [eax + 4], ebp
cmp esi, dword [esp + 0x444]
jb 0x4941f0
mov byte [esp + 0x8814], 1
lea ecx, [esp + 0x48]
call fcn.00401b00
mov ecx, dword [str.InterfaceConvertProfile]
push 0x50fc40
push ecx
call fcn.0045b550
mov edx, dword [0x4e8cd4]
push edx
mov byte [esp + 0x1a], 0
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov edx, dword [0x4d56b0]
neg eax
lea ecx, [esp + 0x390]
push ecx
sbb eax, eax
and eax, dword [0x4e8cd4]
push 0x490f20
push eax
push str.CONVERTARC
push edx
mov dword [esp + 0x38], ebp
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x49538a
push ebp
push str.Background
push 0x50fc40
call fcn.0045b230
test eax, eax
jne 0x4942a0
cmp dword [0x4e83a4], ebx
jne 0x494299
cmp byte [0x4f5fc3], al
jne 0x4942a0
mov byte [esp + 0x1c], 0
jmp 0x4942a5
mov byte [esp + 0x1c], 1
mov eax, dword [esp + 0x1c]
push ebp
push eax
push ebp
push 8
call fcn.00487af0
push 0x400
lea ecx, [esp + 0x210c]
push ecx
call fcn.004850e0
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 [0x4e8420], ebp
mov dword [0x4e8424], ebp
cmp dword [esp + 0x444], ebp
jbe 0x494322
mov edi, edi
push edi
lea ecx, [esp + 0x394]
call fcn.0043ee90
test byte [eax + 4], 8
je 0x494317
mov edx, dword [eax + 8]
add dword [0x4e8420], edx
mov eax, dword [eax + 0xc]
adc dword [0x4e8424], eax
add esi, ebx
add edi, ebx
cmp edi, dword [esp + 0x444]
jb 0x4942f0
push 0x480
lea ecx, [esp + 0x3ddc]
push ecx
push ebp
push esi
call fcn.00446170
mov eax, dword [0x4e7b84]
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 [0x4e8c4c], 0
mov dword [0x4e8c40], ebp
mov dword [0x4e8c44], ebp
mov dword [esp + 0x20], ebp
jne 0x494b37
cmp byte [0x4e7b88], 0
jne 0x494b4e
mov edx, dword [esp + 0x24]
push 0x480
lea ecx, [esp + 0x3ddc]
push ecx
push ebp
push edx
call fcn.00446170
mov ecx, dword [0x4e7b84]
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.00446170
mov eax, dword [0x4e7b84]
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.00446170
mov edx, dword [0x4e7b84]
lea ecx, [esp + 0x3dd8]
push ecx
push 0x68
push edx
call edi
cmp esi, 0xffffffff
je 0x494438
push esi
lea eax, [esp + 0x7fdc]
push eax
lea ecx, [esp + 0x398]
call fcn.0043ecc0
mov ecx, dword [eax + 0x800]
add dword [0x4e8c40], ecx
mov edx, dword [eax + 0x804]
adc dword [0x4e8c44], edx
or esi, 0xffffffff
call fcn.00486ca0
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x444]
jge 0x494b37
mov ecx, eax
push ecx
lea ecx, [esp + 0x394]
call fcn.0043ee90
mov ebx, eax
test byte [ebx + 4], 8
mov dword [esp + 0x18], ebx
je 0x494b26
mov edx, dword [ebx]
mov esi, dword [esp + 0x20]
push 1
push ebp
push edx
mov ecx, 0x4eeda0
mov dword [esp + 0x50], esi
call fcn.00416180
cmp eax, 1
jne 0x494b26
lea eax, [esp + 0xf0]
push eax
mov ecx, 0x4eeda0
call fcn.00412fb0
lea ecx, [esp + 0x187c]
call fcn.0046d1b0
lea ecx, [esp + 0x18a0]
call fcn.0046d1b0
lea ecx, [esp + 0x18c4]
call fcn.0046d1b0
mov edx, dword [ebx]
push ebp
lea ecx, [esp + 0xc6c]
push ecx
push edx
push ebp
call fcn.00434fa0
test al, al
je 0x494b26
cmp word [0x4f40b8], bp
jne 0x49450b
cmp dword [esp + 0x22c], ebp
je 0x49450b
push 0x50e
call fcn.00460a30
push eax
mov eax, dword [ebx]
push eax
call fcn.00492ce0
add esp, 8
jmp 0x494b26
lea ecx, [esp + 0x67d8]
push ecx
push str.Rar_CVXXXXXX
call fcn.00484a20
test al, al
je 0x494b26
lea edx, [esp + 0x67d8]
push edx
call fcn.004850c0
mov esi, 1
cmp dword [0x4e83a4], esi
jne 0x494549
mov ecx, 0x4f0ca0
call fcn.0041e3b0
call fcn.00480dd0
push 0x400
push 0x4f701c
mov ecx, 0x4eeda0
call fcn.00412f80
mov eax, dword [0x4eefac]
mov ecx, dword [0x4f781c]
mov dword [0x4f4fbc], eax
mov eax, 4
push 0x4b877c
mov dword [0x4f45c4], esi
mov dword [0x4f4ba8], eax
mov dword [0x4f4bac], eax
call fcn.0046a8a0
push 0x4f701c
push 0x20a
call fcn.00460a30
push eax
lea ecx, [esp + 0x3de0]
push ecx
mov edx, 0x480
call fcn.0046b810
add esp, 0xc
lea edx, [esp + 0x3dd8]
push edx
call fcn.00485490
cmp byte [0x4f4ba2], 0
mov eax, dword [0x5115d8]
mov dword [esp + 0x1c], eax
je 0x4945e1
mov byte [0x4f4ba2], 0
mov byte [esp + 0x16], 1
push ebp
push ebp
mov ecx, 0x4eeda0
call fcn.00417860
cmp byte [0x4e7b88], 0
jne 0x494b02
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [0x5115d8]
jne 0x494b02
push 0x50fc40
call fcn.00481190
mov edx, dword [0x4f460c]
mov dword [esp + 0x40], edx
mov byte [0x4f46da], 0
cmp word [0x4f2cb0], bp
jne 0x49468e
push ebp
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, 0x4eeda0
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
call fcn.00413160
cmp dword [esp + 0x28], ebp
jbe 0x494681
push 0x4f2cb0
push str.Rar_CMXXXXXX
call fcn.00484930
mov esi, eax
cmp esi, ebp
je 0x494681
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push esi
push edx
push 1
push eax
call fcn.004a5f54
push esi
call fcn.004a5d25
add esp, 0x14
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004a48a5
add esp, 4
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push 0x400
lea edx, [esp + 0x7fdc]
push edx
push eax
call fcn.00451ae0
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 0x4946b0
cmp word [esp + 0x5fd8], bp
je 0x4946df
lea ecx, [esp + 0x5fd8]
push ecx
call fcn.00451050
mov edx, dword [esi]
push edx
call fcn.0043fb70
mov byte [esp + 0x17], al
mov ebx, 0x4b8dfc
cmp dword [0x4f4fbc], ebp
je 0x4946fd
mov ebx, 0x4b8a98
cmp word [0x4f14b0], bp
je 0x49470b
mov ebx, 0x4b8dc4
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push ebx
push eax
call fcn.004519a0
test al, al
je 0x494874
cmp word [esp + 0x5fd8], bp
je 0x494747
lea ecx, [esp + 0x7fd8]
push ecx
lea edx, [esp + 0x5fdc]
push edx
call fcn.00472b40
test eax, eax
jne 0x494874
mov byte [esp + 0x15], 1
xor eax, eax
mov edi, edi
movzx ecx, word [esp + eax + 0x67d8]
mov word [eax + 0x4f701c], cx
add eax, 2
cmp cx, bp
jne 0x494750
push 0x4f701c
call fcn.00451050
mov eax, dword [esi]
push eax
call fcn.004515b0
mov edx, eax
jmp 0x494780
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x494780
mov edi, 0x4f701c
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x494795
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x4f701c
rep movsb byte es:[edi], byte [esi]
call fcn.00451930
mov esi, eax
cmp esi, ebp
je 0x49498b
xor ecx, ecx
push 0x4f701c
mov word [esi], cx
call fcn.00451930
mov edx, 0x2e
mov word [esi], dx
cmp eax, ebp
je 0x49498b
cmp byte [esp + 0x17], 0
je 0x49498b
cmp dword [esp + 0x170], ebp
jne 0x49498b
cmp dword [esp + 0x214], ebp
je 0x49498b
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 0x494810
push 0x4f701c
call fcn.00451930
mov esi, eax
cmp esi, ebp
je 0x49498b
xor eax, eax
push 0x4f701c
mov word [esi], ax
call fcn.00451930
mov ecx, 0x2e
mov word [esi], cx
cmp eax, ebp
je 0x49498b
mov edx, eax
mov ecx, esi
sub edx, esi
jmp 0x494860
movzx eax, word [ecx]
mov word [edx + ecx], ax
add ecx, 2
cmp ax, bp
jne 0x494860
jmp 0x49498b
mov byte [esp + 0x15], 0
cmp word [esp + 0x5fd8], bp
je 0x4948e4
xor eax, eax
jmp 0x494890
movzx ecx, word [esp + eax + 0x5fd8]
mov word [eax + 0x4f701c], cx
add eax, 2
cmp cx, bp
jne 0x494890
mov edx, dword [esi]
push edx
call fcn.004515b0
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4948b1
mov edi, 0x4f701c
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x4948c6
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 0x494901
mov ecx, dword [esi]
mov edx, 0x4f701c
jmp 0x4948f0
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4948f0
push 0x4f701c
call fcn.00451930
mov esi, eax
cmp esi, ebp
je 0x494954
xor eax, eax
push 0x4f701c
mov word [esi], ax
call fcn.00451930
cmp eax, ebp
je 0x49494c
push str..tar
push eax
call fcn.00472b40
test eax, eax
je 0x494954
cmp byte [esp + 0x17], 0
je 0x49494c
cmp dword [esp + 0x170], ebp
jne 0x49494c
cmp dword [esp + 0x214], ebp
jne 0x494954
mov ecx, 0x2e
mov word [esi], cx
push ebx
push 0x4f701c
call fcn.00453570
push 0x4f701c
push ebp
call fcn.00431510
test al, al
je 0x49498b
push 0x50d
call fcn.00460a30
push eax
push 0x4f701c
call fcn.00492ce0
add esp, 8
mov byte [esp + 0x15], 1
mov esi, dword [esp + 0x1c]
cmp esi, dword [0x5115d8]
jne 0x494a32
lea edx, [esp + 0x67d8]
push edx
call fcn.004850c0
mov ecx, dword [0x4f781c]
push 0x4b877c
mov dword [0x4f45ec], 3
mov dword [0x4f45e8], 2
mov byte [0x4f4622], 0
mov byte [0x4f4626], 0
call fcn.0046a8a0
push 0x4f701c
call fcn.004515b0
push eax
push 0x208
call fcn.00460a30
push eax
lea eax, [esp + 0x3de0]
push eax
mov edx, 0x480
call fcn.0046b810
add esp, 0xc
lea ecx, [esp + 0x3dd8]
push ecx
call fcn.00485490
cmp byte [0x4f4ba2], 0
je 0x494a27
mov byte [0x4f4ba2], 0
mov byte [esp + 0x16], 1
push ebp
mov ecx, 0x4eeda0
call fcn.00417040
cmp word [0x4f2cb0], bp
je 0x494a45
push 0x4f2cb0
call fcn.00484b90
cmp byte [0x4e7b88], 0
jne 0x494af0
cmp esi, dword [0x5115d8]
jne 0x494af0
push 1
push ebp
push 0x4f701c
mov ecx, 0x4eeda0
call fcn.00416180
cmp eax, 1
jne 0x494af0
lea edx, [esp + 0x240]
push edx
mov ecx, 0x4eeda0
call fcn.00412fb0
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x204]
cmp eax, dword [esp + 0x350]
jne 0x494aab
cmp ecx, dword [esp + 0x354]
je 0x494b7d
or eax, ecx
je 0x494b7d
push 0x4b8bb4
lea eax, [esp + 0xf4]
push eax
call fcn.00472b40
test eax, eax
jne 0x494ad6
cmp dword [esp + 0x214], ebp
jne 0x494b7d
push 0x50a
call fcn.00460a30
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
push edx
call fcn.00492ce0
add esp, 8
cmp byte [esp + 0x15], 0
jne 0x494b02
push 0x4f701c
push ebp
call fcn.004317e0
lea ecx, [esp + 0x2108]
push ecx
call fcn.004850c0
lea edx, [esp + 0x67d8]
push edx
call fcn.00484e00
mov esi, dword [esp + 0x44]
mov edi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
inc dword [esp + 0x20]
cmp byte [0x4e8c4c], 0
je 0x49436e
cmp byte [0x4e7b88], 0
jne 0x494b4e
cmp byte [0x4e8c4c], 0
mov eax, 0x4d0
je 0x494b53
mov eax, 0x271
push eax
call fcn.00460a30
push eax
call fcn.00485490
cmp byte [0x4e8c4c], 0
je 0x495322
mov eax, dword [0x4e7b84]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x495336
mov eax, dword [esp + 0xc60]
cmp eax, ebp
je 0x494c07
mov ecx, dword [esp + 0x20c]
push ecx
mov ecx, dword [esp + 0x20c]
cdq
push ecx
push edx
push eax
call fcn.004a4ac0
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.004a4ac0
cmp esi, edx
jg 0x494c07
jl 0x494bca
cmp edi, eax
jae 0x494c07
push 0x4f701c
call fcn.004515b0
push eax
push 0x50f
call fcn.00460a30
push eax
lea ecx, [esp + 0x3de0]
push ecx
mov edx, 0x480
call fcn.0046b810
add esp, 0xc
lea edx, [esp + 0x3dd8]
push edx
call fcn.00485490
jmp 0x494af0
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x4f40b8]
mov word [esp + eax + 0x46d8], cx
add eax, 2
cmp cx, bp
jne 0x494c10
mov esi, 1
cmp dword [0x4e83a4], esi
jne 0x494c3e
mov ecx, 0x4f0ca0
call fcn.0041e3b0
call fcn.00480dd0
xor eax, eax
jmp 0x494c50
movzx ecx, word [esp + eax + 0x46d8]
mov word [eax + 0x4f40b8], cx
add eax, 2
cmp cx, bp
jne 0x494c50
push 0x400
push 0x4f701c
mov ecx, 0x4eeda0
call fcn.00412f80
mov eax, dword [0x4eefac]
mov ecx, dword [0x4f781c]
push 0x4b877c
mov dword [0x4f4fbc], eax
mov byte [0x4f46da], 1
mov dword [0x4f467c], ebp
mov dword [0x4f46a0], ebp
call fcn.0046a8a0
push 0x4f701c
call fcn.004515b0
push eax
push 0x20b
call fcn.00460a30
push eax
lea ecx, [esp + 0x3de0]
push ecx
mov edx, 0x480
call fcn.0046b810
add esp, 0xc
lea edx, [esp + 0x3dd8]
push edx
call fcn.00485490
cmp byte [0x4f4ba2], 0
je 0x494cf5
mov byte [0x4f4ba2], 0
mov byte [esp + 0x16], 1
push ebp
push ebp
mov ecx, 0x4eeda0
call fcn.00417860
cmp byte [0x4e7b88], 0
jne 0x494af0
mov eax, dword [esp + 0x1c]
cmp eax, dword [0x5115d8]
jne 0x494af0
mov ecx, dword [esp + 0x350]
or ecx, dword [esp + 0x354]
jne 0x494d53
cmp dword [esp + 0x186c], ebp
jl 0x494d53
jg 0x494d46
cmp dword [esp + 0x1868], 0x200
jb 0x494d53
cmp dword [esp + 0x1f8], esi
jbe 0x494af0
mov eax, dword [esp + 0xc60]
cmp eax, ebp
je 0x494da4
mov ecx, dword [esp + 0x20c]
push ecx
mov ecx, dword [esp + 0x20c]
cdq
push ecx
push edx
push eax
call fcn.004a4ac0
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.004a4ac0
cmp esi, edx
jl 0x494af0
jg 0x494da4
cmp edi, eax
jb 0x494af0
push 0x4f701c
call fcn.004515b0
push eax
push 0x25a
call fcn.00460a30
push eax
lea ecx, [esp + 0x3de0]
push ecx
mov edx, 0x480
call fcn.0046b810
add esp, 0xc
lea edx, [esp + 0x3dd8]
push edx
call fcn.00485490
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 0x4f701c
push ebp
call fcn.00434fa0
test al, al
je 0x494e30
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 0x49519b
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
push ebp
push 1
push eax
mov ecx, 0x4eeda0
call fcn.00416180
cmp eax, 1
jne 0x494b02
lea ecx, [esp + 0x48]
call fcn.0046a800
mov byte [esp + 0x8814], 3
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
lea edx, [esp + 0x4fd8]
sub edx, eax
jmp 0x494e80
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bp
jne 0x494e80
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.0046b810
add esp, 0xc
lea ecx, [esp + 0x57d8]
push ecx
lea edx, [esp + 0x4fdc]
push edx
call esi
test eax, eax
je 0x49504b
lea eax, [esp + 0x4fd8]
push eax
lea ecx, [esp + 0x4c]
call fcn.0046a8b0
lea ecx, [esp + 0x57d8]
push ecx
lea ecx, [esp + 0x4c]
call fcn.0046a8b0
push 0x400
lea edx, [esp + 0x4fdc]
push edx
mov ecx, 0x4eeda0
call fcn.004133b0
test al, al
je 0x494f2f
lea eax, [esp + 0x4fd8]
push eax
push ebp
call fcn.00431510
test al, al
jne 0x494ea0
push ebp
push 1
push 0x4f701c
mov ecx, 0x4eeda0
call fcn.00416180
cmp eax, 1
jne 0x495050
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x4f701c]
mov word [esp + eax + 0x4fd8], cx
add eax, 2
cmp cx, bp
jne 0x494f50
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 0x494f80
lea edx, [esp + 0x4fd8]
push edx
call fcn.004515b0
mov esi, eax
lea eax, [esp + 0x57d8]
push eax
call fcn.004515b0
jmp 0x494fb0
movzx ecx, word [esi]
mov word [eax], cx
add esi, 2
add eax, 2
cmp cx, bp
jne 0x494fb0
lea ecx, [esp + 0x57d8]
push ecx
lea edx, [esp + 0x4fdc]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x49504b
cmp ebx, ebp
je 0x494fe4
cmp ebx, 1
jne 0x495018
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 0x495018
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, 0x4eeda0
call fcn.004133b0
test al, al
je 0x495050
lea eax, [esp + 0x4fd8]
push eax
push ebp
call fcn.00431510
test al, al
jne 0x494f71
jmp 0x495050
mov byte [esp + 0x15], 1
xor bl, bl
cmp byte [esp + 0xc5c], bl
jne 0x4950d3
push 0x400
lea ecx, [esp + 0x47dc]
push ecx
lea ecx, [esp + 0x50]
mov bl, 1
call fcn.0046abc0
test al, al
je 0x4950ca
jmp 0x495080
push 0x400
lea edx, [esp + 0x6fdc]
push edx
lea ecx, [esp + 0x50]
call fcn.0046abc0
test al, al
je 0x4950ca
lea eax, [esp + 0x47d8]
push eax
push ebp
call fcn.00431510
test al, al
jne 0x4950c8
push 0x400
lea ecx, [esp + 0x47dc]
push ecx
lea ecx, [esp + 0x50]
call fcn.0046abc0
test al, al
jne 0x495080
jmp 0x4950ca
xor bl, bl
lea ecx, [esp + 0x48]
call fcn.0046a460
push 0x400
lea edx, [esp + 0x47dc]
push edx
lea ecx, [esp + 0x50]
call fcn.0046abc0
test al, al
je 0x495185
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x495100
push 0x400
lea eax, [esp + 0x6fdc]
push eax
lea ecx, [esp + 0x50]
call fcn.0046abc0
test al, al
je 0x495185
cmp byte [esp + 0x15], 0
jne 0x495143
test bl, bl
jne 0x495155
lea ecx, [esp + 0x6fd8]
push ecx
push ebp
call fcn.004321f0
lea edx, [esp + 0x6fd8]
push edx
push ebp
call fcn.004317e0
jmp 0x495167
test bl, bl
jne 0x495155
lea eax, [esp + 0x47d8]
push eax
push ebp
call fcn.004317e0
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.0046abc0
test al, al
jne 0x495100
mov byte [esp + 0x8814], 1
lea ecx, [esp + 0x48]
call fcn.00401b00
jmp 0x494b02
cmp byte [esp + 0xc5c], 0
je 0x495268
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
push ebp
push 1
push ecx
mov ecx, 0x4eeda0
call fcn.00416180
cmp eax, 1
jne 0x495268
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 0x4951d1
lea edx, [esp + 0x47d8]
push edx
call fcn.004515b0
push eax
push 0x258
call fcn.00460a30
push eax
lea eax, [esp + 0x3de0]
push eax
mov edx, 0x480
call fcn.0046b810
add esp, 0xc
lea ecx, [esp + 0x3dd8]
push ecx
call fcn.00485490
lea edx, [esp + 0x47d8]
push edx
push ebp
call fcn.004321f0
lea eax, [esp + 0x47d8]
push eax
push ebp
call fcn.004317e0
push 0x400
lea ecx, [esp + 0x47dc]
push ecx
mov ecx, 0x4eeda0
call fcn.004133b0
test al, al
je 0x495268
lea edx, [esp + 0x47d8]
push edx
push ebp
call fcn.00431510
test al, al
jne 0x4951e0
push ebp
push 1
push 0x4f701c
mov ecx, 0x4eeda0
call fcn.00416180
cmp eax, 1
jne 0x494b02
xor eax, eax
jmp 0x495290
movzx ecx, word [eax + 0x4f701c]
mov word [esp + eax + 0x57d8], cx
add eax, 2
cmp cx, bp
jne 0x495290
mov eax, dword [esp + 0x40]
cmp eax, ebp
je 0x4952b4
cmp eax, 1
jne 0x4952ec
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 0x4952ec
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, 0x4eeda0
call fcn.004133b0
test al, al
je 0x494b02
lea eax, [esp + 0x57d8]
push eax
push ebp
call fcn.00431510
test al, al
jne 0x4952a7
jmp 0x494b02
push ebp
push ebp
push ebp
push ebp
push ebp
push 1
push ebp
push 1
call fcn.00486090
call fcn.00485530
cmp byte [0x4e7b89], 0
je 0x49536f
push ebp
push ebp
lea ecx, [esp + 0x77e0]
push ecx
mov ecx, 0x4eeda0
call fcn.00416180
cmp eax, 1
je 0x495366
mov ecx, 0x4ee478
call fcn.00442540
test al, al
jne 0x495375
cmp byte [0x4e7b89], 0
jne 0x49538a
cmp dword [esp + 0x24], ebp
jbe 0x49538a
push 0x4f701c
call fcn.004515b0
push eax
mov ecx, 0x4ee478
call fcn.00442bf0
cmp byte [esp + 0xc64], 0
je 0x4953a5
mov edx, dword [str.InterfaceConvertProfile]
push edx
push 0x50fc40
call fcn.0045b550
push 0x50fc40
call fcn.0045b630
cmp byte [esp + 0x16], 0
je 0x4953bb
call fcn.00484520
mov dword [esp + 0x8814], 0xffffffff
lea ecx, [esp + 0x390]
call fcn.00414660
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.004a3c63
add esp, 0x8804
ret 4