Function at 0x43440e
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push 0x10
mov eax, 0x50d801
call fcn.004ef9e2
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0xc]
push 0x515fec
push 0x20
pop ebx
lea eax, [esi + 0x1c]
push ebx
push eax
call fcn.004ef010
fld dword [0x515fe8]
fstp dword [esi + 0x240]
mov dword [esi + 0x18], 0xa
movzx eax, byte [edi + 3]
and eax, 0xf
add esp, 0xc
dec eax
je 0x4344bf
dec eax
je 0x4344a1
dec eax
je 0x43447d
dec eax
jne 0x4344ea
push str.LRDIMM
lea eax, [esi + 0x1c4]
push ebx
push eax
call fcn.00450b87
mov dword [esi + 0x1e4], 0x20004
jmp 0x4344db
push 0x515fd8
lea eax, [esi + 0x1c4]
push ebx
push eax
call fcn.00450b87
fld dword [0x515fd4]
mov dword [esi + 0x1e4], 0x20003
jmp 0x4344e1
push str.UDIMM
lea eax, [esi + 0x1c4]
push ebx
push eax
call fcn.00450b87
mov dword [esi + 0x1e4], 0x20002
jmp 0x4344db
push 0x515fc4
lea eax, [esi + 0x1c4]
push ebx
push eax
call fcn.00450b87
mov dword [esi + 0x1e4], 0x20001
fld dword [0x515fc0]
fstp dword [esi + 0x1e8]
add esp, 0xc
or eax, 0xffffffff
mov dword [ebp + 8], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], eax
movzx eax, byte [edi + 4]
and eax, 0xf
cmp eax, 9
ja case.default.0x434505
jmp dword [eax*4 + 0x434e02]
mov dword [ebp + 8], 0x100
jmp case.default.0x434505
mov dword [ebp + 8], 0x200
jmp case.default.0x434505
mov dword [ebp + 8], 0x400
jmp case.default.0x434505
mov dword [ebp + 8], 0x800
jmp case.default.0x434505
mov dword [ebp + 8], 0x1000
jmp case.default.0x434505
mov dword [ebp + 8], 0x2000
jmp case.default.0x434505
mov dword [ebp + 8], 0x4000
jmp case.default.0x434505
mov dword [ebp + 8], 0x8000
jmp case.default.0x434505
mov dword [ebp + 8], 0x10000
jmp case.default.0x434505
mov dword [ebp + 8], 0x20000
movzx eax, byte [edi + 6]
shr eax, 4
and eax, 7
xor edx, edx
sub eax, edx
push 8
pop ebx
je 0x434597
dec eax
je 0x43458e
dec eax
je 0x434585
dec eax
jne 0x43459e
mov dword [ebp - 0x10], ebx
jmp 0x43459e
mov dword [ebp - 0x10], 4
jmp 0x43459e
mov dword [ebp - 0x10], 2
jmp 0x43459e
mov dword [ebp - 0x10], 1
movzx ecx, byte [edi + 0xc]
mov eax, ecx
and eax, 7
sub eax, edx
je 0x4345cb
dec eax
je 0x4345c6
dec eax
je 0x4345bd
dec eax
jne 0x4345d2
mov dword [ebp - 0x1c], 0x20
jmp 0x4345d2
mov dword [ebp - 0x1c], 0x10
jmp 0x4345d2
mov dword [ebp - 0x1c], ebx
jmp 0x4345d2
mov dword [ebp - 0x1c], 4
shr ecx, 3
and ecx, 7
sub ecx, edx
je 0x434609
dec ecx
je 0x4345fd
dec ecx
je 0x4345f1
dec ecx
jne 0x434613
mov dword [esi + 0x200], 4
jmp 0x434613
mov dword [esi + 0x200], 3
jmp 0x434613
mov dword [esi + 0x200], 2
jmp 0x434613
mov dword [esi + 0x200], 1
mov ebx, dword [esi + 0x200]
push ebx
call fcn.004049c0
pop ecx
test eax, eax
je 0x434644
push dword [ebp - 0x10]
call fcn.004049c0
pop ecx
test eax, eax
je 0x434644
mov al, byte [edi + 6]
and al, 3
cmp al, 2
jne 0x434644
imul ebx, dword [ebp - 0x10]
mov dword [esi + 0x200], ebx
movzx eax, byte [edi + 0xd]
and eax, 7
sub eax, 0
je 0x434674
dec eax
je 0x43466b
dec eax
je 0x434662
dec eax
jne 0x43467b
mov dword [ebp - 0x18], 0x40
jmp 0x43467b
mov dword [ebp - 0x18], 0x20
jmp 0x43467b
mov dword [ebp - 0x18], 0x10
jmp 0x43467b
mov dword [ebp - 0x18], 8
push dword [ebp + 8]
call fcn.004049c0
pop ecx
test eax, eax
je 0x4346d4
push dword [ebp - 0x18]
call fcn.004049c0
pop ecx
test eax, eax
je 0x4346d4
push dword [ebp - 0x1c]
call fcn.004049c0
pop ecx
test eax, eax
je 0x4346d4
mov ebx, dword [esi + 0x200]
push ebx
call fcn.004049c0
pop ecx
test eax, eax
je 0x4346d4
mov eax, dword [ebp - 0x18]
cdq
idiv dword [ebp - 0x1c]
mov ecx, eax
mov eax, dword [ebp + 8]
cdq
and edx, 7
add eax, edx
sar eax, 3
imul ecx, eax
imul ecx, ebx
mov dword [esi + 0x1bc], ecx
movzx eax, byte [edi + 0xe]
shr eax, 7
mov dword [esi + 0x244], eax
movsx eax, byte [edi + 0x7d]
mov dword [ebp + 8], eax
movzx eax, byte [edi + 0x12]
fild dword [ebp + 8]
fmul qword [0x515e20]
fstp dword [ebp + 8]
fld dword [ebp + 8]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fmul qword [0x515fb8]
faddp st(1)
fstp dword [ebp + 8]
fld dword [ebp + 8]
fdivr qword [0x544c30]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fld qword [0x544c80]
fadd st(1), st(0)
fxch st(1)
call fcn.004efaf0
fld dword [ebp + 8]
fadd st(0), st(0)
mov dword [esi + 0x20c], eax
fld qword [0x544ce0]
fmul st(1)
fdiv qword [0x544c28]
faddp st(2)
fxch st(1)
call fcn.004efaf0
imul eax, eax, 0x64
mov dword [esi + 0x208], eax
call fcn.004efaf0
push eax
push 0x515ee0
lea eax, [esi + 0x3c]
push 0x20
push eax
call fcn.00450b87
add esp, 0x10
test byte [edi + 0x14], 1
push 0xc
pop ebx
je 0x4347ad
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
and dword [ebp - 4], 0
test eax, eax
je 0x434792
mov ecx, eax
call fcn.0042e410
jmp 0x434794
xor eax, eax
fld dword [0x515e94]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x14], 2
je 0x4347ec
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x4347d1
mov ecx, eax
call fcn.0042e410
jmp 0x4347d3
xor eax, eax
fld dword [0x515e90]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x14], 4
je 0x43482b
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x434810
mov ecx, eax
call fcn.0042e410
jmp 0x434812
xor eax, eax
fld dword [0x515e8c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x14], 8
je 0x43486a
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x43484f
mov ecx, eax
call fcn.0042e410
jmp 0x434851
xor eax, eax
fld dword [0x515e88]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x14], 0x10
je 0x4348a9
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
test eax, eax
je 0x43488e
mov ecx, eax
call fcn.0042e410
jmp 0x434890
xor eax, eax
fld dword [0x515e84]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x14], 0x20
je 0x4348e8
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x4348cd
mov ecx, eax
call fcn.0042e410
jmp 0x4348cf
xor eax, eax
fld dword [0x515e80]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x14], 0x40
je 0x434927
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x43490c
mov ecx, eax
call fcn.0042e410
jmp 0x43490e
xor eax, eax
fld dword [0x515e7c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x14], 0x80
je 0x434966
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x43494b
mov ecx, eax
call fcn.0042e410
jmp 0x43494d
xor eax, eax
fld dword [0x515e78]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x15], 1
je 0x4349a5
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 8
test eax, eax
je 0x43498a
mov ecx, eax
call fcn.0042e410
jmp 0x43498c
xor eax, eax
fld dword [0x515e74]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x15], 2
je 0x4349e4
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x4349c9
mov ecx, eax
call fcn.0042e410
jmp 0x4349cb
xor eax, eax
fld dword [0x515e70]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x15], 4
je 0x434a23
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xa
test eax, eax
je 0x434a08
mov ecx, eax
call fcn.0042e410
jmp 0x434a0a
xor eax, eax
fld dword [0x515e6c]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x15], 8
je 0x434a62
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xb
test eax, eax
je 0x434a47
mov ecx, eax
call fcn.0042e410
jmp 0x434a49
xor eax, eax
fld dword [0x515e68]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x15], 0x10
je 0x434a9d
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x434a82
mov ecx, eax
call fcn.0042e410
jmp 0x434a84
xor eax, eax
fld dword [0x515edc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x15], 0x20
je 0x434adc
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xd
test eax, eax
je 0x434ac1
mov ecx, eax
call fcn.0042e410
jmp 0x434ac3
xor eax, eax
fld dword [0x515ed8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x15], 0x40
je 0x434b1b
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xe
test eax, eax
je 0x434b00
mov ecx, eax
call fcn.0042e410
jmp 0x434b02
xor eax, eax
fld dword [0x515ed4]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x15], 0x80
je 0x434b5a
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xf
test eax, eax
je 0x434b3f
mov ecx, eax
call fcn.0042e410
jmp 0x434b41
xor eax, eax
fld dword [0x515ed0]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x16], 1
je 0x434b99
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0x10
test eax, eax
je 0x434b7e
mov ecx, eax
call fcn.0042e410
jmp 0x434b80
xor eax, eax
fld dword [0x515ecc]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
test byte [edi + 0x16], 2
je 0x434bd8
push ebx
call fcn.004dccf9
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0x11
test eax, eax
je 0x434bbd
mov ecx, eax
call fcn.0042e410
jmp 0x434bbf
xor eax, eax
fld dword [0x515ec8]
or dword [ebp - 4], 0xffffffff
fstp dword [eax + 4]
mov ecx, dword [esi + 0x214]
push eax
call fcn.00432a23
movsx eax, byte [edi + 0x7b]
and dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi + 0x18]
fild dword [ebp - 0x1c]
lea ecx, [ebp - 0x14]
fmul qword [0x515e20]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
mov eax, dword [esi + 0x214]
mov dword [ebp - 0x14], eax
fmul qword [0x515fb8]
faddp st(1)
fstp dword [ebp - 0x18]
call fcn.004560b8
jmp 0x434c5e
fldz
fcomp dword [ecx + 4]
fnstsw ax
test ah, 5
jp 0x434c56
fld dword [ebp - 0x18]
fdiv dword [ecx + 4]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fdivr qword [0x544c30]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fstp dword [ecx + 8]
fld dword [ebp - 0x1c]
fld dword [ebp + 8]
fcompp
fnstsw ax
test ah, 5
jp 0x434c56
fld dword [ebp + 8]
fstp dword [ecx + 8]
lea ecx, [ebp - 0x14]
call fcn.00450c7d
mov ecx, eax
test ecx, ecx
jne 0x434c1a
movsx eax, byte [edi + 0x7a]
mov dword [ebp + 8], eax
lea eax, [esi + 0x218]
fild dword [ebp + 8]
fld qword [0x515e20]
fmul st(1), st(0)
fxch st(1)
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [eax]
movzx ecx, byte [edi + 0x19]
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0x1c]
fld qword [0x515fb8]
fmul st(1), st(0)
fld dword [ebp + 8]
faddp st(2)
fxch st(1)
fstp dword [eax]
movsx eax, byte [edi + 0x79]
mov dword [ebp + 8], eax
lea eax, [esi + 0x220]
fild dword [ebp + 8]
fmulp st(2)
fxch st(1)
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [eax]
movzx ecx, byte [edi + 0x1a]
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0x1c]
fmul st(1)
fadd dword [ebp + 8]
fstp dword [eax]
movzx eax, byte [edi + 0x1b]
movzx ecx, byte [edi + 0x1c]
and eax, 0xf
shl eax, 8
add eax, ecx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fmul st(1)
fstp dword [esi + 0x224]
movzx eax, byte [edi + 0x1b]
movzx ecx, byte [edi + 0x1d]
shr eax, 4
shl eax, 8
add eax, ecx
cmp dword [esi + 0x10], 0x200
mov dword [ebp + 8], eax
fimul dword [ebp + 8]
fstp dword [esi + 0x228]
jl 0x434df8
movzx ebx, byte [edi + 0x140]
and ebx, 0x7f
cmp ebx, 0xf
jle 0x434d27
push 0xf
pop ebx
xor eax, eax
test ebx, ebx
jle 0x434d3e
push ebx
lea eax, [esi + 0x5c]
push 0x7f
push eax
call fcn.004ef550
add esp, 0xc
mov eax, ebx
mov cl, byte [edi + 0x141]
mov byte [eax + esi + 0x5c], cl
lea eax, [esi + 0x7c]
push eax
lea eax, [esi + 0x5c]
push eax
call fcn.0043107a
mov cl, byte [edi + 0x143]
mov al, cl
shr al, 4
mov dl, 0xa
imul dl
and cl, 0xf
add al, cl
mov byte [esi + 0x23c], al
mov cl, byte [edi + 0x144]
mov al, cl
shr al, 4
imul dl
and cl, 0xf
add al, cl
mov byte [esi + 0x23d], al
movzx eax, byte [edi + 0x145]
movzx ecx, byte [edi + 0x146]
shl eax, 8
add eax, ecx
movzx ecx, byte [edi + 0x147]
shl eax, 8
add eax, ecx
movzx ecx, byte [edi + 0x148]
shl eax, 8
add eax, ecx
push eax
push 0x5148bc
mov dword [esi + 0x1c0], eax
lea eax, [esi + 0x19c]
push 0x20
push eax
call fcn.00450b87
add esp, 0x18
push 0x12
lea eax, [edi + 0x149]
lea ecx, [esi + 0x17c]
pop edi
mov dl, byte [eax]
cmp dl, 0xff
sete bl
dec bl
and bl, dl
inc eax
mov byte [ecx], bl
inc ecx
dec edi
jne 0x434dde
mov byte [esi + 0x18e], 0
call fcn.004efaba
ret 4