Function at 0x401000
Capabilities:
Encode data using xor

Disassembly:
push 0x1c
push 0
push 0x727614
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleW
mov dword [0x727618], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x727614], eax
call fcn.00404940
call fcn.00403f50
call fcn.00403ab0
call fcn.0040343d
call fcn.004031e6
call fcn.00402847
mov edi, str.cM.M_M_MMMMxMyMcMMyMyMcMtMtMcMMMMxMyMcMMyMyMcMtMtMcMMMMMM9M_M_MMcM7M_MMcM.M_M_MMM9M_M_MMcM7M_MMMMMM
mov ecx, 0x6e
xor byte [edi], 0x4d
inc edi
dec ecx
jne 0x401067
call fcn.00401392
and eax, eax
jne 0x401082
call fcn.00401528
and eax, eax
jne 0x401082
jmp 0x401089
mov eax, 1
jmp 0x40108b
xor eax, eax
and eax, eax
je 0x4010b7
push 0x115c
mov eax, 0x46704a
push eax
call fcn.0040399b
mov dword [0x72762c], eax
push 1
call fcn.004039d2
cmp dword [0x72762c], 0
je 0x40108f
mov dword [0x727624], 0
call fcn.004039f3
mov dword [0x72761c], eax
push 0x400
push 0xffdc
call fcn.00403b40
mov dword [0x727628], eax
push dword [0x728118]
push dword [0x727628]
push dword [0x728118]
mov edx, 0x467032
push edx
call fcn.004049c0
push dword [0x728118]
push dword [0x728118]
mov eax, dword [0x727624]
cdq
push edx
push eax
call fcn.004024a0
pop eax
mov edx, dword [0x725b34]
add dword [esp], edx
call fcn.0040399b
pop dword [0x728118]
mov dword [0x72762c], eax
push 1
call fcn.004039d2
call fcn.004039f3
push edx
push eax
mov eax, dword [0x72761c]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop ebx
pop edi
cmp edi, 0
jg 0x401162
jl 0x40115e
cmp ebx, 0x493e0
ja 0x401162
xor eax, eax
jmp 0x401167
mov eax, 1
or eax, eax
je 0x4010cb
call main
call fcn.004039f3
push edx
push eax
mov eax, dword [0x72761c]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop ebx
pop edi
cmp edi, 0
jg 0x40119d
jl 0x401199
cmp ebx, 0x493e0
ja 0x40119d
xor eax, eax
jmp 0x4011a2
mov eax, 1
or eax, eax
je 0x401354
push dword [0x728118]
push dword [0x728118]
push dword [0x728118]
call fcn.00403d4c
mov edx, 0x467068
push edx
call fcn.004049c0
add dword [0x728118], 2
push 0
mov edx, dword [0x725b34]
add dword [esp + 4], edx
call fcn.00404230
pop dword [0x728118]
mov ebp, 0x725b32
mov ebx, ebp
mov ebp, 0x4670a8
sub ebx, ebp
push ebx
mov ebp, 0x4670a8
push ebp
push 0
call fcn.004043b0
push 0
call fcn.00403e80
push dword [0x728118]
push dword [0x728118]
push dword [0x728118]
call fcn.00403d4c
mov edx, 0x467068
push edx
call fcn.004049c0
mov edx, dword [0x725b34]
add dword [esp], edx
call fcn.004013a8
pop dword [0x728118]
push dword [0x728118]
push dword [0x728118]
push dword [0x728118]
call fcn.00403d4c
mov edx, 0x467068
push edx
call fcn.004049c0
mov edx, dword [0x725b34]
add dword [esp], edx
call fcn.00403ddd
pop dword [0x728118]
push dword [0x728118]
push dword [0x728118]
push dword [0x728118]
call fcn.00403d4c
mov edx, 0x467082
push edx
call fcn.004049c0
add dword [0x728118], 2
push 0
mov edx, dword [0x725b34]
add dword [esp + 4], edx
call fcn.004032d0
pop dword [0x728118]
and eax, eax
je 0x401354
push 0
call fcn.004032e2
push 0
call fcn.00403304
push dword [0x728118]
push dword [0x728118]
push dword [0x728118]
push dword [0x728118]
push dword [0x728118]
call fcn.00402876
mov edx, dword [0x725b34]
add dword [esp], edx
call fcn.00403deb
push dword [0x728118]
push dword [0x728118]
push 0
call fcn.00403326
pop eax
add dword [0x728118], 2
push 0
mov edx, dword [0x725b34]
add dword [esp + 4], edx
call fcn.0040337a
pop dword [0x728118]
push 0
call fcn.0040319a
push 0
call 0x401373
call fcn.00404990
push dword [0x727614]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess
call fcn.004031da
call fcn.0040340d
call fcn.00403e6a
call fcn.00403f40
call fcn.004046f5
call fcn.00403aa0
ret