Function at 0x413010
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45bb1b
mov eax, dword fs:[0]
push eax
sub esp, 0x1f8
mov eax, dword [0x48fc50]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov ecx, edi
mov dword [ebp - 4], 0
mov dword [ebp - 0x1f4], edi
mov dword [ebp - 0x1cc], 0
call fcn.00458420
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x1cc], 1
call dword [0x466e18]
lea eax, [ebp - 0x1bc]
mov dword [ebp - 4], 1
push eax
push 0x101
push 0
push 0x468e9c
push 0x80000002
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1b8], 0
call dword [0x466014]
test eax, eax
jne 0x413138
push 0xa4
mov dword [ebp - 0x1b8], 0xa4
call fcn.00458dea
push dword [ebp - 0x1b8]
mov esi, eax
push 0
push esi
mov dword [ebp - 0x1b0], esi
call fcn.0045ab3c
add esp, 0x10
lea eax, [ebp - 0x1b8]
push eax
push esi
push 0
push 0
push 0x468ecc
push dword [ebp - 0x1bc]
call dword [0x466020]
test eax, eax
jne 0x413138
mov eax, dword [esi + 0x3c]
movq xmm0, qword [esi + 0x34]
mov dword [ebp - 0xa4], eax
mov ax, word [esi + 0x40]
mov word [ebp - 0xa0], ax
mov al, byte [esi + 0x42]
movq qword [ebp - 0xac], xmm0
mov byte [ebp - 0x9e], al
mov byte [ebp - 0x17], 0
push 0x100
lea eax, [ebp - 0x1ac]
push 0
push eax
call fcn.0045ab3c
add esp, 0xc
mov ebx, 0x18
nop dword [eax]
nop word [eax + eax]
xor esi, esi
mov ecx, 0xe
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0xac]
shl esi, 8
xor esi, eax
mov eax, 0x2aaaaaab
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [ebp + ecx - 0xac], al
imul eax, eax, 0xffffffe8
add esi, eax
sub ecx, 1
jns 0x413170
lea eax, [ebp - 0x1ac]
push eax
call dword [0x4668d0]
add esp, 4
lea eax, [ebp - 0x1ac]
push dword [esi*4 + 0x4861f8]
push eax
call dword [0x4660b8]
mov esi, dword [0x4668d0]
lea eax, [ebp - 0x1ac]
push eax
call esi
mov eax, 0xcccccccd
mov ecx, ebx
mul ebx
add esp, 4
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
jne 0x413216
test ebx, ebx
je 0x413216
lea eax, [ebp - 0x1ac]
push eax
call esi
add esp, 4
lea eax, [ebp - 0x1ac]
push 0x468ee0
push eax
call dword [0x4660b8]
lea eax, [ebp - 0x1ac]
push eax
call esi
add esp, 4
sub ebx, 1
jns 0x413160
lea eax, [ebp - 0x1ac]
push eax
lea eax, [ebp - 0x1c0]
push 0x467528
push eax
call dword [0x466ae0]
add esp, 0xc
push dword [ebp - 0x1bc]
call dword [0x466058]
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x41325a
push eax
call fcn.00458df0
add esp, 4
lea ecx, [ebp - 0x1c0]
call dword [0x466e20]
push eax
mov ecx, edi
call fcn.0045845c
mov eax, dword [edi]
test eax, eax
je 0x41327d
cmp dword [eax], 0
jne 0x41355e
lea ecx, [ebp - 0x68]
call fcn.0042d770
push 1
push 0
push 0x80000002
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 2
call fcn.0042db20
test eax, eax
je 0x413556
push 0x468ee4
lea ecx, [ebp - 0x1c8]
call fcn.00458414
mov eax, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x68]
add eax, 0xd
mov byte [ebp - 4], 3
push 0x20019
push eax
call fcn.0042ec30
test eax, eax
je 0x4134b8
lea ecx, [ebp - 0x68]
call fcn.0042eda0
test eax, eax
je 0x4134b8
lea ecx, [ebp - 0x1b4]
call dword [0x466e18]
xor esi, esi
mov byte [ebp - 4], 4
mov ecx, edi
mov dword [ebp - 0x1b0], esi
call fcn.00408200
test eax, eax
jne 0x4134a8
nop dword [eax]
cmp esi, dword [ebp - 0x2c]
jge 0x4134a8
lea eax, [ebp - 0x1b4]
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.0042e460
test eax, eax
je 0x4134a8
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x1fc]
call fcn.00458432
push str.July
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.00458822
cmp eax, 0xb
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1fc]
sete bl
call fcn.0045841a
test bl, bl
je 0x413492
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x1dc]
call fcn.00458432
push eax
lea eax, [ebp - 0x204]
mov byte [ebp - 4], 6
push 0x467bb8
push eax
call fcn.00403970
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 7
call fcn.00458462
lea ecx, [ebp - 0x204]
call fcn.0045841a
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 4
call fcn.0045841a
mov eax, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x68]
add eax, 0xd
push 0xf003f
push eax
call fcn.0042ec30
test eax, eax
je 0x413492
lea ecx, [ebp - 0x1f0]
call fcn.004591f2
lea eax, [ebp - 0x1f0]
mov byte [ebp - 4], 8
push eax
push 0x468efc
lea ecx, [ebp - 0x68]
call fcn.0042e610
test eax, eax
je 0x413483
xor esi, esi
cmp dword [ebp - 0x1e8], esi
jle 0x41347d
lea ecx, [ebp - 0x1d4]
call fcn.00458420
mov byte [ebp - 4], 9
test esi, esi
js 0x41358a
cmp esi, dword [ebp - 0x1e8]
jge 0x41358a
mov eax, dword [ebp - 0x1ec]
movzx eax, byte [eax + esi]
push eax
lea eax, [ebp - 0x1d4]
push 0x467b3c
push eax
call fcn.00458450
add esp, 0xc
lea eax, [ebp - 0x1d4]
mov ecx, edi
push eax
call fcn.00458462
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 8
call fcn.0045841a
inc esi
cmp esi, dword [ebp - 0x1e8]
jl 0x413415
mov esi, dword [ebp - 0x1b0]
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 4
call fcn.004591f8
inc esi
mov ecx, edi
mov dword [ebp - 0x1b0], esi
call fcn.00408200
test eax, eax
je 0x413310
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 3
call dword [0x466e10]
mov eax, dword [edi]
test eax, eax
je 0x4134c7
cmp dword [eax], 0
jne 0x41354b
push str.October
lea ecx, [ebp - 0x1c8]
call fcn.0045845c
mov eax, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x68]
add eax, 0xd
push 0x20019
push eax
call fcn.0042ec30
test eax, eax
je 0x41354b
lea ecx, [ebp - 0x1b0]
call dword [0x466e18]
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0xa
push eax
push 0x468f3c
lea ecx, [ebp - 0x68]
call fcn.0042e840
lea eax, [ebp - 0x1b0]
push eax
lea ecx, [ebp - 0x1dc]
call fcn.00458432
push eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.00458456
lea ecx, [ebp - 0x1dc]
call fcn.0045841a
lea ecx, [ebp - 0x1b0]
call dword [0x466e10]
lea ecx, [ebp - 0x1c8]
call fcn.0045841a
lea ecx, [ebp - 0x68]
call fcn.0042d7c0
lea ecx, [ebp - 0x1c0]
call dword [0x466e10]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004596b9
mov esp, ebp
pop ebp
ret 4
call fcn.00458f88
int3