Function at 0x466da0
Capabilities:
Copy file

Disassembly:
push 0xffffffffffffffff
push 0x4d80cf
mov eax, dword fs:[0]
push eax
mov eax, 0x1158
call fcn.00468d20
mov eax, dword [0x5808f0]
xor eax, esp
mov dword [esp + 0x1154], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5808f0]
xor eax, esp
push eax
lea eax, [esp + 0x116c]
mov dword fs:[0], eax
xor edi, edi
xor eax, eax
mov ebx, ecx
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], edi
mov word [esp + 0x50], ax
lea ecx, [esp + 0x18]
mov dword [esp + 0x1174], edi
call fcn.00431f10
xor esi, esi
mov byte [esp + 0x1174], 1
cmp dword [0x579ec0], edi
je 0x466e2a
jmp 0x466e20
inc esi
cmp dword [esi*4 + 0x579ec0], edi
jne 0x466e20
push 1
call fcn.004198f0
push esi
push edi
call fcn.00419930
push edi
call fcn.00419910
add esp, 0x10
cmp dword [0x579ec0], edi
je 0x466fd8
mov eax, 0x579ec0
lea esi, [ebx + 0x28]
mov ebp, 1
lea ebx, [ebx]
mov ecx, dword [eax]
mov edi, 8
mov dword [ebx + 0x24], ecx
cmp dword [esi + 0x18], edi
jb 0x466e74
mov eax, dword [esi + 4]
jmp 0x466e77
lea eax, [esi + 4]
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0x18]
mov ecx, ebx
call eax
test al, al
je 0x466fbc
push ebp
push str._k_04d
lea ecx, [esp + 0x70]
push 0x3f
push ecx
call fcn.0046a2b8
add esp, 0x10
push 0xffffffffffffffff
push 0
push esi
lea ecx, [esp + 0x58]
call fcn.0041c410
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0x34]
push esi
push eax
call fcn.0042cd00
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x1180], 2
call fcn.0041c410
mov byte [esp + 0x1174], 1
cmp dword [esp + 0x48], edi
jb 0x466ef0
mov ecx, dword [esp + 0x34]
push ecx
call fcn.004699ce
add esp, 4
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0x64], edi
jae 0x466efe
lea ecx, [esp + 0x50]
cmp dword [esi + 0x18], edi
jb 0x466f08
mov eax, dword [esi + 4]
jmp 0x466f0b
lea eax, [esi + 4]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x466fbc
push 0x24
call fcn.00469e21
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x1174], 3
test eax, eax
je 0x466f51
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0x64], edi
jae 0x466f45
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.00424dc0
mov edi, eax
jmp 0x466f53
xor edi, edi
cmp dword [esp + 0x64], 8
mov eax, dword [esp + 0x50]
mov byte [esp + 0x1174], 1
jae 0x466f6a
lea eax, [esp + 0x50]
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0x1c]
push edi
mov ecx, ebx
call eax
test edi, edi
je 0x466f89
mov ecx, edi
call fcn.00424ce0
push edi
call fcn.004699ce
add esp, 4
cmp dword [esp + 0x64], 8
mov eax, dword [esp + 0x50]
jae 0x466f98
lea eax, [esp + 0x50]
push eax
call fcn.004258e0
add esp, 4
test eax, eax
jl 0x466fb7
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x18], ebp
call fcn.0044b870
mov edi, 8
push ebp
call fcn.00419910
inc ebp
lea eax, [ebp*4 + 0x579ebc]
add esp, 4
cmp dword [eax], 0
jne 0x466e60
jmp 0x466fdd
mov edi, 8
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x24]
test edx, 0xfffffffc
jne 0x46701e
xor esi, esi
mov eax, 0x4ec7f8
cmp dword [0x584064], esi
jne 0x467001
mov eax, 0x4ec6d8
push eax
lea eax, [esp + 0x16c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 8
mov dword [0x594aac], esi
jmp 0x4670cb
cmp dword [0x584064], 0
mov eax, 0x4ec690
jne 0x467031
mov eax, str.Possible_decryption_key_found:_n
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
push eax
lea ecx, [esp + 0x16c]
push ecx
call edi
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov eax, edx
sub eax, ecx
sar eax, 2
add esp, 8
xor esi, esi
test eax, eax
jbe 0x4670ab
cmp esi, eax
jb 0x467067
call fcn.00469df6
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + esi*4]
push edx
lea eax, [esp + 0xec]
push 0x4ec648
push eax
call edi
lea ecx, [esp + 0xf4]
push ecx
lea edx, [esp + 0x178]
push 0x800
push edx
call fcn.004696da
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov eax, edx
sub eax, ecx
inc esi
sar eax, 2
add esp, 0x18
cmp esi, eax
jb 0x467067
sub edx, ecx
sar edx, 2
test edx, edx
ja 0x4670bd
call fcn.00469df6
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov dword [0x594aac], eax
mov edi, 8
xor esi, esi
mov edx, dword [0x584068]
push 0x40
push 0x4e01e0
lea ecx, [esp + 0x170]
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [esp + 0x24]
cmp eax, esi
je 0x4670f8
push eax
call fcn.004699ce
add esp, 4
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
call fcn.004699ce
add esp, 4
cmp dword [esp + 0x64], edi
jb 0x467124
mov ecx, dword [esp + 0x50]
push ecx
call fcn.004699ce
add esp, 4
mov ecx, dword [esp + 0x116c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1154]
xor ecx, esp
call fcn.004690b5
add esp, 0x1164
ret