Function at 0x543d60
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push 0xffffffffffffffff
push 0x6b975e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18c
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x1a4], 1
mov byte [esp + 0x1b], 0
call fcn.0060fe70
lea ecx, [esp + 0x68]
mov byte [esp + 0x1a4], 2
call fcn.0060d180
lea ecx, [esp + 0x40]
mov byte [esp + 0x1a4], 3
call fcn.0062da70
lea ecx, [esp + 0x10]
mov byte [esp + 0x1a4], 4
call fcn.0060fe70
mov ebx, dword [esp + 0x5c]
mov byte [esp + 0x1a4], 5
mov byte [esp + 0x60], 0
mov byte [esp + 0x38], 0
mov eax, dword [esp + 0x60]
and eax, 0xff
sub eax, 0
je 0x54427a
dec eax
jne case.0x54428c.3
mov eax, dword [esp + 0x3c]
and eax, 0xff
cmp eax, 5
ja case.0x54428c.3
jmp dword [eax*4 + 0x544704]
push ecx
lea ecx, [esp + 0x6c]
mov eax, esp
mov dword [esp + 0x54], esp
push eax
call fcn.0060d6b0
lea ecx, [esp + 0x14]
call fcn.006101a0
lea ecx, [esp + 0x10]
call fcn.00610330
test ax, ax
jle 0x5445ff
push 3
lea ecx, [esp + 0x14]
call fcn.00610190
cmp al, 0x10
push 3
lea ecx, [esp + 0x14]
jne 0x543ed9
call fcn.00610190
and al, 0xf
push 4
lea ecx, [esp + 0x14]
mov byte [esp + 0xa4], al
call fcn.00610190
movzx cx, byte [esp + 0xa0]
xor dx, dx
push 1
shl ecx, 8
mov dl, al
mov byte [esp + 0xa5], al
add ecx, edx
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x14]
call fcn.00610190
push 2
lea ecx, [esp + 0x14]
mov byte [esp + 0xa2], al
call fcn.00610190
mov byte [esp + 0x9f], al
xor esi, esi
lea edi, [esp + 0xa2]
lea eax, [esi + 5]
lea ecx, [esp + 0x10]
push eax
call fcn.00610190
mov byte [edi], al
inc esi
inc edi
cmp si, 6
jl 0x543eb8
mov byte [esp + 0x3c], 3
jmp case.0x54428c.3
call fcn.00610190
movzx bp, al
add ebp, 4
push 3
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebp
mov byte [esp + 0xa0], 0
call fcn.00610190
add al, 4
push 1
lea ecx, [esp + 0x14]
mov byte [esp + 0xa1], al
call fcn.00610190
push 2
lea ecx, [esp + 0x14]
mov byte [esp + 0xa2], al
call fcn.00610190
push 3
lea ecx, [esp + 0x14]
mov byte [esp + 0xa3], al
mov byte [esp + 0xa4], 0
xor esi, esi
call fcn.00610190
and eax, 0xff
inc eax
test eax, eax
jle 0x543f77
xor edi, edi
lea ecx, [esi + 3]
push ecx
lea ecx, [esp + 0x14]
call fcn.00610190
inc esi
mov byte [esp + edi + 0xa1], al
push 3
lea ecx, [esp + 0x14]
movsx edi, si
call fcn.00610190
and eax, 0xff
inc eax
cmp edi, eax
jl 0x543f4a
mov ecx, dword [esp + 0x1b0]
add ebp, 2
lea edx, [esp + 0x9c]
push ebp
push edx
call fcn.006103f0
mov byte [esp + 0x3c], 5
jmp case.0x54428c.3
mov eax, dword [esp + 0x30]
sub eax, 6
movsx ecx, ax
mov dword [esp + 0x30], eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov ebp, edx
mov ecx, 7
cdq
idiv ecx
mov dword [esp + 0x64], ebp
test edx, edx
je 0x543fd3
inc ebp
mov dword [esp + 0x64], ebp
lea ecx, [esp + 0x1b4]
call fcn.00610330
mov esi, dword [esp + 0x54]
mov ebx, eax
mov al, bl
mov dl, bl
add al, 4
inc dl
xor ecx, ecx
mov byte [esp + 0x21], dl
mov cl, byte [esi + 0x1d]
mov dl, byte [esi + 0x1c]
xor esi, esi
mov byte [esp + 0x20], al
test bx, bx
mov byte [esp + 0x22], cl
mov byte [esp + 0x23], dl
mov byte [esp + 0x24], bl
jle 0x54402e
lea edi, [esp + 0x25]
push esi
lea ecx, [esp + 0x1b8]
call fcn.00610190
mov byte [edi], al
inc esi
inc edi
cmp si, bx
jl 0x544014
mov al, byte [esp + 0x20]
movzx ax, al
lea ecx, [esp + 0x21]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.006103f0
lea ecx, [esp + 0x40]
call fcn.0061ff60
push ebp
lea ecx, [esp + 0x44]
call fcn.0061ff40
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.0060fe80
lea ecx, [esp + 0x44]
call fcn.0061fbd0
sub esp, 0x24
lea ecx, [esp + 0x64]
mov eax, esp
mov dword [esp + 0x74], esp
push 0
push ecx
push eax
mov ecx, 0x71b8f8
call fcn.0061a8f0
lea ecx, [esp + 0x8c]
call fcn.0060d330
mov byte [esp + 0x3c], 4
jmp case.0x54428c.3
lea ecx, [esp + 0x68]
call fcn.0060d760
test ax, ax
jle 0x5445ff
push 0
lea ecx, [esp + 0x6c]
call fcn.0060d6a0
mov esi, eax
mov ecx, dword [esi + 4]
mov dl, byte [esi]
test ecx, ecx
mov byte [esp + 0x8c], dl
jne 0x5440d2
xor eax, eax
jmp 0x5440da
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 2
test eax, eax
jge 0x5440e0
xor eax, eax
shl eax, 2
push eax
call fcn.00697be2
mov ebp, eax
mov eax, dword [esi + 8]
mov esi, dword [esi + 4]
add esp, 4
mov edi, ebp
cmp esi, eax
mov dword [esp + 0x90], ebp
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], edi
je 0x544133
mov dword [esp + 0x1c], edi
test edi, edi
mov byte [esp + 0x1a4], 6
je 0x544125
push esi
mov ecx, edi
call fcn.0060fe80
mov eax, dword [esp + 0x34]
add esi, 4
add edi, 4
cmp esi, eax
mov dword [esp + 0x50], edi
jne 0x544109
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
test ebp, ebp
mov byte [esp + 0x1a4], 7
jne 0x544151
xor eax, eax
jmp 0x544158
mov eax, edi
sub eax, ebp
sar eax, 2
cmp ax, word [esp + 0x64]
jl 0x5445da
mov eax, dword [esp + 0x30]
test ax, ax
jle 0x5441e2
movsx ecx, ax
xor esi, esi
mov dword [esp + 0x34], ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx ecx, dx
push ecx
push 0
lea ecx, [esp + 0x70]
call fcn.0060d6a0
mov ecx, eax
call fcn.00413600
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x14]
call fcn.006101a0
mov eax, esi
mov ecx, 7
cdq
idiv ecx
lea ecx, [esp + 0x10]
add edx, 4
push edx
call fcn.00610190
mov byte [esp + esi + 0xa8], al
mov eax, dword [esp + 0x34]
inc esi
dec eax
mov dword [esp + 0x34], eax
jne 0x544175
mov eax, dword [esp + 0x30]
add eax, 0xa
movsx ecx, ax
mov dword [esp + 0x30], eax
mov eax, ecx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
and ecx, 0x800000ff
mov byte [esp + 0x9c], al
jns 0x544211
dec ecx
or ecx, 0xffffff00
inc ecx
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x9c]
add edx, 2
mov byte [esp + 0x9d], cl
mov ecx, dword [esp + 0x1b0]
push edx
push eax
call fcn.006103f0
cmp ebp, edi
mov byte [esp + 0x3c], 5
mov byte [esp + 0x1a4], 5
mov esi, ebp
je 0x544255
mov ecx, esi
call fcn.0060ffb0
add esi, 4
cmp esi, edi
jne 0x544247
push ebp
call fcn.00697880
add esp, 4
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
jmp case.0x54428c.3
mov eax, dword [esp + 0x38]
and eax, 0xff
cmp eax, 4
ja case.0x54428c.3
jmp dword [eax*4 + 0x54471c]
lea ecx, [esp + 0x1ac]
call fcn.00610330
mov ebx, eax
cmp bx, 8
jge 0x54433f
mov esi, dword [esp + 0x54]
mov al, bl
mov cl, bl
add al, 4
inc cl
xor edx, edx
mov dl, byte [esi + 0x1d]
mov byte [esp + 0x21], cl
mov cl, byte [esi + 0x1c]
xor esi, esi
test bx, bx
mov byte [esp + 0x20], al
mov byte [esp + 0x22], dl
mov byte [esp + 0x23], cl
mov byte [esp + 0x24], bl
jle 0x5442f8
lea edi, [esp + 0x25]
push esi
lea ecx, [esp + 0x1b0]
call fcn.00610190
mov byte [edi], al
inc esi
inc edi
cmp si, bx
jl 0x5442de
mov al, byte [esp + 0x20]
xor dx, dx
lea ecx, [esp + 0x14]
mov dl, al
lea eax, [esp + 0x21]
push edx
push eax
call fcn.006103f0
push 1
lea ecx, [esp + 0x44]
call fcn.0061ff40
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.0060fe80
lea ecx, [esp + 0x44]
call fcn.0061fbd0
sub esp, 0x24
mov eax, esp
mov dword [esp + 0x40], esp
jmp 0x5445a3
mov eax, dword [esp + 0x54]
xor edx, edx
movsx ecx, bx
mov dl, byte [eax + 0x1d]
mov al, byte [eax + 0x1c]
mov byte [esp + 0x23], al
mov eax, ecx
mov byte [esp + 0x22], dl
mov byte [esp + 0x20], 0xb
cdq
and edx, 0xff
mov byte [esp + 0x21], 8
add eax, edx
sar eax, 8
or al, 0x10
and ecx, 0x800000ff
mov byte [esp + 0x24], al
jns 0x544384
dec ecx
or ecx, 0xffffff00
inc ecx
mov byte [esp + 0x25], cl
xor esi, esi
lea edi, [esp + 0x26]
push esi
lea ecx, [esp + 0x1b0]
call fcn.00610190
mov byte [edi], al
inc esi
inc edi
cmp si, 6
jl 0x54438e
movzx cx, byte [esp + 0x20]
lea edx, [esp + 0x21]
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.006103f0
push 1
lea ecx, [esp + 0x44]
call fcn.0061ff40
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x44]
call fcn.0061fbd0
sub esp, 0x24
lea edx, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x40], esp
push 0
push edx
push ecx
mov ecx, 0x71b8f8
call fcn.0061a8f0
lea ecx, [esp + 0x8c]
call fcn.0060d330
mov byte [esp + 0x38], 1
jmp case.0x54428c.3
push ecx
lea ecx, [esp + 0x6c]
mov eax, esp
mov dword [esp + 0x20], esp
push eax
call fcn.0060d6b0
lea ecx, [esp + 0x14]
call fcn.006101a0
lea ecx, [esp + 0x10]
call fcn.00610330
test ax, ax
jle 0x5445ff
push 3
lea ecx, [esp + 0x14]
call fcn.00610190
and al, 0x30
cmp al, 0x30
jne 0x5445ff
lea ecx, [ebx - 6]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], ecx
mov byte [esp + 0x38], 2
jmp case.0x54428c.3
mov al, byte [esp + 0x1b]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
inc al
mov byte [esp + 0x1b], al
sub ebx, ebp
or al, 0x20
cmp bx, 7
mov byte [esp + 0x24], al
jle 0x54452b
lea esi, [ebp + 6]
lea edi, [esp + 0x25]
mov dword [esp + 0x34], 7
push esi
lea ecx, [esp + 0x1b0]
call fcn.00610190
mov byte [edi], al
mov eax, dword [esp + 0x34]
inc esi
inc edi
dec eax
mov dword [esp + 0x34], eax
jne 0x54449d
movzx dx, byte [esp + 0x20]
lea eax, [esp + 0x21]
push edx
push eax
lea ecx, [esp + 0x1c]
call fcn.006103f0
push 0
lea ecx, [esp + 0x44]
call fcn.0061ff40
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.0060fe80
lea ecx, [esp + 0x44]
call fcn.0061fbd0
sub esp, 0x24
lea ecx, [esp + 0x64]
mov eax, esp
mov dword [esp + 0x40], esp
push 0
push ecx
push eax
mov ecx, 0x71b8f8
call fcn.0061a8f0
lea ecx, [esp + 0x8c]
call fcn.0060d330
add ebp, 7
mov byte [esp + 0x38], 2
mov dword [esp + 0x58], ebp
jmp case.0x54428c.3
mov al, bl
mov dl, bl
add al, 4
inc dl
test bx, bx
mov byte [esp + 0x20], al
mov byte [esp + 0x21], dl
jle 0x544562
lea esi, [ebp + 6]
lea edi, [esp + 0x25]
movsx ebp, bx
push esi
lea ecx, [esp + 0x1b0]
call fcn.00610190
mov byte [edi], al
inc esi
inc edi
dec ebp
jne 0x54454a
mov al, byte [esp + 0x20]
movzx ax, al
lea ecx, [esp + 0x21]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.006103f0
push 1
lea ecx, [esp + 0x44]
call fcn.0061ff40
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.0060fe80
lea ecx, [esp + 0x44]
call fcn.0061fbd0
sub esp, 0x24
mov eax, esp
mov dword [esp + 0x40], esp
lea ecx, [esp + 0x64]
push 0
push ecx
push eax
mov ecx, 0x71b8f8
call fcn.0061a8f0
lea ecx, [esp + 0x8c]
call fcn.0060d330
mov byte [esp + 0x38], 4
jmp case.0x54428c.3
mov byte [esp + 0x60], 1
mov byte [esp + 0x3c], 0
jmp case.0x54428c.3
cmp ebp, edi
mov byte [esp + 0x1a4], 5
mov esi, ebp
je 0x5445f6
mov ecx, esi
call fcn.0060ffb0
add esi, 4
cmp esi, edi
jne 0x5445e8
push ebp
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x1a4], 4
call fcn.0060ffb0
lea ecx, [esp + 0x40]
mov byte [esp + 0x1a4], 3
call fcn.0061f9a0
lea ecx, [esp + 0x68]
mov byte [esp + 0x1a4], 2
call fcn.0060d280
lea ecx, [esp + 0x14]
mov byte [esp + 0x1a4], 1
call fcn.0060ffb0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x1a4], 0
call fcn.0060ffb0
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x1a4], 0xffffffff
call fcn.0060ffb0
xor ax, ax
mov ecx, dword [esp + 0x19c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x198
ret 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x1a4], 4
call fcn.0060ffb0
lea ecx, [esp + 0x40]
mov byte [esp + 0x1a4], 3
call fcn.0061f9a0
lea ecx, [esp + 0x68]
mov byte [esp + 0x1a4], 2
call fcn.0060d280
lea ecx, [esp + 0x14]
mov byte [esp + 0x1a4], 1
call fcn.0060ffb0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x1a4], 0
call fcn.0060ffb0
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x1a4], 0xffffffff
call fcn.0060ffb0
mov ax, 1
jmp 0x544671