Function at 0x4275a0
Capabilities:
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebx
push esi
push edi
push ebp
push eax
mov eax, 4
add esp, 0xfffff004
push eax
dec eax
jne 0x4275aa
mov eax, dword [esp + 0x4000]
add esp, 0xfffff04c
mov ebx, eax
mov eax, dword [ebx + 0x240]
call fcn.00651940
mov esi, eax
mov eax, dword [0x6720e4]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
call fcn.0062df70
push eax
lea edx, [esp + 0x4fa4]
mov eax, esi
call fcn.0064f198
lea eax, [esp + 0x4fa4]
push eax
mov eax, esi
call fcn.0064f1bc
push eax
call sub.user32.dll_FillRect
mov eax, dword [0x672428]
test byte [eax + 0x144], 8
setne al
mov byte [esp + 0x28], al
mov eax, dword [0x672428]
and dword [eax + 0x144], 0xfffffff7
xor ecx, ecx
mov dl, 1
mov eax, dword [0x543df8]
call fcn.00562c34
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x16c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
call fcn.00566468
lea edx, [esp + 0x60]
mov eax, dword [esp + 0x2c]
call fcn.005649f0
mov edx, 0x19
mov eax, dword [esp + 0x2c]
call fcn.00566018
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 0x240]
mov edx, dword [eax]
call dword [edx + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.00566018
mov dword [esp + 0x60], eax
lea edx, [esp + 0xd0]
mov eax, dword [esp + 0x2c]
call fcn.005c8d98
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x64]
xor edx, edx
mov eax, dword [esp + 0x30]
call fcn.005cfcec
mov dword [esp + 8], 2
mov dword [esp + 0xc], 1
call fcn.00656a20
mov dword [esp], eax
mov eax, dword [esp + 8]
dec eax
test eax, eax
jl 0x427854
inc eax
mov dword [esp + 0x34], eax
xor edi, edi
lea eax, [esp + 0xf0]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
mov edx, 0x2758
call fcn.00660d08
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [eax + 0x10], 0x1388
mov eax, dword [esp + 0x38]
mov dword [eax + 0xcc], 0xff000000
mov eax, dword [ebx + 0x240]
mov edx, dword [eax]
call dword [edx + 0x1c]
sub eax, 0x32
cdq
idiv dword [esp + 8]
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.00566018
neg eax
mov edx, dword [esp + 0x38]
mov dword [edx + 0xc], eax
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0xc]
mov dword [edx + 0xd8], eax
mov esi, eax
dec esi
cmp esi, 0
jl 0x427833
imul eax, esi, 0x27
mov edx, dword [esp + 0x38]
lea eax, [edx + eax*4 + 0xdc]
mov dword [eax], 0x80000000
mov edx, dword [ebx + 0x1ac]
mov edx, dword [edx + 0x188]
mov edx, dword [edx + 0x160]
mov dword [eax + 0x88], edx
test edx, edx
jge 0x4277a7
mov dword [eax + 0x88], 0xff000000
mov byte [eax + 0x15], 1
test edi, edi
jne 0x4277d9
push esi
push edi
lea esi, [ebx + 0x1cc]
lea edi, [eax + 0x34]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea esi, [ebx + 0x220]
lea edi, [eax + 0x6c]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
jmp 0x427801
push esi
push edi
lea esi, [ebx + 0x220]
lea edi, [eax + 0x34]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea esi, [ebx + 0x204]
lea edi, [eax + 0x6c]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea esi, [ebx + 0x1b0]
lea edi, [eax + 0x18]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea esi, [ebx + 0x1e8]
lea edi, [eax + 0x50]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
dec esi
cmp esi, 0xffffffff
jne 0x42776d
mov eax, dword [esp + 0x5c]
mov edx, eax
mov eax, dword [esp]
call fcn.00656c78
inc edi
add dword [esp + 0x5c], 0x2758
dec dword [esp + 0x34]
jne 0x4276fd
lea eax, [esp + 0xc]
push eax
mov eax, dword [esp + 4]
push eax
lea ecx, [esp + 0x10]
mov dl, 0x3d
mov eax, dword [esp + 0x34]
call fcn.005cfd04
mov eax, dword [esp]
call fcn.00656ff0
call fcn.00656518
mov esi, eax
mov edi, 0xfffffffc
mov edx, 0x20
mov eax, esi
call fcn.00656684
inc edi
jne 0x427881
mov edx, 0xb6
mov eax, esi
call fcn.00656684
mov ax, word [0x427d68]
mov word [esp + 4], ax
mov eax, dword [esp + 8]
dec eax
test eax, eax
jl 0x4278e5
inc eax
mov dword [esp + 0x34], eax
xor edi, edi
push 0
mov al, byte [0x427d68]
push eax
xor ecx, ecx
mov edx, edi
mov eax, dword [esp + 0x34]
call fcn.005c332c
lea eax, [esp + 4]
push eax
mov ecx, esi
mov dl, 0xd
mov eax, dword [esp + 0x30]
call fcn.005cfcec
inc edi
dec dword [esp + 0x34]
jne 0x4278b7
mov eax, esi
call fcn.004028c0
mov eax, dword [ebx + 0x240]
mov edx, dword [eax]
call dword [edx + 0x1c]
push eax
mov eax, dword [ebx + 0x240]
mov edx, dword [eax]
call dword [edx + 0x28]
mov edx, eax
mov eax, dword [esp + 0x34]
pop ecx
call fcn.0044e9a0
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x3fa], 1
mov eax, dword [esp + 0x2c]
call fcn.005bcb1c
mov edx, dword [0x6720a4]
mov eax, dword [esp + 0x2c]
call fcn.0056272c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
call fcn.0055916c
lea ecx, [esp + 0x3c]
mov edx, dword [0x6720a4]
call fcn.005590a4
lea eax, [ebx + 0x244]
mov edx, dword [esp + 0x3c]
sub edx, 4
dec edx
mov dword [eax], edx
mov edx, dword [eax]
add edx, 9
mov dword [eax + 8], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 4], edx
lea eax, [ebx + 0x254]
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov edx, dword [esp + 0x40]
sub edx, 4
dec edx
mov dword [eax + 4], edx
mov edx, dword [eax + 4]
add edx, 9
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x268], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x274], eax
mov eax, dword [esp + 0xc]
inc eax
imul dword [esp + 8]
mov edx, dword [esp + 0x2c]
mov edx, dword [edx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
call fcn.0055916c
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
lea esi, [eax + 0x48]
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 4]
mov eax, dword [esi + 8]
sub eax, dword [esi]
lea ecx, [esp + 0x4fb0]
call fcn.006561ec
lea edx, [esp + 0x4fb0]
lea ecx, [esp + 0x48]
mov eax, dword [esp + 0x44]
call fcn.005590a4
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x250], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x25c], eax
lea eax, [ebx + 0x264]
mov edx, dword [esp + 0x48]
sub edx, 4
dec edx
mov dword [eax], edx
mov edx, dword [eax]
add edx, 9
mov dword [eax + 8], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
lea eax, [ebx + 0x274]
mov edx, dword [esp + 0x48]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x4c]
sub edx, 4
dec edx
mov dword [eax + 4], edx
mov edx, dword [eax + 4]
add edx, 9
mov dword [eax + 0xc], edx
cmp dword [esp + 8], 1
jne 0x427a80
lea eax, [ebx + 0x284]
mov edx, 0x10
call fcn.00660d08
jmp 0x427abf
lea eax, [ebx + 0x284]
mov edx, dword [ebx + 0x244]
add edx, 4
mov dword [eax], edx
mov edx, dword [ebx + 0x26c]
sub edx, 4
mov dword [eax + 8], edx
mov edx, dword [ebx + 0x248]
add edx, dword [ebx + 0x250]
sub edx, 9
sar edx, 1
jns 0x427ab3
adc edx, 0
mov dword [eax + 4], edx
mov edx, dword [eax + 4]
add edx, 9
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x404], 1
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x400], 1
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x3ef], 1
mov eax, dword [0x67250c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebx + 0x240]
call fcn.00651940
call fcn.0064f1bc
mov esi, eax
mov eax, esi
call fcn.006528d4
push 1
push esi
call sub.gdi32.dll_SetBkMode
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x47e], 1
push 0
push 0
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x134]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.0055c85c
mov eax, dword [0x67250c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x268]
call fcn.004028c0
cmp byte [esp + 0x28], 0
je 0x427b5c
mov eax, dword [0x672428]
or dword [eax + 0x144], 8
mov eax, ebx
call fcn.00427d6c
mov byte [ebx + 0x294], al
mov eax, dword [ebx + 0x240]
call fcn.00651940
mov dword [esp + 0x50], eax
cmp byte [ebx + 0x294], 0xff
je 0x427cce
xor eax, eax
mov al, byte [ebx + 0x294]
add eax, eax
lea eax, [ebx + eax*8 + 0x244]
mov dword [esp + 0x54], eax
mov eax, dword [0x6720e4]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
movzx eax, byte [eax + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
shr eax, 8
and eax, 0xff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x54]
mov edi, dword [eax]
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 8]
sub eax, edi
jl 0x427cce
inc eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x54]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x54]
mov ebp, dword [eax + 0xc]
sub ebp, esi
jl 0x427cc3
inc ebp
mov ecx, esi
mov edx, edi
mov eax, dword [esp + 0x50]
call fcn.0064f124
xor edx, edx
mov dl, al
mov ecx, 0xff
sub ecx, edx
mov dword [esp + 0x1c], ecx
mov edx, eax
shr edx, 8
and edx, 0xff
mov ecx, 0xff
sub ecx, edx
mov dword [esp + 0x20], ecx
shr eax, 0x10
and eax, 0xff
mov edx, 0xff
sub edx, eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
add eax, eax
mov ecx, 3
cdq
idiv ecx
push eax
mov eax, dword [esp + 0x1c]
pop edx
sub eax, edx
call fcn.0065b29c
push eax
mov eax, dword [esp + 0x24]
add eax, eax
mov ecx, 3
cdq
idiv ecx
push eax
mov eax, dword [esp + 0x1c]
pop edx
sub eax, edx
call fcn.0065b29c
push eax
mov eax, dword [esp + 0x24]
add eax, eax
mov ecx, 3
cdq
idiv ecx
push eax
mov eax, dword [esp + 0x1c]
pop edx
sub eax, edx
call fcn.0065b29c
pop edx
pop ecx
call fcn.00660d20
push eax
mov ecx, esi
mov edx, edi
mov eax, dword [esp + 0x54]
call fcn.0064f150
inc esi
dec ebp
jne 0x427c0e
inc edi
dec dword [esp + 0x34]
jne 0x427bf7
push 0x11
call sub.user32.dll_GetSysColor
mov edx, eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x14]
call fcn.0064e7f4
lea edx, [esp + 0x4fa0]
mov eax, dword [esp + 0x50]
call fcn.0064f198
lea edx, [esp + 0x4fa0]
mov eax, dword [esp + 0x50]
call fcn.0064ed88
mov eax, dword [ebx + 0x1a4]
mov edx, dword [eax]
call dword [edx + 0x44]
lea eax, [ebx + 0x1b0]
cmp dword [eax + 4], 0x80000000
je 0x427d4a
cmp dword [eax + 4], 0xff
jne 0x427d4e
cmp dword [eax + 0x20], 0xff
jne 0x427d4e
cmp dword [eax + 0x3c], 0xff
jne 0x427d4e
cmp dword [eax + 0x58], 0xff
jne 0x427d4e
cmp dword [eax + 0x74], 0xff
jne 0x427d4e
xor edx, edx
jmp 0x427d50
mov dl, 1
mov eax, dword [ebx + 0x1a8]
call fcn.00646650
add esp, 0x4fb8
pop ebp
pop edi
pop esi
pop ebx
ret