Function at 0x43afe0
Capabilities:
Encrypt data using rc4 prga
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x50
mov ebx, dword [ebp + 8]
movzx eax, word [ebx]
mov dword [esp + 0x28], 0x6b6a8b99
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xb
ja 0x43b062
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + 0xb2]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add ecx, esi
add ecx, 0x96083bb1
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
add cl, 0x22
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xc
jb 0x43b020
xor ecx, ecx
cmp dword [esp + 0x28], eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x446a04]
mov eax, dword [ebx + 0x3c]
mov dword [esp + 4], eax
mov ecx, dword [ebx + eax]
mov dword [esp + 0x28], 0x434208fc
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov word [esp + 0x34], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 0xd
ja 0x43b0ec
nop
nop
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 0x28]
lea edi, [edx + 0x212b3e76]
and edi, esi
add edx, esi
add edx, 0x212b3e76
add edi, edi
sub edx, edi
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x18]
add dl, 0xc6
mov esi, dword [esp]
mov byte [esp + esi + 0x28], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 0xe
jb 0x43b0b0
xor edx, edx
cmp ecx, dword [esp + 0x28]
setne dl
xor eax, eax
jmp dword [edx*4 + 0x446a0c]
xor ecx, ecx
mov eax, dword [esp + 4]
cmp dword [ebx + eax + 0x7c], 0
sete cl
jmp dword [ecx*4 + 0x446a14]
mov eax, dword [esp + 4]
mov ecx, dword [ebx + eax + 0x78]
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0x10], ecx
jmp dword [eax*4 + 0x446a1c]
mov eax, dword [ebx + ecx + 0x20]
add eax, ebx
mov dword [esp + 0x44], eax
mov eax, dword [ebx + ecx + 0x24]
add eax, ebx
mov dword [esp + 0x20], eax
mov eax, dword [ebx + ecx + 0x1c]
add eax, ebx
mov dword [esp + 0x1c], eax
mov esi, dword [0x448634]
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x446a34]
mov edi, dword [0x448630]
mov eax, dword [ebx + ecx + 0x18]
add eax, edi
mov ecx, 0xffffffff
cmp eax, 0x20000000
jae 0x43b17c
shl eax, 3
mov ecx, eax
push ecx
call fcn.00409230
add esp, 4
mov ecx, edi
and ecx, 0xfffffff7
mov edx, edi
and edx, 8
mov ebx, edi
xor ebx, 0xfffffff7
add ebx, edi
not ebx
add ebx, edx
imul ebx, ecx
or edi, 8
imul edi, edx
lea edx, [ebx + edi]
cmp eax, esi
mov dword [esp + 4], eax
jbe 0x43b249
lea ecx, [esi + edx]
cmp ecx, eax
jbe 0x43b249
test edx, edx
je 0x43b2fc
mov eax, ebx
or eax, 0xfffffffe
mov ecx, edx
and ecx, 0xfffffffe
add ecx, eax
mov dword [esp + 8], edx
lea eax, [edx + esi]
dec eax
mov edx, dword [esp + 4]
add ecx, edx
inc ecx
lea esi, [edi + ebx]
dec esi
and ebx, 7
je 0x43b29e
neg ebx
xor edi, edi
movzx edx, byte [eax + edi]
mov byte [ecx + edi], dl
dec edi
cmp ebx, edi
jne 0x43b1f1
add eax, edi
add ecx, edi
mov edx, dword [esp + 8]
add edx, edi
jmp 0x43b2a2
xor eax, eax
jmp dword [0x446a30]
mov eax, dword [0x446a48]
nop
nop
nop
jmp eax
mov ecx, edx
shr ecx, 2
mov dword [esp + 8], edx
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esp + 8]
and edx, 0xfffffffc
add eax, edx
add edx, esi
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov esi, edx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
test bl, 1
je 0x43b2fc
and ebx, 2
movzx ecx, byte [edx + ebx]
mov byte [eax + ebx], cl
mov eax, dword [0x448634]
xor ecx, ecx
test eax, eax
sete cl
mov ebx, dword [ebp + 8]
jmp dword [ecx*4 + 0x446a4c]
mov edx, dword [esp + 8]
cmp esi, 7
jb 0x43b2fc
neg edx
xor esi, esi
mov edi, edx
movzx edx, byte [eax + esi]
mov byte [ecx + esi], dl
movzx edx, byte [eax + esi - 1]
mov byte [ecx + esi - 1], dl
movzx edx, byte [eax + esi - 2]
mov byte [ecx + esi - 2], dl
movzx edx, byte [eax + esi - 3]
mov byte [ecx + esi - 3], dl
movzx edx, byte [eax + esi - 4]
mov byte [ecx + esi - 4], dl
movzx edx, byte [eax + esi - 5]
mov byte [ecx + esi - 5], dl
movzx edx, byte [eax + esi - 6]
mov byte [ecx + esi - 6], dl
movzx edx, byte [eax + esi - 7]
mov byte [ecx + esi - 7], dl
mov edx, edi
add esi, 0xfffffff8
cmp edi, esi
jne 0x43b2ab
mov eax, dword [0x448634]
xor ecx, ecx
test eax, eax
sete cl
mov ebx, dword [ebp + 8]
jmp dword [ecx*4 + 0x446a4c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret