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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov ecx, dword [esp + 0x40]
movzx eax, word [ecx]
mov dword [esp + 4], 0x4f4ee7f5
mov dword [esp + 8], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 7
ja 0x436067
nop
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 4]
lea edi, [edx + esi]
add edi, 0xeacbccf2
add edx, 0xeacbccf2
and edx, esi
mov esi, edi
not esi
and esi, edx
add esi, edx
not edx
and edx, edi
sub edx, esi
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc]
add dl, 0x46
mov esi, dword [esp]
mov byte [esp + esi + 4], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 8
jb 0x436020
xor edx, edx
cmp dword [esp + 4], eax
setne dl
xor eax, eax
jmp dword [edx*4 + 0x440644]
mov edx, dword [ecx + 0x3c]
mov esi, dword [ecx + edx]
mov dword [esp + 4], 0x191ad0cc
mov word [esp + 8], 0
mov dword [esp], 0
mov edi, dword [esp]
cmp edi, 5
ja 0x4360d0
nop
nop
nop
mov edi, dword [esp]
mov ebx, dword [esp]
movzx ebx, byte [esp + ebx + 4]
add edi, 0x6c7b277b
xor edi, ebx
mov dword [esp + 0xc], edi
mov ebx, dword [esp + 0xc]
add bl, 0x99
mov edi, dword [esp]
mov byte [esp + edi + 4], bl
inc dword [esp]
mov edi, dword [esp]
cmp edi, 6
jb 0x4360a0
xor ebx, ebx
cmp esi, dword [esp + 4]
setne bl
jmp dword [ebx*4 + 0x44064c]
mov edi, dword [ecx + edx + 0x78]
mov esi, dword [ecx + edx + 0x7c]
test esi, esi
sete dl
test edi, edi
sete dh
or dh, dl
movzx edx, dh
jmp dword [edx*4 + 0x440654]
mov dword [esp + 0x18], esi
mov eax, dword [ecx + edi + 0x20]
add eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [ecx + edi + 0x24]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [ecx + edi + 0x1c]
add eax, ecx
mov dword [esp + 0x1c], eax
xor esi, esi
xor edx, edx
cmp esi, dword [ecx + edi + 0x18]
setb dl
mov dword [esp + 0x10], 2
mov dword [esp + 0x24], edi
jmp dword [edx*4 + 0x44065c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], esi
mov eax, dword [eax + esi*4]
add eax, ecx
mov ebx, 0xffffffff
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, esi
cmp byte [eax + ebx + 1], 0
lea ebx, [ebx + 1]
lea esi, [esi + 1]
jne 0x436160
mov dword [esp + 4], 0xbebabc31
lea ecx, [esp + 8]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp], 0
mov esi, dword [esp]
cmp esi, 6
ja 0x4361d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp]
mov ebp, dword [esp]
movzx ebp, byte [esp + ebp + 4]
add esi, 0xba7ba19f
xor esi, ebp
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xc]
add cl, 0xe5
mov esi, dword [esp]
mov byte [esp + esi + 4], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x4361a0
test ebx, ebx
je 0x4361f0
mov esi, dword [esp + 4]
cmp ebx, 1
jne 0x436200
mov ebp, 0xb14a5e2
test bl, 1
jne 0x436242
jmp 0x436252
mov ebp, 0xb14a5e2
jmp 0x436252
and edx, 0xfffffffe
mov ebp, 0xb14a5e2
nop
nop
nop
nop
nop
nop
nop
nop
movsx ecx, byte [eax]
mov edi, ebp
and edi, ecx
add ebp, ecx
add edi, edi
sub ebp, edi
imul ebp, esi
movsx ecx, byte [eax + 1]
add eax, 2
mov edi, ebp
and edi, ecx
add ebp, ecx
add edi, edi
sub ebp, edi
imul ebp, esi
add edx, 0xfffffffe
jne 0x436210
mov edi, dword [esp + 0x24]
test bl, 1
je 0x436252
movsx eax, byte [eax]
mov ecx, ebp
and ecx, eax
add ebp, eax
add ecx, ecx
sub ebp, ecx
imul ebp, esi
xor eax, eax
cmp ebp, dword [esp + 0x44]
setne al
jmp dword [eax*4 + 0x440664]
xor ecx, ecx
cmp dword [esp + 0x10], 2
sete cl
jmp dword [ecx*4 + 0x44069c]
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret