Function at 0x43eb90
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov dword [esp], 0xf756c297
mov eax, dword [esp]
add eax, 0x68
movzx ecx, al
mov dword [esp], 0xf756c297
mov eax, dword [esp]
shl eax, 8
add eax, 0x6800
movzx eax, ax
or eax, ecx
mov dword [esp], 0xf756c297
mov ecx, dword [esp]
shl ecx, 0x10
add ecx, 0x680000
mov dword [esp], 0xf756c297
mov edx, dword [esp]
shl edx, 0x18
and ecx, 0xff0000
or ecx, eax
lea esi, [edx + ecx]
add esi, 0x68000000
mov dword [esp], 0xf756c2ac
mov eax, dword [esp]
mov dword [esp], 0xf756c2ad
mov eax, dword [esp]
mov dword [esp], 0xf756c2ae
mov eax, dword [esp]
mov dword [esp], 0xf756c2af
mov eax, dword [esp]
mov dword [esp], 0xf756c2b0
mov eax, dword [esp]
mov dword [esp], 0xf756c2b1
mov eax, dword [esp]
mov eax, dword [0x44ac54]
test eax, eax
je 0x43ec88
xor ecx, ecx
mov edx, dword [0x44ac58]
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x5fb66e8c
je 0x43ec5a
mov edi, ecx
and edi, 1
xor ecx, 1
lea ecx, [ecx + edi*2]
cmp ecx, eax
jb 0x43ec40
jmp 0x43ec88
mov eax, dword [edx + ecx*8 + 4]
cmp eax, esi
je 0x43ec88
lea ecx, [esp + 4]
push ecx
push 0
push 0
push 0
push dword [esp + 0x38]
push dword [esp + 0x38]
push 6
push dword [0x44ac5c]
push eax
call fcn.0043b040
add esp, 0x24
mov esi, eax
mov dword [esp], 0x560ef32f
mov eax, dword [esp]
add eax, 0xf4
movzx ecx, al
mov dword [esp], 0x560ef30c
mov eax, dword [esp]
shl eax, 8
add eax, 0xf400
movzx eax, ax
or eax, ecx
mov dword [esp], 0x560ef30c
mov ecx, dword [esp]
shl ecx, 0x10
add ecx, 0xf40000
mov dword [esp], 0x560ef3cc
mov edx, dword [esp]
shl edx, 0x18
and ecx, 0xff0000
or ecx, eax
lea eax, [edx + ecx]
add eax, 0xf4000000
mov dword [esp], 0x560ef398
mov ecx, dword [esp]
mov dword [esp], 0x560ef399
mov ecx, dword [esp]
mov dword [esp], 0x560ef39a
mov ecx, dword [esp]
mov dword [esp], 0x560ef39b
mov ecx, dword [esp]
mov dword [esp], 0x560ef39c
mov ecx, dword [esp]
mov dword [esp], 0x560ef39d
mov ecx, dword [esp]
cmp esi, eax
jne 0x43ef2c
mov edi, dword [esp + 0x30]
push dword [esp + 4]
call fcn.004390b0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 4]
mov dword [esp], 0xf756c297
mov ecx, dword [esp]
add ecx, 0x68
movzx edx, cl
mov dword [esp], 0xf756c297
mov ecx, dword [esp]
shl ecx, 8
add ecx, 0x6800
movzx ecx, cx
or ecx, edx
mov dword [esp], 0xf756c297
mov edx, dword [esp]
shl edx, 0x10
add edx, 0x680000
mov dword [esp], 0xf756c297
mov esi, dword [esp]
shl esi, 0x18
and edx, 0xff0000
or edx, ecx
add esi, edx
add esi, 0x68000000
mov dword [esp], 0xf756c2ac
mov ecx, dword [esp]
mov dword [esp], 0xf756c2ad
mov ecx, dword [esp]
mov dword [esp], 0xf756c2ae
mov ecx, dword [esp]
mov dword [esp], 0xf756c2af
mov ecx, dword [esp]
mov dword [esp], 0xf756c2b0
mov ecx, dword [esp]
mov dword [esp], 0xf756c2b1
mov ecx, dword [esp]
mov ecx, dword [0x44ac54]
test ecx, ecx
je 0x43ee30
mov ebp, ebx
xor edx, edx
mov ebx, dword [0x44ac58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x5fb66e8c
je 0x43ee02
inc edx
cmp ecx, edx
jne 0x43edf0
mov ebx, ebp
jmp 0x43ee30
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, esi
mov ebx, ebp
je 0x43ee30
lea edx, [esp + 4]
push edx
push eax
push ebx
push 0
push dword [esp + 0x38]
push dword [esp + 0x38]
push 6
push dword [0x44ac5c]
push ecx
call fcn.0043b040
add esp, 0x24
mov esi, eax
test edi, edi
je 0x43ef23
test esi, esi
js 0x43ef23
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x43ef1c
mov eax, dword [ebx + 0xc]
shr eax, 1
mov ebp, dword [edi]
cmp ebp, eax
jb 0x43ee59
mov ebp, eax
test ebp, ebp
je 0x43ef17
mov edx, ebx
add edx, 0x10
mov eax, ebp
and ebp, 3
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
je 0x43ee98
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
dec eax
movzx edi, word [edx]
xor ebx, ebx
test di, di
setne bl
lea edx, [edx + ebx*2]
mov word [ecx], di
add ecx, 2
dec ebp
jne 0x43ee80
cmp dword [esp + 0xc], 4
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 8]
jb 0x43ef17
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [edx]
xor ebx, ebx
test di, di
setne bl
lea ebp, [edx + ebx*2]
mov word [ecx], di
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [ebx*2]
add edi, ebp
mov word [ecx + 2], dx
movzx edx, word [ebp + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea ebp, [edi + ebx*2]
mov word [ecx + 4], dx
movzx edi, word [edi + ebx*2]
xor edx, edx
test di, di
setne dl
mov word [ecx + 6], di
add ecx, 8
lea edx, [edx*2]
add edx, ebp
add eax, 0xfffffffc
jne 0x43eeb0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 8]
mov word [ecx], 0
mov eax, dword [ebx + 0xc]
shr eax, 1
mov dword [edi], eax
push ebx
call fcn.004393d0
add esp, 4
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret