Function at 0x4dd3f0
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, 0xb0
movd eax, xmm0
mov dword [esp], edx
mov dword [esp + 4], ecx
mov edx, eax
mov edi, eax
mov ebx, eax
shr edx, 0x17
and edi, 0x7fffff
movzx esi, dl
lea edx, [eax + eax]
or edi, 0x800000
and edx, 0xfffffe
test esi, esi
cmove edi, edx
and ebx, 0x7fffffff
cmp ebx, 0x7f800000
jne 0x4dd442
mov bl, 3
jmp 0x4dd45f
ucomiss xmm0, xmm0
jp 0x4dd740
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x4dd5e6
jp 0x4dd5e6
mov bl, 4
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 1
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ecx
mov word [esp + 0x90], si
mov byte [esp + 0x92], bl
add bl, 0xfe
je 0x4dd517
movzx edx, bl
cmp bl, 3
mov ecx, 3
mov esi, eax
mov ebx, 1
mov edi, 0x592ec7
cmovb ecx, edx
shr esi, 0x1f
test eax, eax
mov eax, 0x592ec6
cmovs ebx, eax
cmovs edi, eax
cmp byte [esp], 0
mov eax, 1
cmove edi, ebx
cmovne esi, eax
cmp cl, 1
je 0x4dd543
mov ebx, dword [esp + 4]
movzx eax, cl
cmp eax, 2
jne 0x4dd563
cmp byte [ebp + 8], 0
mov eax, 0x592ed2
mov ecx, 0x592ecf
mov word [esp + 0x30], 2
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], 3
jmp 0x4dd6b9
mov ebx, dword [esp + 4]
mov word [esp + 0x30], 2
mov dword [esp + 0x34], 0x592ec8
mov dword [esp + 0x38], 3
mov edi, 1
xor esi, esi
mov eax, 1
jmp 0x4dd6b9
mov ebx, dword [esp + 4]
mov word [esp + 0x30], 2
mov dword [esp + 0x34], 0x592ecb
mov dword [esp + 0x38], 3
jmp 0x4dd6b9
lea ecx, [esp + 0x9b]
lea edx, [esp + 0x78]
lea eax, [esp + 8]
push 0x11
push ecx
push edx
push eax
call fcn.004d5ae0
add esp, 0x10
cmp dword [esp + 8], 0
je 0x4dd6e0
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 8]
mov dword [esp + 0x20], eax
movsd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4dd70b
mov ecx, dword [esp + 0x18]
cmp byte [ecx], 0x30
jbe 0x4dd747
movzx edx, word [esp + 0x20]
cmp eax, 1
mov word [esp + 0x30], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], 1
mov dword [esp + 0x2c], esi
jne 0x4dd61e
lea eax, [esp + 0x3c]
mov dword [esp], eax
mov eax, 1
jmp 0x4dd652
mov ebx, edi
and ebx, 1
test eax, 0x7f800000
je 0x4dd71c
cmp edi, 0x800000
jne 0x4dd726
movzx esi, si
xor ecx, ecx
mov edx, 2
mov edi, 0x2000000
mov bl, 1
add esi, 0xffffff68
jmp 0x4dd45f
lea ebx, [esp + 0x54]
dec eax
inc ecx
mov word [esp + 0x3c], 2
mov dword [esp + 0x40], 0x592e68
mov dword [esp + 0x44], 1
mov word [esp + 0x48], 2
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov dword [esp], ebx
mov eax, 3
mov esi, edx
mov edx, 1
mov ecx, 0x592ec4
mov ebx, 0x592ec2
sub edx, esi
cmp byte [ebp + 8], 0
mov dword [esp + 0x28], edx
mov edx, 0x592ec1
cmovne ebx, ecx
mov ecx, str.eEe_E__NaNinf00e00E0assertion_failed:_ndigits___0
cmovne ecx, edx
xor edx, edx
test si, si
cmovle ecx, ebx
lea ebx, [esi - 1]
mov esi, dword [esp]
setle dl
cmovle ebx, dword [esp + 0x28]
inc edx
mov word [esi], 2
mov dword [esi + 4], ecx
lea ecx, [eax + eax*2]
mov dword [esi + 8], edx
mov esi, dword [esp + 0x2c]
add eax, 2
mov word [esp + ecx*4 + 0x3c], 1
mov word [esp + ecx*4 + 0x3e], bx
mov ebx, dword [esp + 4]
lea ecx, [esp + 0x30]
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
lea edx, [esp + 8]
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.004de920
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x18]
push 0x11
lea ecx, [esp + 0x9f]
push ecx
lea ecx, [esp + 0x80]
push ecx
push eax
call fcn.004d4250
add esp, 0x10
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4dd5aa
push 0x592e6c
push 0x21
push str.assertion_failed:__buf.is_empty__
call fcn.004dab10
add esi, 0xffffff6a
xor ecx, ecx
jmp 0x4dd733
movzx esi, si
add edi, edi
xor ecx, ecx
add esi, 0xffffff69
xor bl, 1
mov edx, 1
jmp 0x4dd45f
mov bl, 2
jmp 0x4dd45f
push 0x592e7c
push 0x1f
push str.assertion_failed:_buf_0____b0
call fcn.004dab10
nop dword [eax + eax]