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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d5b3d
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0xc6ec
call fcn.004c0c80
mov eax, dword [0x4eb984]
xor eax, esp
mov dword [esp + 0xc6e8], eax
push ebx
push esi
push edi
mov eax, dword [0x4eb984]
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 0x572cf0
mov edx, 0xc8
call fcn.00495190
add esp, 0x10
lea ecx, [esp + 0x474]
call fcn.0044b5e0
mov dword [esp + 0xc708], 1
xor ebx, ebx
mov byte [esp + 0x1504], bl
cmp byte [0x533431], bl
je 0x4ae497
push 0x800
lea ecx, [esp + 0xb6f8]
push ecx
mov ecx, 0x541ef0
call fcn.00415140
push 0x1050
lea edx, [esp + 0x2558]
push ebx
push edx
call fcn.004c16b0
add esp, 0xc
xor eax, eax
jmp 0x4ae400
movzx ecx, word [esp + eax + 0xb6f4]
mov word [esp + eax + 0x2554], cx
add eax, 2
cmp cx, bx
jne 0x4ae400
lea ecx, [esp + 0x251c]
call fcn.00482210
lea ecx, [esp + 0x2524]
call fcn.00482210
lea ecx, [esp + 0x252c]
call fcn.00482210
push ebx
lea eax, [esp + 0x1510]
push eax
lea ecx, [esp + 0xb6fc]
push ecx
call fcn.00441530
test al, al
je 0x4ae472
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.0044b210
lea ecx, [esp + 0x474]
call fcn.0044b500
jmp 0x4ae553
lea ecx, [esp + 0x4c]
call fcn.0047f4c0
mov byte [esp + 0xc708], 2
lea edi, [esp + 0x4c]
cmp esi, ebx
je 0x4ae4b4
mov edi, esi
jmp 0x4ae4c5
push 1
lea edx, [esp + 0x50]
push edx
mov ecx, 0x53fdc8
call fcn.0044cf70
push ebx
push ebx
push ebx
push 1
push 1
lea eax, [esp + 0x488]
push eax
push 3
push edi
call fcn.00477840
test al, al
jne 0x4ae50d
mov byte [esp + 0xc708], 1
lea ecx, [esp + 0x4c]
call fcn.0040bde0
mov dword [esp + 0xc708], 0xffffffff
lea ecx, [esp + 0x474]
call fcn.004aad50
jmp 0x4af5f5
xor esi, esi
cmp dword [esp + 0x4e0], ebx
jbe 0x4ae53a
jmp 0x4ae520
push esi
lea ecx, [esp + 0x478]
call fcn.0044b5a0
inc esi
mov dword [eax + 4], ebx
cmp esi, dword [esp + 0x4e0]
jb 0x4ae520
mov byte [esp + 0xc708], 1
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x4ae553
push eax
call fcn.004c1404
add esp, 4
mov ecx, dword [str.InterfaceConvertProfile]
push 0x572cf0
push ecx
call fcn.0046c910
mov edx, dword [0x535584]
push edx
mov byte [esp + 0x15], 0
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov edx, dword [0x51f7e4]
neg eax
lea ecx, [esp + 0x474]
push ecx
sbb eax, eax
and eax, dword [0x535584]
push 0x4aada0
push eax
push str.CONVERTARC
push edx
mov dword [esp + 0x34], ebx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4af5ae
push ebx
push str.Background
push 0x572cf0
call fcn.0046c5f0
test eax, eax
jne 0x4ae5d8
cmp dword [0x53444c], 1
jne 0x4ae5d1
cmp byte [0x54fcfb], al
jne 0x4ae5d8
mov byte [esp + 0x14], 0
jmp 0x4ae5dd
mov byte [esp + 0x14], 1
mov eax, dword [esp + 0x14]
push ebx
push eax
push ebx
push 8
call fcn.004a20a0
push 0x800
lea ecx, [esp + 0x2558]
push ecx
call fcn.0049f5a0
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 [0x5344c8], ebx
mov dword [0x5344cc], ebx
mov dword [esp + 0x44], edi
cmp dword [esp + 0x4e0], ebx
jbe 0x4ae664
lea ebx, [ebx]
push esi
lea ecx, [esp + 0x478]
call fcn.0044b5a0
test byte [eax + 4], 2
je 0x4ae656
mov edx, dword [eax + 8]
add dword [0x5344c8], edx
mov eax, dword [eax + 0xc]
adc dword [0x5344cc], eax
inc edi
inc esi
cmp esi, dword [esp + 0x4e0]
jb 0x4ae630
mov dword [esp + 0x44], edi
push 0x880
lea ecx, [esp + 0x85a8]
push ecx
push ebx
push edi
call fcn.00452b60
mov eax, dword [0x53342c]
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 [0x535500], 0
mov dword [0x5354f0], ebx
mov dword [0x5354f4], ebx
mov dword [esp + 0x1c], ebx
jne 0x4af4e2
cmp byte [0x533430], 0
jne 0x4af4f9
mov edx, dword [esp + 0x20]
push 0x880
lea ecx, [esp + 0x85a8]
push ecx
push ebx
push edx
call fcn.00452b60
mov ecx, dword [0x53342c]
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.00452b60
mov eax, dword [0x53342c]
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.00452b60
mov edx, dword [0x53342c]
lea ecx, [esp + 0x85a4]
push ecx
push 0x68
push edx
call esi
cmp edi, 0xffffffff
je 0x4ae77a
push edi
lea eax, [esp + 0xa6a8]
push eax
lea ecx, [esp + 0x47c]
call fcn.0044b3e0
mov ecx, dword [eax + 0x1000]
add dword [0x5354f0], ecx
mov edx, dword [eax + 0x1004]
adc dword [0x5354f4], edx
or edi, 0xffffffff
call fcn.004a12c0
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x4e0]
jge 0x4af4e2
mov ecx, eax
push ecx
lea ecx, [esp + 0x478]
call fcn.0044b5a0
mov ebx, eax
test byte [ebx + 4], 2
mov dword [esp + 0x18], ebx
je 0x4af4d0
cmp byte [esp + 0x14fd], 0
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x48], edi
je 0x4ae7e2
test byte [ebx + 0x24], 0x10
je 0x4ae7e2
push 0x50e
call fcn.004750b0
mov edx, dword [ebx]
push eax
push edx
call fcn.004ace90
add esp, 8
jmp 0x4af4d0
mov eax, dword [ebx]
push 1
push 0
push eax
mov ecx, 0x541ef0
call fcn.00418720
cmp eax, 1
jne 0x4af4d0
lea ecx, [esp + 0xac]
push ecx
mov ecx, 0x541ef0
call fcn.00415170
lea ecx, [esp + 0x251c]
call fcn.00482210
lea ecx, [esp + 0x2524]
call fcn.00482210
lea ecx, [esp + 0x252c]
call fcn.00482210
mov eax, dword [ebx]
push 0
lea edx, [esp + 0x1510]
push edx
push eax
call fcn.00441530
test al, al
je 0x4af4d0
cmp byte [esp + 0x14fd], 0
je 0x4ae885
cmp dword [esp + 0x1fc], 0
jne 0x4ae86a
cmp byte [esp + 0x206], 0
je 0x4ae885
push 0x50e
call fcn.004750b0
mov ecx, dword [ebx]
push eax
push ecx
call fcn.004ace90
add esp, 8
jmp 0x4af4d0
push 1
push 0x800
lea edx, [esp + 0x65ac]
push edx
push str.Rar_CV
call fcn.0049eb60
test al, al
je 0x4af4d0
lea eax, [esp + 0x65a4]
push eax
call fcn.0049f540
push 1
call fcn.0049aa70
mov ecx, dword [esp + 0x44]
push 0x800
mov dword [0x5344d4], ecx
push 0x550d52
mov ecx, 0x541ef0
call fcn.00415140
mov edx, dword [0x5420fc]
mov eax, 4
push 0x4d7800
mov ecx, 0x551d54
mov dword [0x54dcf0], edx
mov dword [0x54ba68], 1
mov dword [0x54cce0], eax
mov dword [0x54cce4], eax
call fcn.0047f330
push 0x550d52
push 0x20f
call fcn.004750b0
push eax
call fcn.0049f9b0
mov eax, dword [0x575e88]
add esp, 8
cmp byte [0x54ccd9], 0
mov dword [esp + 0x14], eax
je 0x4ae942
mov byte [0x54ccd9], 0
mov byte [esp + 0x11], 1
push 1
push 0
mov ecx, 0x541ef0
call fcn.00419ae0
cmp byte [0x533430], 0
jne 0x4af4ac
mov ecx, dword [esp + 0x14]
cmp ecx, dword [0x575e88]
jne 0x4af4ac
push 0x572cf0
call fcn.0049ae50
mov edx, dword [0x54bab8]
xor edi, edi
mov dword [esp + 0x40], edx
mov byte [0x54bc11], 0
cmp word [0x54894e], di
jne 0x4ae9f8
push edi
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x30]
push ecx
mov ecx, 0x541ef0
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edi
call fcn.00415320
cmp dword [esp + 0x24], edi
jbe 0x4ae9eb
push 0x800
push 0x54894e
push str.Rar_CM
call fcn.0049ea90
mov esi, eax
cmp esi, edi
je 0x4ae9eb
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push esi
push edx
push 1
push eax
call fcn.004c3690
push esi
call fcn.004c34b2
add esp, 0x14
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004c172a
add esp, 4
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push 0x800
lea edx, [esp + 0xa6a8]
push edx
push eax
call fcn.004605d0
push 0x800
lea ecx, [esp + 0x500]
push ecx
lea edx, [esp + 0x96ac]
push edx
call fcn.0047ef70
cmp word [esp + 0x96a4], di
je 0x4aea47
push 0x800
lea eax, [esp + 0x96a8]
push eax
call fcn.0045fed0
mov ecx, dword [esi]
push ecx
call fcn.0044c650
mov byte [esp + 0x10], al
mov ebx, 0x4d7814
cmp dword [0x54dcf0], edi
je 0x4aea65
mov ebx, 0x4d7b60
cmp word [0x546948], 0
je 0x4aea74
mov ebx, 0x4d781c
mov edi, dword [esp + 0x18]
mov edx, dword [edi]
push ebx
push edx
call fcn.00460550
test al, al
je 0x4aeb4a
cmp word [esp + 0x96a4], 0
je 0x4aeab1
lea eax, [esp + 0xa6a4]
push eax
lea ecx, [esp + 0x96a8]
push ecx
call fcn.00486990
test eax, eax
jne 0x4aeb4a
mov edx, dword [edi]
push 0x800
push 0x550d52
push edx
mov byte [esp + 0x1e], 1
call fcn.00460330
push eax
lea eax, [esp + 0x65b0]
push eax
call fcn.0045ff20
push 0x550d52
call fcn.00460530
mov esi, eax
test esi, esi
je 0x4aec5c
xor ecx, ecx
push 0x550d52
mov word [esi], cx
call fcn.00460530
mov edx, 0x2e
mov word [esi], dx
test eax, eax
je 0x4aec5c
cmp byte [esp + 0x10], 0
je 0x4aec5c
cmp dword [esp + 0x12c], 0
jne 0x4aec5c
cmp dword [esp + 0x1d8], 0
je 0x4aec5c
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 0x4aeb36
jmp 0x4aec5c
cmp word [esp + 0x96a4], 0
mov byte [esp + 0x12], 0
je 0x4aebb8
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x96a4]
mov word [eax + 0x550d52], cx
add eax, 2
test cx, cx
jne 0x4aeb60
mov eax, dword [edi]
push eax
call fcn.00460330
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4aeb81
mov edi, 0x550d52
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4aeb96
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 0x4aebd1
mov ecx, dword [edi]
mov edx, 0x550d52
nop
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x4aebc0
push 0x550d52
call fcn.00460530
mov esi, eax
test esi, esi
je 0x4aec26
xor ecx, ecx
push 0x550d52
mov word [esi], cx
call fcn.00460530
test eax, eax
je 0x4aec1e
push str..tar
push eax
call fcn.00486990
test eax, eax
je 0x4aec26
cmp byte [esp + 0x10], 0
je 0x4aec1e
cmp dword [esp + 0x12c], 0
jne 0x4aec1e
cmp dword [esp + 0x1d8], 0
jne 0x4aec26
mov edx, 0x2e
mov word [esi], dx
push ebx
push 0x550d52
call fcn.00461820
push 0x550d52
call fcn.0043ca60
test al, al
je 0x4aec5c
push 0x50d
call fcn.004750b0
push eax
push 0x550d52
call fcn.004ace90
add esp, 8
mov byte [esp + 0x12], 1
mov esi, dword [esp + 0x14]
cmp esi, dword [0x575e88]
jne 0x4aece9
lea eax, [esp + 0x65a4]
push eax
call fcn.0049f540
push 0x4d7800
mov ecx, 0x551d54
mov dword [0x54ba94], 3
mov dword [0x54ba90], 2
mov byte [0x54bace], 0
mov byte [0x54bae8], 0
call fcn.0047f330
push 0x550d52
call fcn.00460330
push eax
push 0x20d
call fcn.004750b0
push eax
call fcn.0049f9b0
add esp, 8
cmp byte [0x54ccd9], 0
je 0x4aecdd
mov byte [0x54ccd9], 0
mov byte [esp + 0x11], 1
push 0
mov ecx, 0x541ef0
call fcn.004196c0
cmp word [0x54894e], 0
je 0x4aecfd
push 0x54894e
call fcn.0049ed80
cmp byte [0x533430], 0
mov byte [esp + 0x13], 0
jne 0x4af49b
cmp esi, dword [0x575e88]
jne 0x4af49b
push 1
push 0
push 0x550d52
mov ecx, 0x541ef0
call fcn.00418720
cmp eax, 1
jne 0x4af49b
lea ecx, [esp + 0x20c]
push ecx
mov ecx, 0x541ef0
call fcn.00415170
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c8]
cmp eax, dword [esp + 0x324]
jne 0x4aed69
cmp ecx, dword [esp + 0x328]
je 0x4aeda7
or eax, ecx
je 0x4aeda7
push 0x4d7d80
lea edx, [esp + 0xb0]
push edx
call fcn.00486990
test eax, eax
jne 0x4aed8c
cmp dword [esp + 0x1d8], eax
jne 0x4aeda7
push 0x50a
call fcn.004750b0
push eax
mov eax, dword [edi]
push eax
call fcn.004ace90
add esp, 8
jmp 0x4af49b
mov eax, dword [esp + 0x1500]
test eax, eax
je 0x4aee14
mov ecx, dword [esp + 0x1d0]
push ecx
mov ecx, dword [esp + 0x1d0]
cdq
push ecx
push edx
push eax
call fcn.004c13d0
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.004c13d0
cmp esi, edx
jg 0x4aee14
jl 0x4aedf1
cmp edi, eax
jae 0x4aee14
push 0x550d52
call fcn.00460330
push eax
push 0x50f
call fcn.004750b0
push eax
call fcn.0049f9b0
add esp, 8
jmp 0x4af49b
mov ecx, 0x40
mov esi, 0x54a95c
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.0049aa70
mov ecx, 0x40
lea esi, [esp + 0x36c]
mov edi, 0x54a95c
rep movsd dword es:[edi], dword [esi]
push 0x800
push 0x550d52
mov ecx, 0x541ef0
movsw word es:[edi], word [esi]
call fcn.00415140
mov ecx, dword [0x5420fc]
xor ebx, ebx
mov dword [0x54dcf0], ecx
push 0x4d7800
mov ecx, 0x551d54
mov byte [0x54bc11], 1
mov dword [0x54bbf0], ebx
mov dword [0x54bbf4], ebx
mov dword [0x54bbf8], ebx
mov dword [0x54bbfc], ebx
call fcn.0047f330
push 0x550d52
call fcn.00460330
push eax
push 0x210
call fcn.004750b0
push eax
call fcn.0049f9b0
add esp, 8
cmp byte [0x54ccd9], bl
je 0x4aeece
mov byte [0x54ccd9], bl
mov byte [esp + 0x11], 1
push ebx
push ebx
mov ecx, 0x541ef0
call fcn.00419ae0
cmp byte [0x533430], 0
jne 0x4af480
mov edx, dword [esp + 0x14]
cmp edx, dword [0x575e88]
jne 0x4af480
mov eax, dword [esp + 0x324]
or eax, dword [esp + 0x328]
jne 0x4aef2b
cmp dword [esp + 0x2510], ebx
ja 0x4aef1d
cmp dword [esp + 0x250c], 0x200
jb 0x4aef2b
cmp dword [esp + 0x1b8], 1
jbe 0x4af480
mov eax, dword [esp + 0x1500]
cmp eax, ebx
je 0x4aef7c
mov ecx, dword [esp + 0x1d0]
push ecx
mov ecx, dword [esp + 0x1d0]
cdq
push ecx
push edx
push eax
call fcn.004c13d0
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.004c13d0
cmp esi, edx
jl 0x4af480
jg 0x4aef7c
cmp edi, eax
jb 0x4af480
push 0x550d52
mov byte [esp + 0x17], 1
call fcn.00460330
push eax
push 0x25a
call fcn.004750b0
push eax
call fcn.0049f9b0
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 0x4af314
mov esi, dword [esp + 0x18]
mov edx, dword [esi]
push ebx
push 1
push edx
mov ecx, 0x541ef0
call fcn.00418720
cmp eax, 1
jne 0x4af480
lea ecx, [esp + 0x4c]
call fcn.0047f4c0
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 0x4af013
mov byte [esp + 0x10], 0
jmp 0x4af030
lea eax, [esp + 0x45a4]
push eax
lea ecx, [esp + 0x55a8]
push str._s._cvtbackup_
push ecx
mov edx, 0x800
call fcn.00495190
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 0x4af1d3
lea ecx, [esp + 0x45a4]
push ecx
lea ecx, [esp + 0x50]
call fcn.0047f330
lea edx, [esp + 0x55a4]
push edx
lea ecx, [esp + 0x50]
call fcn.0047f330
push 0x800
lea eax, [esp + 0x45a8]
push eax
mov ecx, 0x541ef0
call fcn.00415570
test al, al
je 0x4af0c2
lea ecx, [esp + 0x45a4]
push ecx
call fcn.0043ca60
test al, al
jne 0x4af030
push ebx
push 1
push 0x550d52
mov ecx, 0x541ef0
call fcn.00418720
cmp eax, 1
jne 0x4af1d8
xor eax, eax
nop
movzx ecx, word [eax + 0x550d52]
mov word [esp + eax + 0x45a4], cx
add eax, 2
cmp cx, bx
jne 0x4af0e0
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
lea ecx, [ecx]
mov eax, dword [esi]
lea edx, [esp + 0x55a4]
sub edx, eax
jmp 0x4af110
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x4af110
push 0x800
lea edx, [esp + 0x45a8]
push edx
call fcn.00460330
push eax
lea eax, [esp + 0x55ac]
push eax
call fcn.00460500
lea ecx, [esp + 0x55a4]
push ecx
lea edx, [esp + 0x45a8]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x4af1d3
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x4af16a
cmp eax, 1
jne 0x4af19e
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 0x4af19e
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, 0x541ef0
call fcn.00415570
test al, al
je 0x4af1d8
lea eax, [esp + 0x45a4]
push eax
call fcn.0043ca60
test al, al
je 0x4af1d8
mov esi, dword [esp + 0x18]
jmp 0x4af100
mov byte [esp + 0x10], 1
xor bl, bl
cmp byte [esp + 0x14fc], bl
jne 0x4af255
push 0x800
lea ecx, [esp + 0x35a8]
push ecx
lea ecx, [esp + 0x54]
mov bl, 1
call fcn.0047f5e0
test al, al
je 0x4af24c
push 0x800
lea edx, [esp + 0x75a8]
push edx
lea ecx, [esp + 0x54]
call fcn.0047f5e0
test al, al
je 0x4af24c
lea eax, [esp + 0x35a4]
push eax
call fcn.0043ca60
test al, al
jne 0x4af24a
push 0x800
lea ecx, [esp + 0x35a8]
push ecx
lea ecx, [esp + 0x54]
call fcn.0047f5e0
test al, al
jne 0x4af203
jmp 0x4af24c
xor bl, bl
lea ecx, [esp + 0x4c]
call fcn.0047f2b0
push 0x800
lea edx, [esp + 0x35a8]
push edx
lea ecx, [esp + 0x54]
call fcn.0047f5e0
test al, al
je 0x4af2fe
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.0047f5e0
test al, al
je 0x4af2fe
cmp byte [esp + 0x10], 0
jne 0x4af2c1
test bl, bl
jne 0x4af2d2
lea ecx, [esp + 0x75a4]
push ecx
call fcn.0043cb80
lea edx, [esp + 0x75a4]
push edx
call fcn.0043c500
jmp 0x4af2e4
test bl, bl
jne 0x4af2d2
lea eax, [esp + 0x35a4]
push eax
call fcn.0043c500
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.0047f5e0
test al, al
jne 0x4af280
mov byte [esp + 0xc708], 4
lea ecx, [esp + 0x4c]
call fcn.0040bde0
jmp 0x4af480
cmp byte [esp + 0x14fc], 0
je 0x4af3c7
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
push ebx
push 1
push ecx
mov ecx, 0x541ef0
call fcn.00418720
cmp eax, 1
jne 0x4af3c7
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 0x4af350
nop
lea edx, [esp + 0x35a4]
push edx
call fcn.00460330
push eax
push 0x258
call fcn.004750b0
push eax
call fcn.0049f9b0
add esp, 8
lea eax, [esp + 0x35a4]
push eax
call fcn.0043cb80
lea ecx, [esp + 0x35a4]
push ecx
call fcn.0043c500
push 0x800
lea edx, [esp + 0x35a8]
push edx
mov ecx, 0x541ef0
call fcn.00415570
test al, al
je 0x4af3c7
lea eax, [esp + 0x35a4]
push eax
call fcn.0043ca60
test al, al
jne 0x4af360
push ebx
push 1
push 0x550d52
mov ecx, 0x541ef0
call fcn.00418720
cmp eax, 1
jne 0x4af480
xor eax, eax
jmp 0x4af3f0
movzx ecx, word [eax + 0x550d52]
mov word [esp + eax + 0x55a4], cx
add eax, 2
cmp cx, bx
jne 0x4af3f0
mov ebx, dword [esp + 0x40]
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
test ebx, ebx
je 0x4af41a
cmp ebx, 1
jne 0x4af454
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 0x4af454
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, 0x541ef0
call fcn.00415570
test al, al
je 0x4af480
lea ecx, [esp + 0x55a4]
push ecx
call fcn.0043ca60
test al, al
jne 0x4af411
mov byte [esp + 0xc708], 1
lea ecx, [esp + 0x36c]
call fcn.00478720
cmp byte [esp + 0x13], 0
jne 0x4af4ac
cmp byte [esp + 0x12], 0
jne 0x4af4ac
push 0x550d52
call fcn.0043c500
lea edx, [esp + 0x2554]
push edx
call fcn.0049f540
lea eax, [esp + 0x65a4]
push eax
call fcn.0049f1d0
mov edi, dword [esp + 0x48]
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
inc dword [esp + 0x1c]
xor ebx, ebx
cmp byte [0x535500], bl
je 0x4ae6b0
cmp byte [0x533430], 0
jne 0x4af4f9
cmp byte [0x535500], 0
mov eax, 0x4d0
je 0x4af4fe
mov eax, 0x271
push eax
call fcn.004750b0
push eax
call fcn.0049f9b0
add esp, 4
cmp byte [0x535500], 0
je 0x4af525
mov ecx, dword [0x53342c]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4af539
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
push ebx
push 1
call fcn.004a06b0
call fcn.0049fac0
mov al, byte [0x533431]
test al, al
je 0x4af572
push ebx
push ebx
lea edx, [esp + 0xb6fc]
push edx
mov ecx, 0x541ef0
call fcn.00418720
cmp eax, 1
je 0x4af569
mov ecx, 0x53fdc8
call fcn.0044ee60
test al, al
jne 0x4af578
mov al, byte [0x533431]
test al, al
jne 0x4af593
cmp dword [esp + 0x20], ebx
jbe 0x4af58f
push 0x550d52
call fcn.00460330
push eax
mov ecx, 0x53fdc8
call fcn.0044f550
jmp 0x4af5ae
test al, al
je 0x4af5ae
cmp dword [esp + 0x20], ebx
jbe 0x4af5ae
push 0x550d52
call fcn.00460330
push eax
mov ecx, 0x53fdc8
call fcn.0044fe30
cmp byte [esp + 0x1504], 0
je 0x4af5c8
mov eax, dword [str.InterfaceConvertProfile]
push eax
push 0x572cf0
call fcn.0046c910
push 0x572cf0
call fcn.0046c9f0
cmp byte [esp + 0x11], 0
je 0x4af5de
call fcn.0049e6e0
mov dword [esp + 0xc708], 0xffffffff
lea ecx, [esp + 0x474]
call fcn.00417860
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.004c0c62
mov esp, ebp
pop ebp
ret 4