Function at 0x1000fb70
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x184
mov eax, ecx
mov dword [ebp - 0x60], eax
test eax, eax
je 0x1000ff79
push ebx
xor ebx, ebx
mov dword [ebp - 0x44], 0x18d1
xor ecx, ecx
mov dword [ebp - 0x40], 0x1d8
inc ecx
mov dword [ebp - 0x3c], 0x917
push edi
mov eax, ebx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x38], 0x20af
mov dword [ebp - 0x34], 0x643
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], 0x1208
mov dword [ebp - 0x28], 0x1e18
mov dword [ebp - 0x24], 0x1932
test eax, eax
je 0x1000fbd7
inc eax
cmp eax, 0xa
jl 0x1000fbcd
mov ecx, dword [0x1003f960]
mov eax, dword [ebp + eax*4 - 0x48]
push esi
mov esi, ecx
mov dword [ebp - 0x20], eax
and esi, 0x12bc485c
mov dword [ebp - 0xc], esi
call fcn.1000dd21
lea eax, [esi + 0xc311e9e]
mov dword [ebp - 0x18], 0x9596bfac
push 5
pop ecx
mov esi, str.Unknown_DDE_error__08x
mov dword [0x1003f92c], eax
lea edi, [ebp - 0x84]
mov dword [ebp - 0x14], 0xeb2024fe
rep movsd dword es:[edi], dword [esi]
mov edx, eax
mov dword [ebp - 0x10], ebx
xor edx, 0xad9f7aa5
mov eax, ebx
mov dword [ebp - 4], edx
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x184], al
inc eax
cmp eax, 0x100
jb 0x1000fc31
mov al, byte [str.3494E4t4]
lea edi, [ebp - 0x40]
push 8
pop ecx
mov esi, str.GdipGetAdjustableArrowCapHeight
rep movsd dword es:[edi], dword [esi]
cmp al, byte [ebp - 0x40]
jne 0x1000fc82
mov esi, ebx
test al, al
je 0x1000fc7f
cmp byte [ebp + esi - 0x40], bl
je 0x1000fc7f
mov edx, str.3494E4t4
mov ecx, str.._AVwxStaticBoxBase__
call fcn.1000f36e
mov al, byte [esi + 0x1003f909]
inc esi
cmp al, byte [ebp + esi - 0x40]
je 0x1000fc59
mov edx, dword [ebp - 4]
mov esi, ebx
mov ecx, edx
call fcn.1000dd21
xor edx, edx
mov bl, byte [ebp + esi - 0x184]
push 0x16
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x84]
add eax, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x10], ecx
mov al, byte [ebp + ecx - 0x184]
mov byte [ebp + esi - 0x184], al
inc esi
mov byte [ebp + ecx - 0x184], bl
cmp esi, 0x100
jb 0x1000fc84
mov edi, dword [ebp - 0x20]
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov edx, ebx
mov dword [ebp - 4], ebx
mov esi, dword [ebp - 0xc]
lea eax, [edx + 1]
movzx eax, al
add esi, 0xbe574d2
mov dword [ebp - 0x5c], eax
mov edx, esi
mov al, byte [ebp + eax - 0x184]
movzx ecx, al
mov byte [ebp - 5], al
mov eax, dword [ebp - 0x10]
add eax, ecx
mov dword [ebp - 0x1c], ecx
movzx eax, al
push ecx
mov dword [ebp - 0x10], eax
call fcn.1000d910
imul eax, esi, 0xb580915
pop ecx
mov ecx, ebx
mov dword [ebp - 0xc], eax
inc ecx
cmp word [ecx*2 + str.3_3_343_3D3T3d3], bx
jne 0x1000fd20
mov dword [ebp - 0x54], ecx
cmp edi, ecx
jae 0x1000fd6f
mov ebx, dword [0x1003f92c]
xor eax, 0x2374e9bf
mov dword [ebp - 0x58], eax
mov esi, ecx
mov edx, ebx
mov ecx, str.3494E4t4
call fcn.1000f5bf
cmp edi, 0x14f2
jne 0x1000fd5f
push ecx
mov edx, ebx
call fcn.1000d910
pop ecx
mov ebx, dword [ebp - 0x58]
inc edi
cmp edi, esi
jb 0x1000fd42
mov dword [0x1003f92c], ebx
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x5c]
mov al, byte [ebp + ecx - 0x184]
mov byte [ebp + edx - 0x184], al
mov al, byte [ebp - 5]
mov byte [ebp + ecx - 0x184], al
movzx eax, byte [ebp + edx - 0x184]
add eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
movzx eax, al
mov al, byte [ebp + eax - 0x184]
xor al, byte [ebp + ecx - 0x18]
mov byte [ebp + ecx - 0x6c], al
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 8
jb 0x1000fcdf
push ecx
push ecx
call fcn.1000f208
pop ecx
pop ecx
push 9
pop ecx
mov esi, str.nSelectObject_pen_
mov dword [ebp - 4], ebx
lea edi, [ebp - 0x48]
mov eax, ebx
rep movsd dword es:[edi], dword [esi]
push 0x4d
pop edx
movsw word es:[edi], word [esi]
cmp dx, word [ebp - 0x48]
jne 0x1000fe05
mov esi, edx
mov ecx, ebx
test si, si
je 0x1000fe02
cmp word [ebp + ecx - 0x48], bx
je 0x1000fe02
inc eax
lea ecx, [eax + eax]
movzx esi, word [ecx + str.Missing_long_parameter_key_s]
cmp si, word [ebp + ecx - 0x48]
je 0x1000fde4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
movzx eax, byte [ebp + eax*2 - 0x48]
movzx ecx, byte [ecx*2 + str.Missing_long_parameter_key_s]
sub ecx, eax
cmp ecx, 0x1818
jae 0x1000fe29
mov eax, dword [ebp - 0xc]
or eax, 0x1630b7e4
jmp 0x1000fe3e
mov ecx, dword [ebp - 0xc]
call fcn.1000da66
mov eax, dword [0x1003f92c]
push 0x4d
add eax, 0x1ab078b7
pop edx
mov esi, str.hcsc.net
mov dword [ebp - 4], eax
lea edi, [ebp - 0x80]
mov dword [0x1003f92c], eax
mov ecx, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp dx, word [ebp - 0x80]
jne 0x1000fe7c
mov eax, ebx
test dx, dx
je 0x1000fe7c
cmp word [ebp + eax - 0x80], bx
je 0x1000fe7c
inc ecx
lea eax, [ecx + ecx]
movzx edx, word [eax + str.Missing_long_parameter_key_s]
cmp dx, word [ebp + eax - 0x80]
je 0x1000fe5e
movzx eax, byte [ebp + ecx*2 - 0x80]
movzx ecx, byte [ecx*2 + str.Missing_long_parameter_key_s]
sub ecx, eax
mov eax, dword [ebp - 0xc]
cmp ecx, 0x1476
jb 0x1000fe9b
add eax, 0x64a9a9ec
mov byte [ebp - 0x64], bl
mov ecx, ebx
imul edi, eax, 0x59684c6e
inc ecx
cmp word [ecx*2 + str.3_3_343_3D3T3d3], bx
jne 0x1000fea6
mov esi, dword [ebp - 4]
mov edx, str.invalid_item_in_GetSubItemRect
push ecx
mov dword [ebp - 0x1c], ecx
push ecx
mov ecx, esi
call fcn.1000e221
cmp dword [ebp - 0x1c], 0xa65
pop ecx
pop ecx
jae 0x1000fee8
push ecx
push ecx
mov edx, str.invalid_item_in_GetSubItemRect
mov ecx, edi
call fcn.1000e221
pop ecx
pop ecx
lea esi, [edi + 0x69bcefed]
jmp 0x1000feee
xor esi, 0xf51ca5af
imul eax, esi, 0xc118b3ac
mov dword [ebp - 0x50], 0x22a5
mov dword [ebp - 0x4c], 0x1591
mov dword [ebp - 0x48], 0x23c4
mov dword [ebp - 0x44], 0xd7b
mov dword [0x1003f9b8], eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], 0x11a6
mov dword [ebp - 0x38], 0x2513
mov dword [ebp - 0x34], 0x5dd
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], 0x205a
mov dword [ebp - 0x28], 0x81
mov dword [ebp - 0x24], 0x163b
pop esi
cmp ebx, 4
je 0x1000ff51
inc ebx
cmp ebx, 0xc
jl 0x1000ff46
push dword [ebp - 0x60]
xor edi, 0x4f1a7e0d
push dword [ebp + ebx*4 - 0x50]
mov dword [0x1003f960], edi
call fcn.1000f7a5
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0x6c]
push eax
call fcn.10018ca7
call eax
pop edi
pop ebx
leave
ret