Function at 0x412c30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x658
lea eax, [esp + 0x533]
push eax
call fcn.00433160
add esp, 4
mov dword [esp + 0x88], 0xa4bdad6c
mov word [esp + 0x8c], 0x72ae
mov byte [esp + 0x8e], 0x30
mov dword [esp + 0x8f], 0
mov dword [esp + 0x554], 0
mov eax, dword [esp + 0x554]
cmp eax, 0xa
ja 0x412d04
nop
nop
mov ecx, dword [esp + 0x554]
mov eax, dword [esp + 0x554]
movzx edx, byte [esp + eax + 0x88]
lea esi, [ecx + 0x29]
mov edi, 0x160b4dd6
sub edi, ecx
lea eax, [ecx + edx]
add eax, 0xe9f4b229
and esi, edx
or edi, edx
add edi, ecx
lea ecx, [esi + edi]
add ecx, 0xe9f4b22a
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esp + 0x130], ecx
mov eax, dword [esp + 0x130]
add al, 0xe1
mov ecx, dword [esp + 0x554]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x554]
mov eax, dword [esp + 0x554]
cmp eax, 0xb
jb 0x412c90
mov ecx, dword [str.ecf1236909c49a73c6a1502a1f7614b9]
mov dword [esp + 0x38], 0x5317fb38
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov word [esp + 0x44], 0
mov dword [esp + 0x554], 0
mov eax, dword [esp + 0x554]
cmp eax, 0xd
ja 0x412d9a
mov eax, dword [esp + 0x554]
mov edx, dword [esp + 0x554]
movzx edx, byte [esp + edx + 0x38]
lea esi, [eax + 0x210df0f3]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add eax, esi
add eax, 0x210df0f2
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x130]
add al, 0x5b
mov edx, dword [esp + 0x554]
mov byte [esp + edx + 0x38], al
inc dword [esp + 0x554]
mov eax, dword [esp + 0x554]
cmp eax, 0xe
jb 0x412d40
mov edx, dword [str.MhMcwl__PUSHKIN]
mov dword [esp + 0x130], 0x14ecfcf5
mov dword [esp + 0x134], 0xfee0f2fb
mov dword [esp + 0x138], 0xe6e5f6e9
mov dword [esp + 0x13c], 0xc90b0cf9
mov dword [esp + 0x140], 0xe4120e18
mov dword [esp + 0x144], 0xc1dcdbde
mov dword [esp + 0x148], 0xec04021a
mov byte [esp + 0x14c], 0xaa
mov dword [esp + 0x14d], 0
mov dword [esp + 0x151], 0
mov byte [esp + 0x155], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x25
ja 0x412e81
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
movzx esi, byte [esp + esi + 0x130]
lea edi, [eax - 0x7a05a50d]
mov ebx, esi
not ebx
or ebx, edi
and edi, esi
add edi, ebx
neg edi
add eax, edi
add eax, 0x85fa5af2
mov dword [esp + 0x554], eax
mov eax, dword [esp + 0x554]
add al, 0x5b
mov esi, dword [esp + 0x10]
mov byte [esp + esi + 0x130], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x26
jb 0x412e30
movzx ebx, byte [esp + 0x130]
lea eax, [esp + 0x554]
test bl, bl
je 0x412eab
lea esi, [esp + 0x131]
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x412ea0
mov byte [eax], 0
movzx ebx, byte [edx]
test bl, bl
je 0x412ecb
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x412ec0
mov byte [eax], 0
movzx edx, byte [esp + 0x38]
test dl, dl
je 0x412eeb
lea esi, [esp + 0x39]
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x412ee0
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x412f0b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x412f00
mov byte [eax], 0
movzx ecx, byte [esp + 0x88]
test cl, cl
je 0x412f3b
lea edx, [esp + 0x89]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x412f30
mov byte [eax], 0
movzx ecx, byte [esp + 0x533]
test cl, cl
je 0x412f6b
lea edx, [esp + 0x534]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x412f60
mov byte [eax], 0
lea ecx, [esp + 0x554]
mov dword [esp + 0x130], 0x43d14d8b
mov dword [esp + 0x134], 0x47d241d2
mov dword [esp + 0x138], 0x3ba845e1
mov dword [esp + 0x13c], 0x3fe339ac
mov dword [esp + 0x140], 0x33bb3d88
mov dword [esp + 0x144], 0x379331a0
mov dword [esp + 0x148], 0x2bca35fa
mov dword [esp + 0x14c], 0x2fbe2989
mov dword [esp + 0x150], 0x23be2dbc
mov dword [esp + 0x154], 0x278121b9
mov dword [esp + 0x158], 0x1b8e2585
mov dword [esp + 0x15c], 0x1f8d1981
mov dword [esp + 0x160], 0x13c11d8e
mov dword [esp + 0x164], 0x17cb1198
mov dword [esp + 0x168], 0xb81159f
mov dword [esp + 0x16c], 0xfd30983
mov dword [esp + 0x170], 0x3910d96
mov dword [esp + 0x174], 0x79b0196
mov dword [esp + 0x178], 0xfb6f05d9
mov dword [esp + 0x17c], 0xff62f96e
mov dword [esp + 0x180], 0xf360fd59
mov dword [esp + 0x184], 0xf765f157
mov dword [esp + 0x188], 0xeb4ff550
mov dword [esp + 0x18c], 0xef13e94c
mov dword [esp + 0x190], 0xe3e2ed12
mov dword [esp + 0x194], 0
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
cmp edx, 0x67
ja 0x4130fd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x38]
movzx esi, byte [esp + esi + 0x130]
lea edi, [edx + 0xb6]
and edi, esi
add edx, esi
add edi, edi
sub edx, edi
add edx, 0xa18491b6
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x88]
add dl, 6
mov esi, dword [esp + 0x38]
mov byte [esp + esi + 0x130], dl
inc dword [esp + 0x38]
mov edx, dword [esp + 0x38]
cmp edx, 0x68
jb 0x4130b0
sub eax, ecx
mov dword [esp + 0x88], 0x43e34d1f
mov dword [esp + 0x8c], 0x47df41d0
mov word [esp + 0x90], 0x4544
mov dword [esp + 0x92], 0
mov word [esp + 0x96], 0
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
cmp edx, 0xf
ja 0x413198
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
movzx esi, byte [esp + esi + 0x88]
lea edi, [edx + esi]
add edi, 0x533d55f6
add edx, 0x533d55f6
and edx, esi
add edx, edx
sub edi, edx
mov dword [esp + 0x38], edi
mov edx, dword [esp + 0x38]
add dl, 0x46
mov esi, dword [esp + 0x10]
mov byte [esp + esi + 0x88], dl
inc dword [esp + 0x10]
mov edx, dword [esp + 0x10]
cmp edx, 0x10
jb 0x413150
lea edx, [esp + 0x12c]
lea esi, [esp + 0x114]
lea edi, [esp + 0x130]
lea ebx, [esp + 0x88]
push edx
push esi
push eax
push ecx
push edi
push ebx
push 0x445bc0
call fcn.0040b640
add esp, 0x1c
movzx eax, al
mov eax, dword [eax*4 + 0x440120]
mov ecx, 0x23afafa
xor ecx, dword [0x440128]
add eax, ecx
inc eax
jmp eax