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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d49ed
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0xc6ec
call fcn.004bfc70
mov eax, dword [0x4ea93c]
xor eax, esp
mov dword [esp + 0xc6e8], eax
push ebx
push esi
push edi
mov eax, dword [0x4ea93c]
xor eax, esp
push eax
lea eax, [esp + 0xc700]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
mov eax, dword [str.InterfaceConvertProfile]
push eax
push str._s_u
push 0x571cb8
mov edx, 0xc8
call fcn.0043a6e0
add esp, 0x10
lea ecx, [esp + 0x474]
call fcn.0044aef0
mov dword [esp + 0xc708], 1
xor ebx, ebx
mov byte [esp + 0x1504], bl
cmp byte [0x5323f1], bl
je 0x4ad5b7
push 0x800
lea ecx, [esp + 0xb6f8]
push ecx
mov ecx, 0x540eb0
call fcn.00414de0
push 0x1050
lea edx, [esp + 0x2558]
push ebx
push edx
call fcn.004c05a0
add esp, 0xc
xor eax, eax
jmp 0x4ad520
movzx ecx, word [esp + eax + 0xb6f4]
mov word [esp + eax + 0x2554], cx
add eax, 2
cmp cx, bx
jne 0x4ad520
lea ecx, [esp + 0x251c]
call fcn.00481670
lea ecx, [esp + 0x2524]
call fcn.00481670
lea ecx, [esp + 0x252c]
call fcn.00481670
push ebx
lea eax, [esp + 0x1510]
push eax
lea ecx, [esp + 0xb6fc]
push ecx
call fcn.00441010
test al, al
je 0x4ad592
mov edx, dword [esp + 0x250c]
mov eax, dword [esp + 0x2510]
mov dword [esp + 0x3554], edx
mov dword [esp + 0x3558], eax
lea ecx, [esp + 0x2554]
push ecx
lea ecx, [esp + 0x478]
call fcn.0044ab20
lea ecx, [esp + 0x474]
call fcn.0044ae10
jmp 0x4ad673
lea ecx, [esp + 0x4c]
call fcn.0047e890
mov byte [esp + 0xc708], 2
lea edi, [esp + 0x4c]
cmp esi, ebx
je 0x4ad5d4
mov edi, esi
jmp 0x4ad5e5
push 1
lea edx, [esp + 0x50]
push edx
mov ecx, 0x53ed88
call fcn.0044c850
push ebx
push ebx
push ebx
push 1
push 1
lea eax, [esp + 0x488]
push eax
push 3
push edi
call fcn.00476c10
test al, al
jne 0x4ad62d
mov byte [esp + 0xc708], 1
lea ecx, [esp + 0x4c]
call fcn.004104a0
mov dword [esp + 0xc708], 0xffffffff
lea ecx, [esp + 0x474]
call fcn.004a9ea0
jmp 0x4ae715
xor esi, esi
cmp dword [esp + 0x4e0], ebx
jbe 0x4ad65a
jmp 0x4ad640
push esi
lea ecx, [esp + 0x478]
call fcn.0044aeb0
inc esi
mov dword [eax + 4], ebx
cmp esi, dword [esp + 0x4e0]
jb 0x4ad640
mov byte [esp + 0xc708], 1
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x4ad673
push eax
call fcn.004bff04
add esp, 4
mov ecx, dword [str.InterfaceConvertProfile]
push 0x571cb8
push ecx
call fcn.0046c000
mov edx, dword [0x534544]
push edx
mov byte [esp + 0x15], 0
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov edx, dword [0x51e7a4]
neg eax
lea ecx, [esp + 0x474]
push ecx
sbb eax, eax
and eax, dword [0x534544]
push 0x4a9ef0
push eax
push str.CONVERTARC
push edx
mov dword [esp + 0x34], ebx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4ae6ce
push ebx
push str.Background
push 0x571cb8
call fcn.0046bce0
test eax, eax
jne 0x4ad6f8
cmp dword [0x53340c], 1
jne 0x4ad6f1
cmp byte [0x54ecb7], al
jne 0x4ad6f8
mov byte [esp + 0x14], 0
jmp 0x4ad6fd
mov byte [esp + 0x14], 1
mov eax, dword [esp + 0x14]
push ebx
push eax
push ebx
push 8
call fcn.004a11d0
push 0x800
lea ecx, [esp + 0x2558]
push ecx
call fcn.0049e700
xor edi, edi
xor esi, esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [0x533488], ebx
mov dword [0x53348c], ebx
mov dword [esp + 0x44], edi
cmp dword [esp + 0x4e0], ebx
jbe 0x4ad784
lea ebx, [ebx]
push esi
lea ecx, [esp + 0x478]
call fcn.0044aeb0
test byte [eax + 4], 2
je 0x4ad776
mov edx, dword [eax + 8]
add dword [0x533488], edx
mov eax, dword [eax + 0xc]
adc dword [0x53348c], eax
inc edi
inc esi
cmp esi, dword [esp + 0x4e0]
jb 0x4ad750
mov dword [esp + 0x44], edi
push 0x880
lea ecx, [esp + 0x85a8]
push ecx
push ebx
push edi
call fcn.00452400
mov eax, dword [0x5323ec]
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea edx, [esp + 0x85a4]
push edx
push 0x65
push eax
call esi
or edi, 0xffffffff
cmp byte [0x5344c0], 0
mov dword [0x5344b0], ebx
mov dword [0x5344b4], ebx
mov dword [esp + 0x1c], ebx
jne 0x4ae602
cmp byte [0x5323f0], 0
jne 0x4ae619
mov edx, dword [esp + 0x20]
push 0x880
lea ecx, [esp + 0x85a8]
push ecx
push ebx
push edx
call fcn.00452400
mov ecx, dword [0x5323ec]
lea eax, [esp + 0x85a4]
push eax
push 0x66
push ecx
call esi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push 0x880
lea edx, [esp + 0x85a8]
push edx
push eax
push ecx
call fcn.00452400
mov eax, dword [0x5323ec]
lea edx, [esp + 0x85a4]
push edx
push 0x67
push eax
call esi
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push 0x880
lea ecx, [esp + 0x85a8]
push ecx
push edx
push eax
call fcn.00452400
mov edx, dword [0x5323ec]
lea ecx, [esp + 0x85a4]
push ecx
push 0x68
push edx
call esi
cmp edi, 0xffffffff
je 0x4ad89a
push edi
lea eax, [esp + 0xa6a8]
push eax
lea ecx, [esp + 0x47c]
call fcn.0044acf0
mov ecx, dword [eax + 0x1000]
add dword [0x5344b0], ecx
mov edx, dword [eax + 0x1004]
adc dword [0x5344b4], edx
or edi, 0xffffffff
call fcn.004a03f0
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x4e0]
jge 0x4ae602
mov ecx, eax
push ecx
lea ecx, [esp + 0x478]
call fcn.0044aeb0
mov ebx, eax
test byte [ebx + 4], 2
mov dword [esp + 0x18], ebx
je 0x4ae5f0
cmp byte [esp + 0x14fd], 0
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x48], edi
je 0x4ad902
test byte [ebx + 0x24], 0x10
je 0x4ad902
push 0x50e
call fcn.004744a0
mov edx, dword [ebx]
push eax
push edx
call fcn.004abfe0
add esp, 8
jmp 0x4ae5f0
mov eax, dword [ebx]
push 1
push 0
push eax
mov ecx, 0x540eb0
call fcn.004183d0
cmp eax, 1
jne 0x4ae5f0
lea ecx, [esp + 0xac]
push ecx
mov ecx, 0x540eb0
call fcn.00414e10
lea ecx, [esp + 0x251c]
call fcn.00481670
lea ecx, [esp + 0x2524]
call fcn.00481670
lea ecx, [esp + 0x252c]
call fcn.00481670
mov eax, dword [ebx]
push 0
lea edx, [esp + 0x1510]
push edx
push eax
call fcn.00441010
test al, al
je 0x4ae5f0
cmp byte [esp + 0x14fd], 0
je 0x4ad9a5
cmp dword [esp + 0x1fc], 0
jne 0x4ad98a
cmp byte [esp + 0x206], 0
je 0x4ad9a5
push 0x50e
call fcn.004744a0
mov ecx, dword [ebx]
push eax
push ecx
call fcn.004abfe0
add esp, 8
jmp 0x4ae5f0
push 1
push 0x800
lea edx, [esp + 0x65ac]
push edx
push str.Rar_CV
call fcn.0049dcc0
test al, al
je 0x4ae5f0
lea eax, [esp + 0x65a4]
push eax
call fcn.0049e6a0
push 1
call fcn.00498e30
mov ecx, dword [esp + 0x44]
push 0x800
mov dword [0x533494], ecx
push 0x54fd12
mov ecx, 0x540eb0
call fcn.00414de0
mov edx, dword [0x5410bc]
mov eax, 4
push 0x4d67f0
mov ecx, 0x550d14
mov dword [0x54ccb0], edx
mov dword [0x54aa24], 1
mov dword [0x54bca0], eax
mov dword [0x54bca4], eax
call fcn.0047e700
push 0x54fd12
push 0x20f
call fcn.004744a0
push eax
call fcn.0049eb10
mov eax, dword [0x574e50]
add esp, 8
cmp byte [0x54bc99], 0
mov dword [esp + 0x14], eax
je 0x4ada62
mov byte [0x54bc99], 0
mov byte [esp + 0x11], 1
push 1
push 0
mov ecx, 0x540eb0
call fcn.004197c0
cmp byte [0x5323f0], 0
jne 0x4ae5cc
mov ecx, dword [esp + 0x14]
cmp ecx, dword [0x574e50]
jne 0x4ae5cc
push 0x571cb8
call fcn.0049b630
mov edx, dword [0x54aa78]
xor edi, edi
mov dword [esp + 0x40], edx
mov byte [0x54abd1], 0
cmp word [0x54790e], di
jne 0x4adb18
push edi
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x30]
push ecx
mov ecx, 0x540eb0
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edi
call fcn.00414fc0
cmp dword [esp + 0x24], edi
jbe 0x4adb0b
push 0x800
push 0x54790e
push str.Rar_CM
call fcn.0049dbf0
mov esi, eax
cmp esi, edi
je 0x4adb0b
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push esi
push edx
push 1
push eax
call fcn.004c2576
push esi
call fcn.004c2398
add esp, 0x14
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004c061a
add esp, 4
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push 0x800
lea edx, [esp + 0xa6a8]
push edx
push eax
call fcn.0045fba0
push 0x800
lea ecx, [esp + 0x500]
push ecx
lea edx, [esp + 0x96ac]
push edx
call fcn.0047e340
cmp word [esp + 0x96a4], di
je 0x4adb67
push 0x800
lea eax, [esp + 0x96a8]
push eax
call fcn.0045f4a0
mov ecx, dword [esi]
push ecx
call fcn.0044bf40
mov byte [esp + 0x10], al
mov ebx, 0x4d6804
cmp dword [0x54ccb0], edi
je 0x4adb85
mov ebx, 0x4d6b78
cmp word [0x545908], 0
je 0x4adb94
mov ebx, 0x4d680c
mov edi, dword [esp + 0x18]
mov edx, dword [edi]
push ebx
push edx
call fcn.0045fb20
test al, al
je 0x4adc6a
cmp word [esp + 0x96a4], 0
je 0x4adbd1
lea eax, [esp + 0xa6a4]
push eax
lea ecx, [esp + 0x96a8]
push ecx
call fcn.00485df0
test eax, eax
jne 0x4adc6a
mov edx, dword [edi]
push 0x800
push 0x54fd12
push edx
mov byte [esp + 0x1e], 1
call fcn.0045f900
push eax
lea eax, [esp + 0x65b0]
push eax
call fcn.0045f4f0
push 0x54fd12
call fcn.0045fb00
mov esi, eax
test esi, esi
je 0x4add7c
xor ecx, ecx
push 0x54fd12
mov word [esi], cx
call fcn.0045fb00
mov edx, 0x2e
mov word [esi], dx
test eax, eax
je 0x4add7c
cmp byte [esp + 0x10], 0
je 0x4add7c
cmp dword [esp + 0x12c], 0
jne 0x4add7c
cmp dword [esp + 0x1d8], 0
je 0x4add7c
mov edx, eax
mov ecx, esi
sub edx, esi
movzx eax, word [ecx]
mov word [edx + ecx], ax
add ecx, 2
test ax, ax
jne 0x4adc56
jmp 0x4add7c
cmp word [esp + 0x96a4], 0
mov byte [esp + 0x12], 0
je 0x4adcd8
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x96a4]
mov word [eax + 0x54fd12], cx
add eax, 2
test cx, cx
jne 0x4adc80
mov eax, dword [edi]
push eax
call fcn.0045f900
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4adca1
mov edi, 0x54fd12
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4adcb6
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]
mov edi, dword [esp + 0x18]
jmp 0x4adcf1
mov ecx, dword [edi]
mov edx, 0x54fd12
nop
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x4adce0
push 0x54fd12
call fcn.0045fb00
mov esi, eax
test esi, esi
je 0x4add46
xor ecx, ecx
push 0x54fd12
mov word [esi], cx
call fcn.0045fb00
test eax, eax
je 0x4add3e
push str..tar
push eax
call fcn.00485df0
test eax, eax
je 0x4add46
cmp byte [esp + 0x10], 0
je 0x4add3e
cmp dword [esp + 0x12c], 0
jne 0x4add3e
cmp dword [esp + 0x1d8], 0
jne 0x4add46
mov edx, 0x2e
mov word [esi], dx
push ebx
push 0x54fd12
call fcn.00460df0
push 0x54fd12
call fcn.0043c780
test al, al
je 0x4add7c
push 0x50d
call fcn.004744a0
push eax
push 0x54fd12
call fcn.004abfe0
add esp, 8
mov byte [esp + 0x12], 1
mov esi, dword [esp + 0x14]
cmp esi, dword [0x574e50]
jne 0x4ade09
lea eax, [esp + 0x65a4]
push eax
call fcn.0049e6a0
push 0x4d67f0
mov ecx, 0x550d14
mov dword [0x54aa50], 3
mov dword [0x54aa4c], 2
mov byte [0x54aa8e], 0
mov byte [0x54aaa8], 0
call fcn.0047e700
push 0x54fd12
call fcn.0045f900
push eax
push 0x20d
call fcn.004744a0
push eax
call fcn.0049eb10
add esp, 8
cmp byte [0x54bc99], 0
je 0x4addfd
mov byte [0x54bc99], 0
mov byte [esp + 0x11], 1
push 0
mov ecx, 0x540eb0
call fcn.00419370
cmp word [0x54790e], 0
je 0x4ade1d
push 0x54790e
call fcn.0049dee0
cmp byte [0x5323f0], 0
mov byte [esp + 0x13], 0
jne 0x4ae5bb
cmp esi, dword [0x574e50]
jne 0x4ae5bb
push 1
push 0
push 0x54fd12
mov ecx, 0x540eb0
call fcn.004183d0
cmp eax, 1
jne 0x4ae5bb
lea ecx, [esp + 0x20c]
push ecx
mov ecx, 0x540eb0
call fcn.00414e10
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c8]
cmp eax, dword [esp + 0x324]
jne 0x4ade89
cmp ecx, dword [esp + 0x328]
je 0x4adec7
or eax, ecx
je 0x4adec7
push 0x4d6d98
lea edx, [esp + 0xb0]
push edx
call fcn.00485df0
test eax, eax
jne 0x4adeac
cmp dword [esp + 0x1d8], eax
jne 0x4adec7
push 0x50a
call fcn.004744a0
push eax
mov eax, dword [edi]
push eax
call fcn.004abfe0
add esp, 8
jmp 0x4ae5bb
mov eax, dword [esp + 0x1500]
test eax, eax
je 0x4adf34
mov ecx, dword [esp + 0x1d0]
push ecx
mov ecx, dword [esp + 0x1d0]
cdq
push ecx
push edx
push eax
call fcn.004bfed0
push 0
mov esi, edx
mov edx, dword [esp + 0x334]
push 0x64
mov edi, eax
mov eax, dword [esp + 0x334]
push edx
push eax
call fcn.004bfed0
cmp esi, edx
jg 0x4adf34
jl 0x4adf11
cmp edi, eax
jae 0x4adf34
push 0x54fd12
call fcn.0045f900
push eax
push 0x50f
call fcn.004744a0
push eax
call fcn.0049eb10
add esp, 8
jmp 0x4ae5bb
mov ecx, 0x40
mov esi, 0x549918
lea edi, [esp + 0x36c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov byte [esp + 0xc708], 4
push 1
call fcn.00498e30
mov ecx, 0x40
lea esi, [esp + 0x36c]
mov edi, 0x549918
rep movsd dword es:[edi], dword [esi]
push 0x800
push 0x54fd12
mov ecx, 0x540eb0
movsw word es:[edi], word [esi]
call fcn.00414de0
mov ecx, dword [0x5410bc]
xor ebx, ebx
mov dword [0x54ccb0], ecx
push 0x4d67f0
mov ecx, 0x550d14
mov byte [0x54abd1], 1
mov dword [0x54abb0], ebx
mov dword [0x54abb4], ebx
mov dword [0x54abb8], ebx
mov dword [0x54abbc], ebx
call fcn.0047e700
push 0x54fd12
call fcn.0045f900
push eax
push 0x210
call fcn.004744a0
push eax
call fcn.0049eb10
add esp, 8
cmp byte [0x54bc99], bl
je 0x4adfee
mov byte [0x54bc99], bl
mov byte [esp + 0x11], 1
push ebx
push ebx
mov ecx, 0x540eb0
call fcn.004197c0
cmp byte [0x5323f0], 0
jne 0x4ae5a0
mov edx, dword [esp + 0x14]
cmp edx, dword [0x574e50]
jne 0x4ae5a0
mov eax, dword [esp + 0x324]
or eax, dword [esp + 0x328]
jne 0x4ae04b
cmp dword [esp + 0x2510], ebx
ja 0x4ae03d
cmp dword [esp + 0x250c], 0x200
jb 0x4ae04b
cmp dword [esp + 0x1b8], 1
jbe 0x4ae5a0
mov eax, dword [esp + 0x1500]
cmp eax, ebx
je 0x4ae09c
mov ecx, dword [esp + 0x1d0]
push ecx
mov ecx, dword [esp + 0x1d0]
cdq
push ecx
push edx
push eax
call fcn.004bfed0
push ebx
mov esi, edx
mov edx, dword [esp + 0x334]
push 0x64
mov edi, eax
mov eax, dword [esp + 0x334]
push edx
push eax
call fcn.004bfed0
cmp esi, edx
jl 0x4ae5a0
jg 0x4ae09c
cmp edi, eax
jb 0x4ae5a0
push 0x54fd12
mov byte [esp + 0x17], 1
call fcn.0045f900
push eax
push 0x25a
call fcn.004744a0
push eax
call fcn.0049eb10
inc dword [esp + 0x28]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x1d8]
mov eax, dword [esp + 0x334]
add esp, 8
add dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x330]
adc dword [esp + 0x38], edx
add dword [esp + 0x2c], eax
adc dword [esp + 0x30], ecx
cmp byte [esp + 0x12], 0
je 0x4ae434
mov esi, dword [esp + 0x18]
mov edx, dword [esi]
push ebx
push 1
push edx
mov ecx, 0x540eb0
call fcn.004183d0
cmp eax, 1
jne 0x4ae5a0
lea ecx, [esp + 0x4c]
call fcn.0047e890
mov byte [esp + 0xc708], 5
mov eax, dword [esi]
lea edx, [esp + 0x45a4]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x4ae133
mov byte [esp + 0x10], 0
jmp 0x4ae150
lea eax, [esp + 0x45a4]
push eax
lea ecx, [esp + 0x55a8]
push str._s._cvtbackup_
push ecx
mov edx, 0x800
call fcn.0043a6e0
add esp, 0xc
lea edx, [esp + 0x55a4]
push edx
lea eax, [esp + 0x45a8]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x4ae2f3
lea ecx, [esp + 0x45a4]
push ecx
lea ecx, [esp + 0x50]
call fcn.0047e700
lea edx, [esp + 0x55a4]
push edx
lea ecx, [esp + 0x50]
call fcn.0047e700
push 0x800
lea eax, [esp + 0x45a8]
push eax
mov ecx, 0x540eb0
call fcn.00415210
test al, al
je 0x4ae1e2
lea ecx, [esp + 0x45a4]
push ecx
call fcn.0043c780
test al, al
jne 0x4ae150
push ebx
push 1
push 0x54fd12
mov ecx, 0x540eb0
call fcn.004183d0
cmp eax, 1
jne 0x4ae2f8
xor eax, eax
nop
movzx ecx, word [eax + 0x54fd12]
mov word [esp + eax + 0x45a4], cx
add eax, 2
cmp cx, bx
jne 0x4ae200
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
lea ecx, [ecx]
mov eax, dword [esi]
lea edx, [esp + 0x55a4]
sub edx, eax
jmp 0x4ae230
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x4ae230
push 0x800
lea edx, [esp + 0x45a8]
push edx
call fcn.0045f900
push eax
lea eax, [esp + 0x55ac]
push eax
call fcn.0045fad0
lea ecx, [esp + 0x55a4]
push ecx
lea edx, [esp + 0x45a8]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x4ae2f3
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x4ae28a
cmp eax, 1
jne 0x4ae2be
push ebx
push ebx
push 3
push ebx
push ebx
push 0x40000000
lea eax, [esp + 0x55bc]
push eax
call edi
mov esi, eax
cmp esi, 0xffffffff
je 0x4ae2be
lea ecx, [esp + 0x2544]
push ecx
push ebx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x800
lea edx, [esp + 0x45a8]
push edx
mov ecx, 0x540eb0
call fcn.00415210
test al, al
je 0x4ae2f8
lea eax, [esp + 0x45a4]
push eax
call fcn.0043c780
test al, al
je 0x4ae2f8
mov esi, dword [esp + 0x18]
jmp 0x4ae220
mov byte [esp + 0x10], 1
xor bl, bl
cmp byte [esp + 0x14fc], bl
jne 0x4ae375
push 0x800
lea ecx, [esp + 0x35a8]
push ecx
lea ecx, [esp + 0x54]
mov bl, 1
call fcn.0047e9b0
test al, al
je 0x4ae36c
push 0x800
lea edx, [esp + 0x75a8]
push edx
lea ecx, [esp + 0x54]
call fcn.0047e9b0
test al, al
je 0x4ae36c
lea eax, [esp + 0x35a4]
push eax
call fcn.0043c780
test al, al
jne 0x4ae36a
push 0x800
lea ecx, [esp + 0x35a8]
push ecx
lea ecx, [esp + 0x54]
call fcn.0047e9b0
test al, al
jne 0x4ae323
jmp 0x4ae36c
xor bl, bl
lea ecx, [esp + 0x4c]
call fcn.0047e680
push 0x800
lea edx, [esp + 0x35a8]
push edx
lea ecx, [esp + 0x54]
call fcn.0047e9b0
test al, al
je 0x4ae41e
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
lea esp, [esp]
push 0x800
lea eax, [esp + 0x75a8]
push eax
lea ecx, [esp + 0x54]
call fcn.0047e9b0
test al, al
je 0x4ae41e
cmp byte [esp + 0x10], 0
jne 0x4ae3e1
test bl, bl
jne 0x4ae3f2
lea ecx, [esp + 0x75a4]
push ecx
call fcn.0043c8a0
lea edx, [esp + 0x75a4]
push edx
call fcn.0043c090
jmp 0x4ae404
test bl, bl
jne 0x4ae3f2
lea eax, [esp + 0x35a4]
push eax
call fcn.0043c090
lea ecx, [esp + 0x35a4]
push ecx
lea edx, [esp + 0x75a8]
push edx
call esi
push 0x800
lea eax, [esp + 0x35a8]
push eax
lea ecx, [esp + 0x54]
call fcn.0047e9b0
test al, al
jne 0x4ae3a0
mov byte [esp + 0xc708], 4
lea ecx, [esp + 0x4c]
call fcn.004104a0
jmp 0x4ae5a0
cmp byte [esp + 0x14fc], 0
je 0x4ae4e7
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
push ebx
push 1
push ecx
mov ecx, 0x540eb0
call fcn.004183d0
cmp eax, 1
jne 0x4ae4e7
mov eax, dword [esi]
lea edx, [esp + 0x35a4]
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x4ae470
nop
lea edx, [esp + 0x35a4]
push edx
call fcn.0045f900
push eax
push 0x258
call fcn.004744a0
push eax
call fcn.0049eb10
add esp, 8
lea eax, [esp + 0x35a4]
push eax
call fcn.0043c8a0
lea ecx, [esp + 0x35a4]
push ecx
call fcn.0043c090
push 0x800
lea edx, [esp + 0x35a8]
push edx
mov ecx, 0x540eb0
call fcn.00415210
test al, al
je 0x4ae4e7
lea eax, [esp + 0x35a4]
push eax
call fcn.0043c780
test al, al
jne 0x4ae480
push ebx
push 1
push 0x54fd12
mov ecx, 0x540eb0
call fcn.004183d0
cmp eax, 1
jne 0x4ae5a0
xor eax, eax
jmp 0x4ae510
movzx ecx, word [eax + 0x54fd12]
mov word [esp + eax + 0x55a4], cx
add eax, 2
cmp cx, bx
jne 0x4ae510
mov ebx, dword [esp + 0x40]
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
test ebx, ebx
je 0x4ae53a
cmp ebx, 1
jne 0x4ae574
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea ecx, [esp + 0x55bc]
push ecx
call edi
mov esi, eax
cmp esi, 0xffffffff
je 0x4ae574
lea edx, [esp + 0x2544]
push edx
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x800
lea eax, [esp + 0x55a8]
push eax
mov ecx, 0x540eb0
call fcn.00415210
test al, al
je 0x4ae5a0
lea ecx, [esp + 0x55a4]
push ecx
call fcn.0043c780
test al, al
jne 0x4ae531
mov byte [esp + 0xc708], 1
lea ecx, [esp + 0x36c]
call fcn.00477af0
cmp byte [esp + 0x13], 0
jne 0x4ae5cc
cmp byte [esp + 0x12], 0
jne 0x4ae5cc
push 0x54fd12
call fcn.0043c090
lea edx, [esp + 0x2554]
push edx
call fcn.0049e6a0
lea eax, [esp + 0x65a4]
push eax
call fcn.0049e330
mov edi, dword [esp + 0x48]
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
inc dword [esp + 0x1c]
xor ebx, ebx
cmp byte [0x5344c0], bl
je 0x4ad7d0
cmp byte [0x5323f0], 0
jne 0x4ae619
cmp byte [0x5344c0], 0
mov eax, 0x4d0
je 0x4ae61e
mov eax, 0x271
push eax
call fcn.004744a0
push eax
call fcn.0049eb10
add esp, 4
cmp byte [0x5344c0], 0
je 0x4ae645
mov ecx, dword [0x5323ec]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4ae659
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
push ebx
push 1
call fcn.0049f7e0
call fcn.0049ec20
mov al, byte [0x5323f1]
test al, al
je 0x4ae692
push ebx
push ebx
lea edx, [esp + 0xb6fc]
push edx
mov ecx, 0x540eb0
call fcn.004183d0
cmp eax, 1
je 0x4ae689
mov ecx, 0x53ed88
call fcn.0044e740
test al, al
jne 0x4ae698
mov al, byte [0x5323f1]
test al, al
jne 0x4ae6b3
cmp dword [esp + 0x20], ebx
jbe 0x4ae6af
push 0x54fd12
call fcn.0045f900
push eax
mov ecx, 0x53ed88
call fcn.0044ee30
jmp 0x4ae6ce
test al, al
je 0x4ae6ce
cmp dword [esp + 0x20], ebx
jbe 0x4ae6ce
push 0x54fd12
call fcn.0045f900
push eax
mov ecx, 0x53ed88
call fcn.0044f700
cmp byte [esp + 0x1504], 0
je 0x4ae6e8
mov eax, dword [str.InterfaceConvertProfile]
push eax
push 0x571cb8
call fcn.0046c000
push 0x571cb8
call fcn.0046c0e0
cmp byte [esp + 0x11], 0
je 0x4ae6fe
call fcn.0049d840
mov dword [esp + 0xc708], 0xffffffff
lea ecx, [esp + 0x474]
call fcn.00417490
mov ecx, dword [esp + 0xc700]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc6e8]
xor ecx, esp
call fcn.004bfc52
mov esp, ebp
pop ebp
ret 4