Function at 0x4537d4
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push eax
add al, 0
xor al, byte [ebx + 0x558bf0c4]
clc
mov dword [ebp - 4], esi
sar ebx, 1
neg ebx
lea edx, [edx + ebx*2]
mov ebx, dword [ebp - 0xb0]
mov dword [ebp - 8], edx
mov dword [ebp - 0x10], ebx
jmp 0x417698
push ss
push 0x3d
pop ecx
cmp ax, cx
je 0x48453ca4
mov cl, 0x17
push 2
ret 0xdc08
add al, bl
jne int.004537d4
push 0x3c
pop edi
movzx eax, word [esi + 2]
cmp ax, di
je 0x453800
cmp ax, word [ebp - 0x72ffc1e0]
je 0x453800
cmp ax, word [ebp - 0x72ff0128]
je 0x453800
push 0x45
pop eax
mov dword [edx], eax
jmp 0x8d461eec
add esi, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], esi
movzx eax, word [esi]
cmp ax, di
jne 0x453818
push 0x3e
pop eax
mov ebx, eax
jmp 0x45382c
push 0x27
xor ebx, ebx
pop ecx
cmp ax, cx
push 0x7d
setne bl
dec ebx
and ebx, 0xffffffaa
pop eax
add ebx, eax
push 0x30
pop ecx
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x38], esi
movzx eax, word [esi]
cmp ax, cx
jb 0x453858
push 0x39
pop ecx
cmp ax, cx
ja 0x453858
mov dword [edx], 0x54
jmp 0x2454724
mov edi, 0x200ffff
cmp ax, di
ja 0x453887
jmp 0x2af60b4
fadd dword [ebp - 0x38]
mov edi, esi
sub edi, eax
sar edi, 1
cmp dword [ebp + 0x2c], 0xffffffff
je 0x45390d
add edi, edi
je 0x4546c8
cmp word [esi], bx
jne 0x48546c4
push 0x20
pop ecx
cmp edi, ecx
jg 0x24546c0
mov edx, dword [ebp + 0x28]
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov ebx, dword [edx + 0x30]
mov esi, dword [edx + 0x28]
test ebx, ebx
jle 0x4538ec
cmp edi, dword [esi + 4]
jne 0x4538de
mov edx, dword [esi]
mov ecx, eax
push edi
call fcn.0048ea6a
pop ecx
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x74], esi
push cs
mov eax, dword [ebp - 0x38]
inc ecx
add esi, 0xc
jmp 0xcb812534
cmp ecx, ebx
jge 0x4538f5
mov edi, dword [esi + 8]
jmp 0x4538f9
xor eax, eax
mov edi, eax
fadd dword [ebp - 0x18]
mov dword [ebp - 0x38], edi
add dword [ecx + 0x75], esi
add edi, edi
inc edx
push esp
mov edx, dword [ebp + 0x2c]
inc dword [edx]
jmp 0x453979
mov edx, dword [ebp + 0x28]
mov ecx, dword [edx + 0x2c]
mov ebx, dword [edx + 0x30]
mov dword [ebp - 0x48], ecx
xor ecx, ecx
mov dword [ebp - 0x14], ecx
test ebx, ebx
jle 0x453962
mov esi, edx
mov edx, dword [ebp - 0x48]
push edi
add edx, 2
mov ecx, eax
call fcn.0048ea6a
mov edx, dword [ebp - 0x48]
pop ecx
cwde
jne 0x453946
cmp word [edx + edi*2 + 2], ax
jne 0x453946
mov ecx, dword [ebp - 0x14]
jmp 0x45395d
mov eax, dword [esi + 0x34]
fmul dword [ebp - 0x14]
inc ecx
jmp 0x14d3259f
mov esi, dword [ebp - 0x24]
jmp 0x453965
mov edx, dword [ebp - 0x48]
cmp ecx, ebx
jge 0x8d46363f
movzx edi, word [edx]
fadd dword [ebp - 0x18]
mov word [ebp + 0x2c], ss
mov dword [ebp - 0x38], edi
add dword [ecx + 0xf], esi
test ebx, esp
add byte [eax], al
add al, bl
jne 0x4539ac
test edx, edx
jne 0x453b90
cmp dword [esi + 0x78], eax
je 0x4cd03b90
mov ebx, dword [ebp + 0x28]
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x74], ecx
inc ecx
mov eax, dword [ebx + 0x34]
jmp 0x14d325f7
push ebp
fdivr qword [ebx]
dec ebx
xor byte [edi], cl
invalid
mov ecx, dword [ebp - 0xc]
cmp dword [ebp - 0x2c], 0xfffffffe
jne 0x453b9d
or dword [ebp - 0x2c], 0xffffffff
mov edx, dword [ebp - 8]
add ebx, edx
test byte [ebp - 0x34], cl
push 0
pop eax
setne al
mov dword [ebp - 0x10], ebx
add eax, 0x71
mov word [edx], ax
push 2
pop eax
add edx, eax
push 0x20
mov word [edx], di
add edx, eax
pop eax
cmp edi, eax
mov dword [ebp - 8], edx
add cl, 0x7d
add al, 0x8b
iretd
push 0x3e
pop eax
mov dword [edx], eax
jmp 0x454724
add eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
jmp 0x417622