Function at 0x404893
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0x133f
sub esp, 0x70
push sym..exe_PC1ENC
xor esi, esi
xor edi, edi
mov ecx, 0x13
push esi
dec ecx
jne 0x4048af
xor eax, eax
call fcn.00478847
mov ebx, 0x47f100
mov eax, 2
call fcn.0046e774
push 0
push 9
push 4
push 0x10a0000
push 0
mov ebx, 0x47f100
call fcn.0046e4aa
mov ebx, 0x47f174
mov eax, 2
call fcn.0046e774
push 0
push 0x11
push 4
push 0x10a0000
push 0
mov ebx, 0x47f174
call fcn.0046e4aa
mov edx, 0x47f3cc
call fcn.0047881c
lea ebx, [ebp - 0x9c]
call fcn.004779f9
mov dword [0x47ef88], 0
mov dword [0x47ef6c], 0
mov dword [0x47ef90], 0
mov esi, 1
nop
mov eax, esi
mov ebx, dword [0x47f174]
mov dword [ebx + eax*4], 0
inc esi
cmp esi, 0x10
jle 0x404940
mov ebx, dword [ebp + 8]
mov edx, dword [ebx]
call fcn.00478805
lea ebx, [ebp - 0xa4]
call fcn.004779f9
mov edx, dword [ebp - 0xa4]
call fcn.00478805
call fcn.004787ea
mov edi, eax
mov dword [ebp - 0xc8], edi
mov esi, 1
jmp 0x4049b9
mov edx, dword [ebp - 0xa4]
call fcn.00478805
mov ecx, esi
mov eax, 1
call fcn.004700ad
call fcn.004769b3
mov ecx, esi
mov ebx, dword [0x47f174]
mov dword [ebx + ecx*4], eax
inc esi
mov eax, esi
cmp eax, dword [ebp - 0xc8]
jle 0x404990
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx]
call fcn.00478805
lea ebx, [ebp - 0xa4]
call fcn.004779f9
mov edx, dword [ebp - 0xa4]
call fcn.00478805
call fcn.004787ea
mov edi, eax
mov dword [ebp - 0xc8], edi
mov esi, 1
jmp 0x404b71
mov edx, dword [ebp - 0xa4]
call fcn.00478805
mov ecx, esi
mov eax, 1
call fcn.004700ad
call fcn.004769b3
mov dword [ebp - 0xb8], eax
call fcn.004045ca
fild dword [0x487650]
fild dword [0x487650]
fild dword [0x47ef70]
call fcn.0047799a
fild dword [0x487650]
fild dword [0x487650]
fidivr dword [0x47ef70]
fmulp st(1)
fsubrp st(1)
fdivrp st(1)
fistp dword [ebp - 0xac]
mov eax, dword [0x47ef70]
cdq
idiv dword [0x487650]
mov eax, edx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xb4], 1
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb4]
mov ebx, dword [0x47f174]
xor eax, dword [ebx + ecx*4]
mov ecx, dword [ebp - 0xb4]
mov ebx, dword [0x47f174]
mov dword [ebx + ecx*4], eax
inc dword [ebp - 0xb4]
cmp dword [ebp - 0xb4], 0x10
jle 0x404a80
mov eax, dword [ebp - 0xb0]
xor eax, dword [ebp - 0xac]
xor dword [ebp - 0xb8], eax
fild dword [0x4875cc]
fild dword [0x4875cc]
fild dword [ebp - 0xb8]
call fcn.0047799a
fild dword [0x4875cc]
fild dword [0x4875cc]
fidivr dword [ebp - 0xb8]
fmulp st(1)
fsubrp st(1)
fdivrp st(1)
fistp dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb8]
cdq
idiv dword [0x4875cc]
mov eax, edx
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0x9c]
call fcn.00478805
push 0
mov eax, dword [ebp - 0xbc]
add eax, 0x61
call fcn.0046e1a2
call fcn.0046e153
call fcn.00477cbd
lea ebx, [ebp - 0x9c]
call fcn.004779f9
mov edx, dword [ebp - 0x9c]
call fcn.00478805
push 0
mov eax, dword [ebp - 0xc0]
add eax, 0x61
call fcn.0046e1a2
call fcn.0046e153
call fcn.00477cbd
lea ebx, [ebp - 0x9c]
call fcn.004779f9
inc esi
mov eax, esi
cmp eax, dword [ebp - 0xc8]
jle 0x404a00
mov edx, dword [ebp - 0x9c]
call fcn.00478805
lea ebx, [ebp - 0x98]
call fcn.004779f9
call fcn.004786f6
mov eax, dword [ebp - 0x98]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 8