Function at 0x472240
Capabilities:
Move file
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f3ea2
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
mov eax, dword [0x52b360]
xor eax, esp
mov dword [esp + 0xe8], eax
push ebx
push esi
push edi
mov eax, dword [0x52b360]
xor eax, esp
push eax
lea eax, [esp + 0x100]
mov dword fs:[0], eax
mov eax, dword [0x532eb4]
test eax, eax
je 0x4722a8
mov esi, dword [sym.imp.USER32.dll_KillTimer]
push 0xc9
push eax
call esi
mov eax, dword [0x532eb4]
test eax, eax
je 0x4722a8
push 0xca
push eax
call esi
call fcn.004721b0
call fcn.00476ac0
cmp byte [ebp + 8], 1
jne 0x47261c
mov eax, dword [0x532f14]
sub eax, dword [0x532f10]
test eax, 0xfffffffc
je 0x47261c
xor esi, esi
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
push 3
push 0x50abbc
lea ecx, [esp + 0x40]
mov dword [esp + 0x110], esi
call fcn.00404980
mov ebx, dword [0x532f14]
sub ebx, dword [0x532f10]
sar ebx, 2
cmp ebx, esi
jle 0x4724cf
push 8
push str.__id_:_
lea eax, [esp + 0x40]
call fcn.00409900
mov ecx, dword [0x532f14]
sub ecx, dword [0x532f10]
sar ecx, 2
cmp esi, ecx
jb 0x47233b
call fcn.004c96d9
mov edx, dword [0x532f10]
mov eax, dword [edx + esi*4]
mov ecx, dword [eax + 4]
push ecx
lea edx, [esp + 0x90]
push 0x5082a8
push edx
call fcn.004cb3cf
lea eax, [esp + 0x98]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x472367
sub eax, edx
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x40]
call fcn.00409900
push 0xa
push str.___name_:_
lea eax, [esp + 0x40]
call fcn.00409900
mov ecx, dword [0x532f14]
sub ecx, dword [0x532f10]
sar ecx, 2
cmp esi, ecx
jb 0x4723aa
call fcn.004c96d9
mov edx, dword [0x532f10]
mov eax, dword [edx + esi*4]
add eax, 8
cmp dword [eax + 0x18], 8
jb 0x4723c1
mov eax, dword [eax + 4]
jmp 0x4723c4
add eax, 4
push eax
lea edi, [esp + 0x20]
call fcn.0047fa70
add esp, 4
cmp dword [eax + 0x18], 0x10
jb 0x4723dc
mov eax, dword [eax + 4]
jmp 0x4723df
add eax, 4
push eax
lea eax, [esp + 0x90]
push 0x50abd8
push eax
call fcn.004cb3cf
add esp, 0xc
cmp dword [esp + 0x34], 0x10
jb 0x472409
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004c8f17
add esp, 4
lea eax, [esp + 0x8c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x472413
sub eax, edx
push eax
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x40]
call fcn.00409900
push 0xe
push str.___localnum_:_
lea eax, [esp + 0x40]
call fcn.00409900
mov eax, dword [0x532f14]
sub eax, dword [0x532f10]
sar eax, 2
cmp esi, eax
jb 0x472455
call fcn.004c96d9
mov ecx, dword [0x532f10]
mov edx, dword [ecx + esi*4]
mov eax, dword [edx + 0x2c]
push eax
lea ecx, [esp + 0x90]
push 0x5082a8
push ecx
call fcn.004cb3cf
lea eax, [esp + 0x98]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x472481
sub eax, edx
push eax
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x40]
call fcn.00409900
lea eax, [ebx - 1]
mov edx, str.__r_n
cmp esi, eax
je 0x4724ad
mov edx, str.___r_n
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4724b2
sub eax, edi
push eax
push edx
lea eax, [esp + 0x40]
call fcn.00409900
inc esi
cmp esi, ebx
jl 0x472313
push 1
push 0x509d0c
lea eax, [esp + 0x40]
call fcn.00409900
lea esi, [esp + 0x70]
call fcn.00478480
push 0xffffffffffffffff
mov byte [esp + 0x10c], 1
xor ebx, ebx
xor eax, eax
push ebx
mov ecx, esi
mov word [esp + 0x60], ax
push ecx
lea eax, [esp + 0x60]
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], ebx
call fcn.00401850
push 4
push 0x50ab6c
lea eax, [esp + 0x5c]
mov byte [esp + 0x110], 2
call fcn.004088a0
mov eax, dword [esp + 0x58]
mov edi, 8
cmp dword [esp + 0x6c], edi
jae 0x47253f
lea eax, [esp + 0x58]
push 0x5092fc
push eax
call fcn.004c97af
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x4725ab
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x472562
lea eax, [esp + 0x3c]
mov edx, dword [esp + 0x4c]
push esi
push edx
push 1
push eax
call fcn.004ca3f1
push esi
call fcn.004ccea0
add esp, 0x14
push esi
call fcn.004c9c66
mov ecx, dword [esp + 0x78]
add esp, 4
cmp dword [esp + 0x88], edi
jae 0x472593
lea ecx, [esp + 0x74]
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x6c], edi
jae 0x4725a1
lea eax, [esp + 0x58]
push 1
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp dword [esp + 0x6c], edi
jb 0x4725be
mov eax, dword [esp + 0x58]
push eax
call fcn.004c8f17
add esp, 4
xor ecx, ecx
mov esi, 7
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov word [esp + 0x58], cx
cmp dword [esp + 0x88], edi
jb 0x4725e8
mov edx, dword [esp + 0x74]
push edx
call fcn.004c8f17
add esp, 4
xor eax, eax
mov dword [esp + 0x108], 0xffffffff
cmp dword [esp + 0x50], 0x10
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebx
mov word [esp + 0x74], ax
jb 0x47261c
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004c8f17
add esp, 4
call fcn.00478340
cmp byte [ebp + 8], 1
jne 0x47299b
mov edx, dword [0x532f2c]
sub edx, dword [0x532f28]
test edx, 0xfffffffc
je 0x47299b
xor esi, esi
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
push 3
push 0x50abbc
lea ecx, [esp + 0x40]
mov dword [esp + 0x110], 3
call fcn.00404980
mov ebx, dword [0x532f2c]
sub ebx, dword [0x532f28]
sar ebx, 2
cmp ebx, esi
jle 0x47284e
jmp 0x472690
push 8
push str.__id_:_
lea eax, [esp + 0x40]
call fcn.00409900
mov eax, dword [0x532f2c]
sub eax, dword [0x532f28]
sar eax, 2
cmp esi, eax
jb 0x4726b7
call fcn.004c96d9
mov ecx, dword [0x532f28]
mov edx, dword [ecx + esi*4]
mov eax, dword [edx + 4]
push eax
lea ecx, [esp + 0x90]
push 0x5082a8
push ecx
call fcn.004cb3cf
lea eax, [esp + 0x98]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4726e3
sub eax, edx
push eax
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x40]
call fcn.00409900
push 0xa
push str.___name_:_
lea eax, [esp + 0x40]
call fcn.00409900
mov eax, dword [0x532f2c]
sub eax, dword [0x532f28]
sar eax, 2
cmp esi, eax
jb 0x472725
call fcn.004c96d9
mov ecx, dword [0x532f28]
mov eax, dword [ecx + esi*4]
add eax, 8
cmp dword [eax + 0x18], 8
jb 0x47273c
mov eax, dword [eax + 4]
jmp 0x47273f
add eax, 4
push eax
lea edi, [esp + 0x20]
call fcn.0047fa70
add esp, 4
cmp dword [eax + 0x18], 0x10
jb 0x472757
mov eax, dword [eax + 4]
jmp 0x47275a
add eax, 4
push eax
lea edx, [esp + 0x90]
push 0x50abd8
push edx
call fcn.004cb3cf
add esp, 0xc
cmp dword [esp + 0x34], 0x10
jb 0x472784
mov eax, dword [esp + 0x20]
push eax
call fcn.004c8f17
add esp, 4
lea eax, [esp + 0x8c]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x472790
sub eax, edx
push eax
lea ecx, [esp + 0x90]
push ecx
lea eax, [esp + 0x40]
call fcn.00409900
push 0xe
push str.___localnum_:_
lea eax, [esp + 0x40]
call fcn.00409900
mov edx, dword [0x532f2c]
sub edx, dword [0x532f28]
sar edx, 2
cmp esi, edx
jb 0x4727d3
call fcn.004c96d9
mov eax, dword [0x532f28]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx + 0x2c]
push edx
lea eax, [esp + 0x90]
push 0x5082a8
push eax
call fcn.004cb3cf
lea eax, [esp + 0x98]
add esp, 0xc
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x472800
sub eax, edx
push eax
lea ecx, [esp + 0x90]
push ecx
lea eax, [esp + 0x40]
call fcn.00409900
lea eax, [ebx - 1]
mov edx, str.__r_n
cmp esi, eax
je 0x47282c
mov edx, str.___r_n
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x472831
sub eax, edi
push eax
push edx
lea eax, [esp + 0x40]
call fcn.00409900
inc esi
cmp esi, ebx
jl 0x472690
push 1
push 0x509d0c
lea eax, [esp + 0x40]
call fcn.00409900
lea esi, [esp + 0x70]
call fcn.004784a0
push 0xffffffffffffffff
xor ebx, ebx
push ebx
mov eax, esi
mov byte [esp + 0x110], 4
xor edx, edx
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], dx
call fcn.00401850
push 4
push 0x50ab6c
lea eax, [esp + 0x5c]
mov byte [esp + 0x110], 5
call fcn.004088a0
mov eax, dword [esp + 0x58]
mov edi, 8
cmp dword [esp + 0x6c], edi
jae 0x4728be
lea eax, [esp + 0x58]
push 0x5092fc
push eax
call fcn.004c97af
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x47292a
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x4728e1
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
push esi
push ecx
push 1
push eax
call fcn.004ca3f1
push esi
call fcn.004ccea0
add esp, 0x14
push esi
call fcn.004c9c66
mov ecx, dword [esp + 0x78]
add esp, 4
cmp dword [esp + 0x88], edi
jae 0x472912
lea ecx, [esp + 0x74]
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x6c], edi
jae 0x472920
lea eax, [esp + 0x58]
push 1
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp dword [esp + 0x6c], edi
jb 0x47293d
mov edx, dword [esp + 0x58]
push edx
call fcn.004c8f17
add esp, 4
xor eax, eax
mov esi, 7
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov word [esp + 0x58], ax
cmp dword [esp + 0x88], edi
jb 0x472967
mov ecx, dword [esp + 0x74]
push ecx
call fcn.004c8f17
add esp, 4
xor edx, edx
mov dword [esp + 0x108], 0xffffffff
cmp dword [esp + 0x50], 0x10
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebx
mov word [esp + 0x74], dx
jb 0x47299b
mov eax, dword [esp + 0x3c]
push eax
call fcn.004c8f17
add esp, 4
call fcn.004783e0
mov ecx, dword [0x532e64]
xor esi, esi
cmp ecx, esi
je 0x4729ba
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x532e64], esi
mov ecx, dword [0x532f94]
cmp ecx, esi
je 0x4729d2
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x532f94], esi
mov ecx, dword [0x532efc]
mov eax, dword [0x532ef8]
mov ebx, ecx
cmp eax, ecx
jbe 0x4729f3
call fcn.004c96d9
mov ecx, dword [0x532efc]
mov eax, dword [0x532ef8]
mov esi, dword [0x532eec]
mov edi, eax
cmp eax, ecx
jbe 0x472a04
call fcn.004c96d9
mov ecx, dword [0x532eec]
push ebx
push esi
push edi
push ecx
lea edx, [esp + 0x24]
push edx
mov esi, 0x532eec
call fcn.004976d0
mov eax, dword [0x532ecc]
mov ecx, dword [0x532ec8]
mov ebx, eax
cmp ecx, eax
jbe 0x472a3e
call fcn.004c96d9
mov eax, dword [0x532ecc]
mov ecx, dword [0x532ec8]
mov esi, dword [0x532ebc]
mov edi, ecx
cmp ecx, eax
jbe 0x472a4f
call fcn.004c96d9
mov eax, dword [0x532ebc]
push ebx
push esi
push edi
push eax
lea ecx, [esp + 0x24]
push ecx
mov esi, 0x532ebc
call fcn.004976d0
mov eax, dword [0x532ee4]
mov ecx, dword [0x532ee0]
mov ebx, eax
cmp ecx, eax
jbe 0x472a88
call fcn.004c96d9
mov eax, dword [0x532ee4]
mov ecx, dword [0x532ee0]
mov esi, dword [0x532ed4]
mov edi, ecx
cmp ecx, eax
jbe 0x472a99
call fcn.004c96d9
mov edx, dword [0x532ed4]
push ebx
push esi
push edi
push edx
lea eax, [esp + 0x24]
push eax
mov esi, 0x532ed4
call fcn.004976d0
mov eax, dword [0x532f4c]
mov ecx, dword [0x532f48]
mov dword [0x532f34], 0
mov ebx, eax
cmp ecx, eax
jbe 0x472add
call fcn.004c96d9
mov eax, dword [0x532f4c]
mov ecx, dword [0x532f48]
mov esi, dword [0x532f3c]
mov edi, ecx
cmp ecx, eax
jbe 0x472aee
call fcn.004c96d9
mov ecx, dword [0x532f3c]
push ebx
push esi
push edi
push ecx
lea edx, [esp + 0x24]
push edx
mov esi, 0x532f3c
call fcn.004976d0
push 0
push 0x4feab8
mov esi, 0x532f54
call fcn.00401760
call dword [sym.imp.ole32.dll_OleUninitialize]
mov ecx, dword [esp + 0x100]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.004c8f08
mov esp, ebp
pop ebp
ret