Function at 0x4794dc
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa0
push ebx
push esi
push edi
mov esi, eax
lea edi, [ebp - 0x3c]
push ecx
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop ecx
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, edx
sub eax, 0x80
je 0x47950d
sub eax, 0x40
je 0x479516
sub eax, 0x40
je 0x47951f
jmp 0x479528
mov dword [ebp - 4], 4
jmp 0x479530
mov dword [ebp - 4], 6
jmp 0x479530
mov dword [ebp - 4], 8
jmp 0x479530
or eax, 0xffffffff
jmp 0x479791
mov eax, ecx
sub eax, 0x80
je 0x479545
sub eax, 0x40
je 0x47954e
sub eax, 0x40
je 0x479557
jmp 0x479560
mov dword [ebp - 8], 4
jmp 0x47956a
mov dword [ebp - 8], 6
jmp 0x47956a
mov dword [ebp - 8], 8
jmp 0x47956a
mov eax, 0xfffffffe
jmp 0x479791
cmp ecx, edx
setle al
call fcn.004794d0
sub eax, 0x80
je 0x479587
sub eax, 0x40
je 0x479590
sub eax, 0x40
je 0x479599
jmp 0x4795a2
mov dword [ebp - 0xc], 0xa
jmp 0x4795ac
mov dword [ebp - 0xc], 0xc
jmp 0x4795ac
mov dword [ebp - 0xc], 0xe
jmp 0x4795ac
mov eax, 0xfffffffd
jmp 0x479791
mov esi, dword [ebp - 4]
dec esi
test esi, esi
jl 0x4795e2
inc esi
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x1c], eax
mov ecx, 4
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov bl, byte [eax]
mov byte [edx], bl
add edx, 8
add eax, 8
dec ecx
jne 0x4795cc
inc dword [ebp - 0x1c]
inc dword [ebp - 0x18]
dec esi
jne 0x4795c1
xor eax, eax
mov dword [ebp - 0x10], eax
xor ebx, ebx
jmp 0x479622
mov ecx, 4
lea esi, [ebp - 0x5c]
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 8]
shl eax, 2
lea eax, [edi + eax*8]
push eax
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 8]
pop eax
add eax, edx
push eax
mov al, byte [esi + ebx]
pop edx
mov byte [edx], al
add edi, 8
add esi, 8
dec ecx
jne 0x4795f6
inc ebx
inc dword [ebp - 0x10]
cmp ebx, dword [ebp - 4]
jge 0x47977f
mov eax, dword [ebp - 0xc]
inc eax
imul dword [ebp - 8]
cmp eax, dword [ebp - 0x10]
jg 0x4795eb
jmp 0x47977f
xor ecx, ecx
lea eax, [ebp - 0x5c]
lea edx, [ecx + 1]
and edx, 0x80000003
jns 0x479651
dec edx
or edx, 0xfffffffc
inc edx
lea edx, [ebp + edx*8 - 0x5c]
mov ebx, dword [ebp - 4]
movzx edx, byte [edx + ebx - 1]
mov dl, byte [edx + 0x498990]
xor byte [eax], dl
inc ecx
add eax, 8
cmp ecx, 4
jne 0x479641
mov eax, dword [ebp - 0x14]
mov al, byte [eax*4 + 0x498b90]
xor byte [ebp - 0x5c], al
inc dword [ebp - 0x14]
cmp dword [ebp - 4], 8
je 0x4796ae
mov esi, dword [ebp - 4]
dec esi
test esi, esi
jle 0x479733
lea edx, [ebp - 0x5c]
mov ecx, 4
mov eax, edx
mov bl, byte [eax]
xor byte [eax + 1], bl
add eax, 8
dec ecx
jne 0x47969a
inc edx
dec esi
jne 0x479693
jmp 0x479733
mov ebx, 1
jmp 0x4796cb
mov ecx, 4
lea eax, [ebp - 0x5c]
mov dl, byte [eax + ebx - 1]
xor byte [eax + ebx], dl
add eax, 8
dec ecx
jne 0x4796bd
inc ebx
mov dword [ebp - 0x60], ebx
fild dword [ebp - 0x60]
fild dword [ebp - 4]
fdiv dword [0x47979c]
fcompp
fnstsw ax
sahf
ja 0x4796b5
mov ecx, 4
lea eax, [ebp - 0x5c]
mov edx, dword [ebp - 4]
sar edx, 1
jns 0x4796f3
adc edx, 0
xor ebx, ebx
mov bl, byte [eax + edx - 1]
mov bl, byte [ebx + 0x498990]
xor byte [eax + edx], bl
add eax, 8
dec ecx
jne 0x4796e9
mov ebx, dword [ebp - 4]
sar ebx, 1
jns 0x479712
adc ebx, 0
inc ebx
cmp ebx, dword [ebp - 4]
jge 0x479733
mov ecx, 4
lea eax, [ebp - 0x5c]
mov dl, byte [eax + ebx - 1]
xor byte [eax + ebx], dl
add eax, 8
dec ecx
jne 0x479720
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x479718
xor ebx, ebx
jmp 0x47976e
mov ecx, 4
lea esi, [ebp - 0x5c]
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 8]
shl eax, 2
lea eax, [edi + eax*8]
push eax
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 8]
pop eax
add eax, edx
push eax
mov al, byte [esi + ebx]
pop edx
mov byte [edx], al
add edi, 8
add esi, 8
dec ecx
jne 0x479742
inc ebx
inc dword [ebp - 0x10]
cmp ebx, dword [ebp - 4]
jge 0x47977f
mov eax, dword [ebp - 0xc]
inc eax
imul dword [ebp - 8]
cmp eax, dword [ebp - 0x10]
jg 0x479737
mov eax, dword [ebp - 0xc]
inc eax
imul dword [ebp - 8]
cmp eax, dword [ebp - 0x10]
jg 0x47963c
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4