Function at 0x402ef0
Capabilities:
Copy file

Disassembly:
push 0xffffffffffffffff
push 0x406cbb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x84
mov eax, dword [esp + 0x9c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xa4]
mov ebp, ecx
mov ecx, dword [esp + 0xa0]
push eax
push esi
push ecx
mov ecx, ebp
mov dword [esp + 0x18], ebp
call section..text
push 0x40a910
push 0x40a8ec
xor ebx, ebx
push 0x404990
push 0x40a8e0
mov ecx, ebp
mov dword [esp + 0xa8], ebx
mov dword [ebp + 0x558], esi
mov byte [ebp + 0x5e4], bl
call fcn.00401560
push 0x40a830
push 0x40a814
push 0x404a60
push 0x40a808
mov ecx, ebp
call fcn.00401560
push 0x40a780
push 0x40a760
push 0x404af0
push 0x40a750
mov ecx, ebp
call fcn.00401560
push 0x40a6d8
push 0x40a6b0
push 0x4044c0
push 0x40a6a8
mov ecx, ebp
call fcn.00401560
push 0x40a608
push 0x40a5ec
push fcn.00403f20
push 0x40a5e8
mov ecx, ebp
call fcn.00401560
push 0x40a5b4
push 0x40a5a4
push 0x403fa0
push 0x40a59c
mov ecx, ebp
call fcn.00401560
push 0x40a568
push 0x40a544
push 0x403dd0
push 0x40a53c
mov ecx, ebp
call fcn.00401560
push 0x40a4e0
push 0x40a544
push 0x403e50
push 0x40a4d4
mov ecx, ebp
call fcn.00401560
push 0x40a470
push 0x40a43c
push 0x403c40
push 0x40a434
mov ecx, ebp
call fcn.00401560
push 0x40a3d0
push 0x40a3b0
push 0x404e40
push 0x40a3a8
mov ecx, ebp
call fcn.00401560
push 0x40a384
push 0x40a374
push 0x4047d0
push 0x40a360
mov ecx, ebp
call fcn.00401560
push 0x40a298
push 0x40a268
push 0x405e30
push 0x40a258
mov ecx, ebp
call fcn.00401560
push 0x40a1e8
push 0x40a1c8
push 0x405bc0
push 0x40a1b8
mov ecx, ebp
call fcn.00401560
push 0x40a120
push 0x40a1c8
push 0x405780
push 0x40a110
mov ecx, ebp
call fcn.00401560
push 0x40a080
push 0x40a1c8
push 0x4059c0
push 0x40a070
mov ecx, ebp
call fcn.00401560
push 0x40a030
push 0x40a00c
push 0x405650
push 0x40a000
mov ecx, ebp
call fcn.00401560
push 0x409f70
push 0x409f3c
push 0x406030
push 0x409f30
mov ecx, ebp
call fcn.00401560
push 0x409eb0
push 0x409e78
push 0x405f10
push 0x409e68
mov ecx, ebp
call fcn.00401560
push 0x409e28
push 0x409e20
push 0x405f00
push 0x409e14
mov ecx, ebp
call fcn.00401560
push 0x409d80
push 0x409d5c
push 0x4060c0
push 0x409d50
mov ecx, ebp
call fcn.00401560
push 0x409c78
push 0x409d5c
push 0x406130
push 0x409c68
mov ecx, ebp
call fcn.00401560
push 0x409c28
push 0x409c18
push 0x406490
push 0x409c10
mov ecx, ebp
call fcn.00401560
push 0x409bdc
push 0x40b908
push 0x406a90
push 0x409bcc
mov ecx, ebp
call fcn.00401560
push 0x409b80
mov ecx, ebp
call fcn.00401d00
push 0x409b48
mov ecx, ebp
call fcn.00401d00
push 0x409b10
mov ecx, ebp
call fcn.00401d00
push 0x409b0c
push 0x409af8
mov ecx, ebp
call fcn.00401730
push 0x409184
mov ecx, ebp
call fcn.00401620
lea edx, [ebp + 0x564]
mov esi, edx
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
test cl, cl
jne 0x4031fe
push edi
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [0x409ae8]
dec edi
push edx
push 0x409ad4
mov dword [edi], eax
mov ecx, dword [0x409aec]
mov dword [edi + 4], ecx
mov eax, dword [0x409af0]
mov dword [edi + 8], eax
mov cx, word [0x409af4]
mov word [edi + 0xc], cx
mov ecx, ebp
call fcn.00401730
mov edx, dword [ebp + 0x550]
push 0x80
push 0x40bda0
push 1
push edx
call dword [sym.imp.USER32.dll_LoadStringA]
mov ecx, dword [ebp + 0x550]
lea eax, [esp + 0x14]
push 0x80
push eax
push ecx
mov dword [ebp + 0x54c], 0x40bda0
mov dword [ebp + 0x558], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x409184
mov ecx, ebp
call fcn.00401620
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x14]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov esi, ecx
mov ecx, ebp
call fcn.00401c20
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esi + ecx + 2]
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ecx, ebp
mov ebx, eax
push 0x409184
call fcn.00401620
mov esi, ebx
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
test cl, cl
jne 0x4032d2
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebp
call fcn.00401c20
mov edi, eax
or ecx, 0xffffffff
dec edi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x14]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
push ebx
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
sete al
test al, al
mov byte [ebp + 0x5e5], al
pop edi
jne 0x40335f
push 0x10000
push 0x10000
push ebx
mov ecx, ebp
call fcn.004039f0
test al, al
je 0x40335f
push 0
lea ecx, [esp + 0x14]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x40335f
push ebx
mov ecx, ebp
call fcn.004023a0
push ebx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, ebp
call fcn.00403550
push 0x409abc
mov ecx, ebp
mov dword [0x40be20], ebp
call fcn.00401d00
push 0x409aa8
mov ecx, ebp
call fcn.00401d00
push 0x409a90
mov ecx, ebp
call fcn.00401d00
push 0x409a78
mov ecx, ebp
call fcn.00401d00
mov ecx, dword [esp + 0x90]
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x90
ret 0xc