Function at 0x44d454
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov dword [0x7787c4], 0x412b14
mov dword [0x7787cc], 0x412cf0
mov dword [0x7787d4], 0x412ff8
mov dword [0x7787dc], 0x413348
mov dword [0x7787e4], 0x4136cc
mov dword [0x7787ec], 0x413a84
mov dword [0x7787f4], 0x414194
mov dword [0x7787fc], 0x414518
mov dword [0x778804], 0x413dcc
mov dword [0x77880c], 0x41489c
mov dword [0x778814], 0x414c54
mov dword [0x77881c], 0x41500c
mov dword [0x778824], 0x4153c4
mov dword [0x77882c], 0x41577c
mov dword [0x778834], 0x415b00
mov dword [0x77883c], 0x415eb8
mov dword [0x778844], 0x416270
mov dword [0x77884c], 0x416628
mov dword [0x778854], 0x4169ac
mov dword [0x7787c0], 0x412b2c
mov dword [0x7787c8], 0x412d08
mov dword [0x7787d0], 0x413010
mov dword [0x7787d8], 0x413360
mov dword [0x7787e0], 0x413718
mov dword [0x7787e8], 0x413a9c
mov dword [0x7787f0], 0x4141ac
mov dword [0x7787f8], 0x414530
mov dword [0x778800], 0x413e18
mov dword [0x778808], 0x4148e8
mov dword [0x778810], 0x414ca0
mov dword [0x778818], 0x415058
mov dword [0x778820], 0x415410
mov dword [0x778828], 0x415794
mov dword [0x778830], 0x415b4c
mov dword [0x778838], 0x415f04
mov dword [0x778840], 0x4162bc
mov dword [0x778848], 0x416640
mov dword [0x778850], 0x4169f8
mov dword [0x778864], 0x412b48
mov dword [0x77886c], 0x412d24
mov dword [0x778874], 0x413060
mov dword [0x77887c], 0x4133b8
mov dword [0x778884], 0x413770
mov dword [0x77888c], 0x413ab8
mov dword [0x778894], 0x414204
mov dword [0x77889c], 0x414588
mov dword [0x7788a4], 0x413e80
mov dword [0x7788ac], 0x414940
mov dword [0x7788b4], 0x414cf8
mov dword [0x7788bc], 0x4150b0
mov dword [0x7788c4], 0x415468
mov dword [0x7788cc], 0x4157ec
mov dword [0x7788d4], 0x415ba4
mov dword [0x7788dc], 0x415f5c
mov dword [0x7788e4], 0x416314
mov dword [0x7788ec], 0x416698
mov dword [0x7788f4], 0x416a50
mov dword [0x778860], 0x412b60
mov dword [0x778868], 0x412dc8
mov dword [0x778870], 0x413108
mov dword [0x778878], 0x41346c
mov dword [0x778880], 0x413824
mov dword [0x778888], 0x413b6c
mov dword [0x778890], 0x4142b8
mov dword [0x778898], 0x41463c
mov dword [0x7788a0], 0x413f34
mov dword [0x7788a8], 0x4149f4
mov dword [0x7788b0], 0x414dac
mov dword [0x7788b8], 0x415164
mov dword [0x7788c0], 0x41551c
mov dword [0x7788c8], 0x4158a0
mov dword [0x7788d0], 0x415c58
mov dword [0x7788d8], 0x416010
mov dword [0x7788e0], 0x4163c8
mov dword [0x7788e8], 0x41674c
mov dword [0x7788f0], 0x416b04
mov dword [0x778900], 0x412ba0
mov dword [0x778908], 0x412e74
mov dword [0x778910], 0x4131b8
mov dword [0x778918], 0x413530
mov dword [0x778920], 0x4138e8
mov dword [0x778928], 0x413c30
mov dword [0x778930], 0x41437c
mov dword [0x778938], 0x414700
mov dword [0x778940], 0x413ff8
mov dword [0x778948], 0x414ab8
mov dword [0x778950], 0x414e70
mov dword [0x778958], 0x415228
mov dword [0x778960], 0x4155e0
mov dword [0x778968], 0x415964
mov dword [0x778970], 0x415d1c
mov dword [0x778978], 0x4160d4
mov dword [0x778980], 0x41648c
mov dword [0x778988], 0x416810
mov dword [0x778990], 0x416bc8
mov dword [0x778904], 0x412b7c
mov dword [0x77890c], 0x412e74
mov dword [0x778914], 0x4131b8
mov dword [0x77891c], 0x413530
mov dword [0x778924], 0x4138e8
mov dword [0x77892c], 0x413c30
mov dword [0x778934], 0x41437c
mov dword [0x77893c], 0x414700
mov dword [0x778944], 0x413ff8
mov dword [0x77894c], 0x414ab8
mov dword [0x778954], 0x414e70
mov dword [0x77895c], 0x415228
mov dword [0x778964], 0x4155e0
mov dword [0x77896c], 0x415964
mov dword [0x778974], 0x415d1c
mov dword [0x77897c], 0x4160d4
mov dword [0x778984], 0x41648c
mov dword [0x77898c], 0x416810
mov dword [0x778994], 0x416bc8
mov dword [0x7789a0], 0x412c44
mov dword [0x7789a8], 0x412f30
mov dword [0x7789b0], 0x41327c
mov dword [0x7789b8], 0x4135f8
mov dword [0x7789c0], 0x4139b0
mov dword [0x7789c8], 0x413cf8
mov dword [0x7789d0], 0x414444
mov dword [0x7789d8], 0x4147c8
mov dword [0x7789e0], 0x4140c0
mov dword [0x7789e8], 0x414b80
mov dword [0x7789f0], 0x414f38
mov dword [0x7789f8], 0x4152f0
mov dword [0x778a00], 0x4156a8
mov dword [0x778a08], 0x415a2c
mov dword [0x778a10], 0x415de4
mov dword [0x778a18], 0x41619c
mov dword [0x778a20], 0x416554
mov dword [0x778a28], 0x4168d8
mov dword [0x778a30], 0x416c90
mov ebx, 1
mov ecx, 0x200
mov edi, ecx
xor esi, esi
lea ebp, [ecx + 0x200]
mov eax, esi
cdq
idiv ebx
mov word [edi + 0x7586c0], ax
add esi, 0x100
add edi, 2
cmp ebp, edi
ja 0x44d9a1
add ecx, 0x200
inc ebx
cmp ebx, 0x100
jl 0x44d997
xor eax, eax
mov byte [eax + 0x656ec0], al
jmp 0x44d9da
mov byte [eax + 0x656ec0], 0xff
inc eax
cmp eax, 0x1ff
jge 0x44d9eb
cmp eax, 0xff
jg 0x44d9d3
jmp 0x44d9cb
xor eax, eax
xor edx, edx
jmp 0x44d9f7
lea edx, [eax - 0xff]
mov byte [eax + 0x6570c0], dl
inc eax
cmp eax, 0x1ff
jge 0x44da0e
cmp eax, 0xff
jge 0x44d9f1
jmp 0x44d9ed
xor ecx, ecx
xor ebx, ebx
xor esi, esi
xor ebp, ebp
mov eax, 0x80808081
imul ebp
add edx, ebp
sar edx, 7
mov edi, ebp
sar edi, 0x1f
sub edx, edi
mov byte [ebx + esi + 0x6572c0], dl
add ebp, ecx
inc esi
cmp esi, 0x100
jl 0x44da16
add ebx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x44da12
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov ebp, ebx
shl ebp, 8
sub ebp, ebx
mov eax, ebp
jmp 0x44da60
mov eax, ebp
cdq
idiv esi
cmp eax, 0xff
jle 0x44da6c
mov eax, 0xff
mov byte [ecx + esi + 0x6673c0], al
inc esi
cmp esi, 0x100
jge 0x44da82
test esi, esi
jg 0x44da5b
jmp 0x44da57
add ecx, 0x100
inc ebx
cmp ebx, 0x100
jl 0x44da4e
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov ecx, edi
xor edx, edx
movzx eax, word [edx + edi*2 + 0x5fdfde]
neg eax
add eax, ecx
mov byte [ebp + ebx + 0x6774c0], al
inc ecx
add edx, 0x400
inc ebx
cmp ebx, 0x100
jl 0x44da9b
add ebp, 0x100
inc edi
cmp edi, 0x100
jl 0x44da95
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x44dadb
mov ebx, eax
jmp 0x44dadd
mov ebx, ecx
mov byte [edx + eax + 0x7380c0], bl
inc eax
cmp eax, 0x100
jl 0x44dad3
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x44dad1
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ecx, eax
jge 0x44db09
mov ebx, ecx
jmp 0x44db0b
mov ebx, eax
mov byte [edx + eax + 0x7481c0], bl
inc eax
cmp eax, 0x100
jl 0x44db01
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x44daff
xor ecx, ecx
xor edx, edx
xor eax, eax
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jge 0x44db39
neg ebx
mov byte [edx + eax + 0x6875c0], bl
inc eax
cmp eax, 0x100
jl 0x44db2f
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x44db2d
xor eax, eax
xor ecx, ecx
xor edi, edi
mov ebp, eax
xor ebx, ebx
mov dword [esp + 0x28], eax
mov eax, 0x80808081
imul ebx
add edx, ebx
sar edx, 7
mov esi, ebx
sar esi, 0x1f
sub edx, esi
add edx, edx
neg edx
add edx, ebp
mov byte [ecx + edi + 0x6976c0], dl
inc ebp
add ebx, dword [esp + 0x28]
inc edi
cmp edi, 0x100
jl 0x44db65
mov eax, dword [esp + 0x28]
add ecx, 0x100
inc eax
cmp eax, 0x100
jl 0x44db5b
xor ebp, ebp
xor ebx, ebx
xor ecx, ecx
mov edx, ebp
shl edx, 0xa
movzx eax, word [edx + ecx*4 + 0x5fdfde]
movzx eax, al
mov byte [ebx + ecx + 0x717ec0], al
inc ecx
cmp ecx, 0x100
jge 0x44dbf5
cmp ecx, 0x80
jl 0x44dbb0
jle 0x44dbea
lea edi, [ecx + ecx]
neg edi
movzx eax, word [edx + edi*2 + 0x5fe3de]
sub eax, edi
dec eax
movzx eax, al
jmp 0x44dbbb
jne 0x44dbbb
mov eax, ebp
and eax, 0xff
jmp 0x44dbbb
add ebx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x44dba9
xor ebx, ebx
mov ecx, 0x100
xor esi, esi
xor ebp, ebp
mov eax, ebp
cdq
idiv ecx
cmp eax, 0xff
jle 0x44dc20
mov eax, 0xff
mov byte [ebx + esi + 0x6a77c0], al
add ebp, 0x100
inc esi
cmp esi, 0x100
jl 0x44dc0f
add ebx, 0x100
dec ecx
test ecx, ecx
jg 0x44dc0b
xor ecx, ecx
xor ebp, ebp
lea esi, [ecx + 1]
shl ecx, 8
mov ebx, 0xff00
mov eax, ebx
cdq
idiv esi
neg eax
add eax, 0xff
test eax, eax
jge 0x44dc62
xor eax, eax
mov byte [ecx + ebp + 0x6b78c0], al
add ebx, 0xffffff00
inc ebp
cmp ebp, 0x100
jl 0x44dc50
mov ecx, esi
cmp esi, 0x100
jl 0x44dc43
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov ebx, ecx
lea eax, [ebx - 0xff]
cmp eax, 0xff
jle 0x44dc9e
mov eax, 0xff
jmp 0x44dca4
test eax, eax
jge 0x44dca4
xor eax, eax
mov byte [edx + ebp + 0x707dc0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x44dc8a
add edx, 0x100
inc ecx
cmp ecx, 0x100
jl 0x44dc86
xor ebp, ebp
xor eax, eax
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov edi, 0x200
mov dword [esp + 0xc], eax
mov eax, edi
xor edi, edi
xor esi, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
cmp ebp, 0x80
jge 0x44dcf7
movsx eax, word [esi + ebx*2 + 0x5fdfde]
jmp 0x44dd10
jle 0x44dd0c
movsx eax, word [esi + edx*2 + 0x5fe3de]
sub eax, dword [esp + 0x10]
add eax, 0xff
jmp 0x44dd10
jne 0x44dd10
mov eax, edi
mov byte [ecx + edi + 0x6c79c0], al
add esi, 0x400
inc edi
cmp edi, 0x100
jl 0x44dce5
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
add ebx, 2
add ecx, 0x100
add edx, 0xfffffffe
add eax, 0xfffffffe
inc ebp
cmp ebp, 0x100
jl 0x44dcd9
xor edx, edx
fld qword [0x5625a8]
cmp edx, 0x80
jl 0x44dd62
xor ebx, ebx
mov ecx, edx
shl ecx, 8
jmp 0x44ddee
xor ebx, ebx
mov ecx, edx
shl ecx, 8
mov eax, ebx
neg eax
add eax, 0x100
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsqrt
fsubr st(1)
fnstcw word [esp]
movzx eax, word [esp]
or eax, 0xc00
mov dword [esp + 8], eax
fldcw word [esp + 8]
fistp dword [esp + 0x14]
fldcw word [esp]
mov ebp, dword [esp + 0x14]
mov eax, edx
imul eax, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
neg ebp
add eax, ebp
sar eax, 0xf
add eax, ebx
cmp eax, 0xff
jle 0x44ddc7
mov eax, 0xff
jmp 0x44ddcd
test eax, eax
jge 0x44ddcd
xor eax, eax
mov byte [ecx + ebx + 0x6d7ac0], al
inc ebx
cmp ebx, 0x100
jge 0x44deb1
cmp edx, 0x80
jl 0x44dd69
cmp ebx, 0x20
jg 0x44de5c
mov eax, ebx
neg eax
add eax, 0x100
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsqrt
lea ebp, [ebx + ebx]
add ebp, ebp
add ebp, ebp
neg ebp
add ebp, 0x300
mov dword [esp + 0x1c], ebp
fild dword [esp + 0x1c]
fmulp st(1)
fsubr st(1)
fnstcw word [esp]
movzx eax, word [esp]
or eax, 0xc00
mov dword [esp + 8], eax
fldcw word [esp + 8]
fistp dword [esp + 0x14]
fldcw word [esp]
mov edi, dword [esp + 0x14]
mov eax, edx
imul eax, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
neg edi
add eax, edi
sar eax, 0xf
add eax, ebx
jmp 0x44ddb9
mov eax, ebx
neg eax
add eax, 0x100
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsqrt
fsubr st(1)
fnstcw word [esp]
movzx eax, word [esp]
or eax, 0xc00
mov dword [esp + 8], eax
fldcw word [esp + 8]
fistp dword [esp + 0x14]
fldcw word [esp]
mov ebp, dword [esp + 0x14]
mov eax, edx
imul eax, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
neg ebp
add eax, ebp
sar eax, 0x10
add eax, ebx
jmp 0x44ddb9
inc edx
cmp edx, 0x100
jl 0x44dd4e
fstp st(0)
xor ecx, ecx
xor edi, edi
xor eax, eax
mov edx, 0x1fe
xor ebx, ebx
mov dword [esp + 0x28], ebx
xor esi, esi
xor ebp, ebp
lea ebx, [eax - 0xfe01]
mov dword [esp + 0xc], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], edi
cmp ecx, 0x80
jge 0x44df08
test ecx, ecx
jne 0x44def7
xor eax, eax
jmp 0x44df29
mov eax, ebx
cdq
mov edi, dword [esp + 0x10]
idiv edi
test eax, eax
jge 0x44df29
xor eax, eax
jmp 0x44df29
cmp ecx, 0xff
je 0x44e011
mov eax, ebp
cdq
mov edi, dword [esp + 0x24]
idiv edi
cmp eax, 0xff
jle 0x44df29
mov eax, 0xff
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 0x6e7bc0], al
add ebp, 0xff
add ebx, 0xff
inc esi
cmp esi, 0x100
jl 0x44dee7
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
add edi, 2
add eax, 0x1fe
add edx, 0xfffffffe
add dword [esp + 0x28], 0x100
inc ecx
cmp ecx, 0x100
jl 0x44ded1
xor edx, edx
xor ecx, ecx
xor ebp, ebp
mov ebx, edx
lea eax, [ebx - 0x100]
cmp eax, 0xff
jle 0x44df91
mov eax, 0xff
jmp 0x44df97
test eax, eax
jge 0x44df97
xor eax, eax
mov byte [ecx + ebp + 0x6f7cc0], al
inc ebx
inc ebp
cmp ebp, 0x100
jl 0x44df7d
add edx, 2
add ecx, 0x100
cmp ecx, 0x10000
jl 0x44df79
xor ebp, ebp
xor ebx, ebx
mov ecx, 0xffffff01
xor edx, edx
xor edi, edi
cmp ebp, 0x80
jge 0x44dfda
cmp edi, ebx
jle 0x44dfd6
mov eax, ebx
jmp 0x44dfe4
mov eax, edi
jmp 0x44dfe4
cmp edi, ecx
jle 0x44dfe2
mov eax, edi
jmp 0x44dfe4
mov eax, ecx
mov byte [edx + edi + 0x727fc0], al
inc edi
cmp edi, 0x100
jl 0x44dfc6
add ebx, 2
add ecx, 2
add edx, 0x100
inc ebp
cmp ebp, 0x100
jl 0x44dfc4
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xff
jmp 0x44df29