Function at 0x554c40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov esi, ecx
mov eax, dword [0x87aa4c]
xor eax, esp
mov dword [esp + 0x24], eax
call fcn.00556480
mov edx, dword [0x85274c]
mov ecx, dword [0x8526b4]
mov ebx, 0x5b83
sub ebx, eax
sub ecx, ebx
add ecx, edx
call dword [0x834360]
call ecx
mov ebp, eax
mov eax, dword [0x852718]
mov ecx, dword [0x85262c]
sub ecx, ebx
add ecx, eax
call dword [0x834360]
lea edx, [esp + 0x20]
lea eax, [esp + 0x18]
push 0xc60c61c7
push edx
push eax
push esi
push ebp
call ecx
add esp, 0x14
mov esi, dword [esp + 0x18]
movzx edi, byte [esp + 0x20]
mov eax, dword [0x852750]
mov ecx, dword [0x852690]
sub ecx, ebx
add ecx, eax
call dword [0x834360]
push 0xbd6364c9
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x20]
push eax
push edi
push esi
push ebp
call ecx
add esp, 0x18
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov eax, dword [0x852724]
mov ecx, dword [0x852624]
sub ecx, ebx
add ecx, eax
call dword [0x834360]
push 0xfe91fe7b
lea eax, [esp + 0x1c]
push eax
push ebp
push edi
push esi
call ecx
add esp, 0x14
mov esi, 0x751b04
test al, 1
je 0x555500
mov esi, dword [esp + 0x18]
mov eax, dword [0x852710]
mov ecx, dword [0x852644]
sub ecx, ebx
add ecx, eax
call dword [0x834360]
push 0xdb0ac0a2
lea eax, [esp + 0x1c]
push eax
push esi
push ebp
call ecx
add esp, 0x10
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc], ecx
test al, 1
mov edi, ebx
mov dword [esp], ebx
mov ebx, ebp
mov dword [esp + 4], ebp
lea ebp, [esp + 0x20]
lea esi, [esp + 0x18]
jne 0x554f4b
nop word cs:[eax + eax]
mov eax, dword [0x852748]
mov ecx, dword [0x852658]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0x8d219d4d
push esi
lea eax, [esp + 0x27]
push eax
push ebx
call ecx
add esp, 0x10
movzx eax, byte [esp + 0x1f]
movzx ecx, byte [esp + 0x18]
lock cmpxchg byte [0x852083], cl
mov esi, ebx
je 0x554de1
mov ebx, eax
mov eax, dword [0x8526d0]
mov ecx, dword [0x852640]
sub ecx, edi
add ecx, eax
call dword [0x834360]
movzx eax, bl
push 0x79152ee8
push eax
push esi
call ecx
add esp, 0xc
test al, 1
mov ebx, esi
lea esi, [esp + 0x18]
je 0x554d70
jmp 0x554f4b
mov ebx, esi
xor esi, esi
nop word cs:[eax + eax]
mov dword [esp + 0x14], esi
mov eax, dword [0x85276c]
mov ecx, dword [0x852650]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0x54fa6d99
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x27]
push eax
push esi
push ebx
call ecx
add esp, 0x14
movzx esi, byte [esp + 0x18]
movzx eax, byte [esp + 0x1f]
mov dword [esp + 8], eax
mov eax, dword [0x8526fc]
mov ecx, dword [0x852620]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0xaea24365
push ebp
lea ebp, [esp + 0x20]
push ebp
lea eax, [esp + 0x2b]
push eax
push ebx
push esi
call ecx
add esp, 0x18
movzx eax, byte [esp + 0x20]
mov dword [esp + 0x10], eax
movzx edi, byte [esp + 0x1f]
movzx ebx, byte [esp + 0x18]
mov eax, dword [0x852734]
mov ecx, dword [0x8526a4]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xd919d409
push ebp
lea eax, [esp + 0x27]
push eax
push dword [esp + 0x10]
push ebx
mov ebx, dword [esp + 0x18]
push esi
push edi
push dword [esp + 0x2c]
lea ebp, [esp + 0x40]
call ecx
add esp, 0x20
movzx esi, byte [esp + 0x18]
movzx edi, byte [esp + 0x1f]
mov eax, dword [0x852740]
mov ecx, dword [0x85267c]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0x9ff1f780
push ebp
lea eax, [esp + 0x27]
push eax
mov ebp, dword [esp + 0x20]
push ebp
push ebx
push edi
push esi
push dword [esp + 0x24]
call ecx
add esp, 0x20
mov edi, dword [esp + 0x20]
movzx esi, byte [esp + 0x1f]
mov eax, dword [0x852704]
mov ecx, dword [0x852688]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xc2a4e05c
lea eax, [esp + 0x1c]
push eax
push ebx
push ebp
lea ebp, [esp + 0x30]
push edi
mov edi, dword [esp + 0x14]
push esi
call ecx
add esp, 0x18
mov esi, dword [esp + 0x18]
test al, 1
je 0x554df0
mov eax, dword [0x85271c]
mov ecx, dword [0x852684]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0x885fdc4c
push ebx
call ecx
add esp, 8
lea esi, [esp + 0x18]
mov eax, dword [0x8526f4]
mov ecx, dword [0x852698]
sub ecx, edi
add ecx, eax
call dword [0x834360]
lea eax, [esp + 0x1f]
push 0xf47f4023
push esi
push eax
push ebx
call ecx
add esp, 0x10
movzx esi, byte [esp + 0x1f]
movzx edi, byte [esp + 0x18]
mov eax, dword [0x8526f8]
mov ecx, dword [0x852628]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0x7c6e03d
push edi
mov edi, dword [esp + 8]
push esi
call ecx
add esp, 0xc
test al, 1
jne 0x55511b
movzx esi, bl
mov eax, ebx
xor al, 0xdc
movzx ebp, al
nop word cs:[eax + eax]
mov eax, dword [0x8526e8]
mov ecx, dword [0x85266c]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0xf5224293
lea eax, [esp + 0x23]
push eax
push ebp
push esi
call ecx
add esp, 0x10
test al, 1
jne 0x555020
movzx ebx, byte [esp + 0x1f]
mov eax, dword [0x852744]
mov ecx, dword [0x852638]
sub ecx, edi
add ecx, eax
call dword [0x834360]
movzx eax, bl
push 0xd727d656
push eax
mov ebx, dword [esp + 0xc]
push ebx
call ecx
add esp, 0xc
test al, 1
je 0x554fc0
jmp 0x55511b
xor ebx, ebx
nop word cs:[eax + eax]
mov eax, dword [0x852760]
mov ecx, dword [0x85264c]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0x9f77671f
lea eax, [esp + 0x24]
push eax
lea esi, [esp + 0x20]
push esi
push ebx
mov esi, dword [esp + 0x14]
push esi
call ecx
add esp, 0x14
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov eax, dword [0x852770]
mov ecx, dword [0x8526ac]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0x5092c600
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x27]
push eax
push esi
push ebp
push edi
call ecx
add esp, 0x18
movzx edi, byte [esp + 0x1f]
movzx ebp, byte [esp + 0x18]
mov eax, dword [0x852708]
mov ecx, dword [0x8526b8]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xc29fd465
lea eax, [esp + 0x1c]
push eax
push ebx
push ebp
push edi
mov edi, dword [esp + 0x14]
call ecx
add esp, 0x14
mov ebx, dword [esp + 0x18]
mov eax, dword [0x852774]
mov ecx, dword [0x85269c]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0xd661ae0
push ebx
push esi
call ecx
add esp, 0xc
test al, 1
je 0x555030
mov eax, dword [0x852768]
mov ecx, dword [0x8526c4]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0xb6a403fb
mov ebx, dword [esp + 8]
push ebx
call ecx
add esp, 8
mov eax, dword [0x85275c]
mov ecx, dword [0x85263c]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0x37823b7a
push ebx
call ecx
add esp, 8
test al, 1
lea ebp, [esp + 0x1f]
jne 0x555300
nop word [eax + eax]
mov eax, dword [0x85270c]
mov ecx, dword [0x8526c0]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0x9d61130b
push ebp
push ebx
call ecx
add esp, 0xc
test al, 1
mov esi, ebx
jne 0x5551ab
movzx ebx, byte [esp + 0x1f]
mov eax, dword [0x852764]
mov ecx, dword [0x852694]
sub ecx, edi
add ecx, eax
call dword [0x834360]
movzx eax, bl
push 0xe9513b86
push eax
push esi
call ecx
add esp, 0xc
test al, 1
mov ebx, esi
je 0x555150
jmp 0x555300
xor ebx, ebx
nop dword [eax]
mov eax, dword [0x8526d8]
mov ecx, dword [0x8526a8]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0xb9a46627
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x20]
push eax
push ebx
push esi
call ecx
add esp, 0x14
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov eax, dword [0x8526d4]
mov ecx, dword [0x852654]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0x2231b526
lea eax, [esp + 0x1c]
push eax
push esi
push ebp
push edi
call ecx
add esp, 0x14
mov edi, dword [esp + 0x18]
mov eax, dword [0x852714]
mov ecx, dword [0x852670]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0x19bbe08f
lea ebp, [esp + 0x23]
push ebp
lea eax, [esp + 0x20]
push eax
push ebx
push edi
push esi
call ecx
add esp, 0x18
mov edi, dword [esp + 0x18]
movzx eax, byte [esp + 0x1f]
mov dword [esp + 8], eax
mov eax, dword [0x852700]
mov ecx, dword [0x8526a0]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0x5c516ee3
push ebp
push esi
push edi
call ecx
add esp, 0x10
movzx edi, byte [esp + 0x1f]
mov eax, dword [0x8526e4]
mov ecx, dword [0x852668]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xc3fc3677
lea eax, [esp + 0x24]
push eax
lea ebp, [esp + 0x20]
push ebp
push esi
push ebx
push edi
push dword [esp + 0x20]
call ecx
add esp, 0x1c
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov eax, dword [0x8526f0]
mov ecx, dword [0x85268c]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xa037667
push ebp
push esi
push ebx
push edi
mov edi, dword [esp + 0x14]
call ecx
add esp, 0x14
mov ebx, dword [esp + 0x18]
test al, 1
je 0x5551b0
mov eax, dword [0x852728]
mov ecx, dword [0x852630]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0xa28bdd41
push esi
call ecx
add esp, 8
mov ebx, esi
mov eax, dword [0x8526e0]
mov ecx, dword [0x85265c]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0xc7724bce
push ebx
call ecx
add esp, 8
test al, 1
lea ebp, [esp + 0x20]
lea esi, [esp + 0x18]
jne 0x5554f5
mov eax, dword [0x85273c]
mov ecx, dword [0x852678]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0x2393f83a
push esi
lea eax, [esp + 0x27]
push eax
push ebx
call ecx
add esp, 0x10
movzx eax, byte [esp + 0x1f]
movzx ecx, byte [esp + 0x18]
lock cmpxchg byte [0x8520b3], cl
je 0x55539d
mov ebx, eax
mov eax, dword [0x852758]
mov ecx, dword [0x852660]
sub ecx, edi
add ecx, eax
call dword [0x834360]
movzx eax, bl
push 0xbd7dac6d
push eax
mov ebx, dword [esp + 0xc]
push ebx
call ecx
add esp, 0xc
test al, 1
je 0x555330
jmp 0x5554f5
xor ebx, ebx
nop
mov dword [esp + 8], ebx
mov eax, dword [0x8526ec]
mov ecx, dword [0x852648]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0x7a9d9ffd
push ebp
push esi
push ebx
push dword [esp + 0x14]
call ecx
add esp, 0x14
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
mov eax, dword [0x85272c]
mov ecx, dword [0x8526b0]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xf5497abd
push esi
lea eax, [esp + 0x27]
push eax
push ebx
push ebp
push edi
call ecx
add esp, 0x18
movzx edi, byte [esp + 0x18]
movzx ebp, byte [esp + 0x1f]
mov eax, dword [0x852738]
mov ecx, dword [0x852674]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xf9d9247a
push esi
lea eax, [esp + 0x27]
push eax
push ebp
push edi
mov ebx, dword [esp + 0x18]
push ebx
call ecx
add esp, 0x18
movzx edi, byte [esp + 0x1f]
movzx esi, byte [esp + 0x18]
mov eax, dword [0x8526dc]
mov ecx, dword [0x8526bc]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xf2ff482d
lea eax, [esp + 0x23]
push eax
push ebp
lea ebp, [esp + 0x2c]
push esi
push edi
call ecx
add esp, 0x14
movzx edi, byte [esp + 0x1f]
mov eax, dword [0x852720]
mov ecx, dword [0x852680]
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xa5aa2fb9
push ebp
lea eax, [esp + 0x20]
push eax
push ebx
push edi
mov edi, dword [esp + 0x14]
push dword [esp + 0x1c]
call ecx
add esp, 0x18
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov eax, dword [0x852754]
mov ecx, dword [0x852634]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0x531c6f19
push esi
lea esi, [esp + 0x20]
push ebx
call ecx
add esp, 0xc
test al, 1
je 0x5553a0
mov eax, dword [0x852730]
mov ecx, dword [0x852664]
sub ecx, edi
add ecx, eax
call dword [0x834360]
push 0x48ae95cc
push dword [esp + 8]
call ecx
add esp, 8
mov eax, dword [esp + 0xc]
mov esi, dword [eax*4 + 0x7d5630]
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00719989
mov eax, esi
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret