Function at 0x684b5c7
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
push esi
push edi
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], ecx
call fcn.0684a61f
mov dword [ebp - 0x5c], 0x18
mov dword [ebp - 0x58], 0x2f
mov dword [ebp - 0x54], 0x41
mov dword [ebp - 0x50], 0xffffff1e
movups xmm1, xmmword [ebp - 0x5c]
mov edx, dword [0x685b6f4]
add edx, 0x8e995395
mov dword [ebp - 0x38], 0x44
movaps xmm0, xmm1
mov dword [ebp - 8], edx
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [str._Y_tbehavior:button_], edx
movups xmm0, xmm1
mov dword [ebp - 0x34], 9
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x30], 0xffffffcd
movd eax, xmm1
push 0x1c
pop edi
add eax, 0x5b
mov dword [ebp - 0x10], eax
xor eax, eax
mov ecx, eax
sub edi, dword [ebp + ecx*4 - 0x38]
inc ecx
cmp ecx, 3
jl 0x684b650
push 0x21
pop esi
mov dword [ebp - 0x40], 0x4c
mov ecx, eax
mov dword [ebp - 0x3c], 0x35
mov dword [ebp - 0x38], 0x5e
mov dword [ebp - 0x34], 0xd
mov dword [ebp - 0x30], 0xffffff32
sub esi, dword [ebp + ecx*4 - 0x40]
inc ecx
cmp ecx, 5
jl 0x684b682
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x10]
jne 0x684b88a
push 6
pop ecx
mov esi, str._tif__Context.dataUpdated_
mov dword [ebp - 0x38], 0xa35aa55d
lea edi, [ebp - 0x68]
mov dword [ebp - 0x34], 0x26a34520
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x30], 0x1c5c8b22
movsw word es:[edi], word [esi]
imul esi, edx, 0xd74dafcd
mov ecx, eax
mov edx, dword [0x685b5c4]
mov edi, edx
or edi, 0x82f55cd8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], edi
mov dword [0x685b6f4], esi
mov edx, dword [ebp - 0x18]
mov eax, str.SEC_E_KDC_INVALID_REQUEST
mov dword [ebp - 0x14], 0x17fa
mov dword [ebp - 0xc], 0x53
mov edi, dword [ebp - 0xc]
lea eax, [eax + 2]
add dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], 0x12ff
mov edi, dword [ebp - 0x10]
ja 0x684b71b
movzx edx, word [eax]
mov dword [ebp - 0xc], edx
test edx, edx
mov edx, dword [ebp - 0x18]
jne 0x684b6f7
jmp 0x684b72d
or esi, 0xaab344e9
xor esi, 0xbe772521
mov dword [0x685b6f4], esi
push edi
call fcn.0684a987
add esp, 4
mov byte [ebp + ecx - 0x174], cl
inc ecx
cmp ecx, 0x100
jb 0x684b6e1
mov dword [ebp - 0xc], esi
xor edi, edi
xor edx, edx
mov dword [ebp - 0x14], 0x19
mov eax, edi
mov cl, byte [ebp + edi - 0x174]
div dword [ebp - 0x14]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x68]
add eax, dword [ebp - 0x1c]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x1c], ecx
mov al, byte [ebp + ecx - 0x174]
mov byte [ebp + edi - 0x174], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x174], al
cmp edi, 0x100
jb 0x684b74b
mov edi, dword [ebp - 0x10]
xor ecx, ecx
mov esi, dword [ebp - 0x18]
mov eax, ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 8], ecx
inc eax
mov dword [ebp - 0x14], str.default_value
movzx edx, al
mov dword [ebp - 0x18], edx
mov al, byte [ebp + edx - 0x174]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x10]
xor esi, 0x1e99531d
movzx eax, al
mov dword [ebp - 0x1c], eax
mov al, byte [ebp + eax - 0x174]
mov byte [ebp + edx - 0x174], al
mov eax, ecx
add dword [ebp - 0x14], 2
inc eax
cmp eax, 0x1bb9
je 0x684b80a
mov edx, dword [ebp - 0x14]
cmp word [edx], cx
jne 0x684b7e7
cmp eax, 0x1345
jg 0x684b819
imul edi, esi, 0xc0aa9f8
jmp 0x684b81f
call fcn.0684aae7
mov edi, esi
or edi, 0x2657d641
xor ecx, ecx
imul edi, edi, 0x9889fe01
mov eax, dword [ebp - 0x1c]
and esi, 0x2eaa3c2f
mov dl, byte [ebp - 1]
mov dword [str._Y_tbehavior:button_], edi
mov byte [ebp + eax - 0x174], dl
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
movzx eax, byte [ebp + eax - 0x174]
add eax, dword [ebp - 0x10]
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + edx - 0x38]
mov byte [ebp + edx - 0x2c], al
inc edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], edx
cmp edx, 0xc
jb 0x684b7a7
mov byte [ebp - 0x20], cl
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x208]
mov dword [0x685b5c4], esi
call fcn.06843566
mov esi, dword [ebp - 0xc]
jmp 0x684bd08
cmp ecx, edi
jne 0x684bb71
push 0xc
pop ecx
mov esi, str.._AV_lambda_5333d68d6c5a8184e2183f24e33b722e___
mov dword [ebp - 0x2c], 0xc967e181
lea edi, [ebp - 0x1a4]
mov dword [ebp - 0x28], 0x1cf094de
rep movsd dword es:[edi], dword [esi]
movzx ecx, byte [str.service_missing_in_parameters_and_hostname]
mov edi, 0x202f
mov word [ebp - 0x24], 0xd7b9
mov esi, str.service_missing_in_parameters_and_hostname
test ecx, ecx
je 0x684b8eb
add edi, ecx
inc esi
cmp edi, 0x83d
ja 0x684b8df
movzx ecx, byte [esi]
test ecx, ecx
jne 0x684b8cb
jmp 0x684b8f5
call fcn.0684abd5
and dword [ebp - 8], 0x21e5be0b
call fcn.0684aae7
mov edx, dword [ebp - 8]
xor eax, eax
mov dword [ebp - 0xc], eax
mov edi, 0x100
mov dword [ebp - 0x10], eax
mov ecx, eax
mov esi, str.default_value
inc ecx
lea esi, [esi + 2]
cmp ecx, 0x87d
jl 0x684b927
cmp word [esi], ax
jne 0x684b907
cmp ecx, 0xb9a
jle 0x684b930
call fcn.0684a481
jmp 0x684b930
sub edx, 0x5caa017
mov dword [ebp - 8], edx
mov esi, dword [ebp - 8]
add esi, 0x6dc08577
mov dword [ebp - 0x14], esi
push esi
mov edx, esi
call fcn.0684a987
mov eax, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 8]
xor edx, 0xcab61a85
sub edx, 0x6bbd7d21
mov byte [ebp + eax - 0x174], al
inc eax
push 0
mov dword [ebp - 0x10], eax
cmp eax, edi
mov dword [ebp - 8], edx
pop eax
jb 0x684b900
imul eax, esi, 0xf90e35bc
or eax, 0xf5e0556c
xor esi, esi
mov dword [ebp - 0x18], eax
call fcn.0684a3ea
xor edx, edx
mov cl, byte [ebp + esi - 0x174]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x58]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x1a4]
add eax, dword [ebp - 0xc]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0xc], ecx
mov al, byte [ebp + ecx - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x174], al
cmp esi, edi
jb 0x684b97e
mov esi, dword [ebp - 0x14]
xor ecx, ecx
mov edx, dword [ebp - 0x18]
mov eax, ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x1c], ecx
inc eax
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x174]
movzx edi, al
mov byte [ebp - 1], al
mov eax, dword [ebp - 8]
add eax, edi
mov dword [ebp - 0x10], edi
cmp byte [str.service_missing_in_parameters_and_hostname], 0
movzx eax, al
mov dword [ebp - 8], eax
je 0x684ba1f
inc ecx
cmp ecx, 0xc00
jl 0x684ba16
cmp byte [ecx + str.service_missing_in_parameters_and_hostname], 0
jne 0x684ba02
jmp 0x684ba1f
push edx
call fcn.0684a987
add esp, 4
xor esi, 0x71b857da
mov edi, esi
or edi, 0xebe0b517
call fcn.0684ad31
mov eax, dword [ebp - 8]
lea edx, [esi + 0x3e2dfc84]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x18], edx
mov al, byte [ebp + eax - 0x174]
mov byte [ebp + ecx - 0x174], al
xor ecx, ecx
mov eax, ecx
cmp byte [str.service_missing_in_parameters_and_hostname], al
je 0x684ba7d
inc eax
cmp eax, 0x1a3f
jg 0x684ba6d
cmp byte [eax + str.service_missing_in_parameters_and_hostname], cl
jne 0x684ba5b
jmp 0x684ba7d
call fcn.0684a771
mov edx, dword [ebp - 0x18]
xor edi, 0xbd13cb82
xor ecx, ecx
mov eax, dword [ebp - 8]
or edx, 0xa8362bcc
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
mov dl, byte [ebp - 1]
mov byte [ebp + eax - 0x174], dl
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x174]
add eax, dword [ebp - 0x10]
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x38], al
mov eax, esi
mov esi, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0xa
mov eax, dword [ebp - 0xc]
jb 0x684b9d7
movzx eax, byte [0x685b3d0]
mov edx, 0x669
mov ecx, 0x685b3d0
jmp 0x684baef
add edx, eax
inc ecx
cmp edx, 0x1a3d
ja 0x684baf5
movzx eax, byte [ecx]
test eax, eax
jne 0x684bae1
jmp 0x684bb00
call fcn.0684a0b5
xor edi, 0x93111bee
xor edi, 0x77ce849
mov dword [str._Y_tbehavior:button_], edi
movzx eax, byte [str.v2i_IPAddrBlocks]
add esi, 0x96c5ca26
mov dword [0x685b6f4], esi
mov edx, 0x160b
mov ecx, str.v2i_IPAddrBlocks
test eax, eax
je 0x684bb4a
add edx, eax
inc ecx
cmp edx, 0x52
ja 0x684bb4a
movzx eax, byte [ecx]
test eax, eax
jne 0x684bb2d
lea edi, [esi + 0x1322b6ad]
mov dword [str._Y_tbehavior:button_], edi
jmp 0x684bb59
mov esi, dword [ebp - 0x14]
or esi, 0x4e3483ed
mov dword [0x685b6f4], esi
mov eax, edi
mov byte [ebp - 0x2e], 0
and eax, 0x2b697c51
lea edx, [ebp - 0x38]
mov dword [0x685b5c4], eax
jmp 0x684bcfd
cmp ecx, esi
jne 0x684bd79
push 0xa
pop ecx
mov esi, str.._AW4RandomNumberType_Integer_CryptoPP__
mov dword [ebp - 0x28], 0x59f7ec8d
lea edi, [ebp - 0x74]
mov dword [ebp - 0x24], 0x9c91cee9
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x20], 0xcf
mov ecx, eax
mov dword [ebp - 0x10], eax
movsb byte es:[edi], byte [esi]
mov esi, 0x100
mov byte [ebp + ecx - 0x174], cl
inc ecx
cmp ecx, esi
jb 0x684bba3
mov edi, eax
xor edx, edx
mov dword [ebp - 0xc], 0x28
mov eax, edi
mov cl, byte [ebp + edi - 0x174]
div dword [ebp - 0xc]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x74]
add eax, dword [ebp - 0x10]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x10], ecx
mov al, byte [ebp + ecx - 0x174]
mov byte [ebp + edi - 0x174], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x174], al
cmp edi, esi
jb 0x684bbb1
imul esi, dword [ebp - 8], 0x7662610b
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov edx, eax
jmp 0x684bc0e
mov esi, dword [ebp - 0x10]
lea eax, [edx + 1]
movzx edi, al
mov dword [ebp - 0x14], edi
mov al, byte [ebp + edi - 0x174]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x18], eax
add eax, ecx
movzx eax, al
mov dword [ebp - 0xc], eax
or esi, 0x5d88bf86
mov dword [0x685b5c4], esi
push ecx
push ecx
call fcn.0684a39e
mov eax, dword [ebp - 0xc]
pop ecx
pop ecx
push 0x64
mov al, byte [ebp + eax - 0x174]
mov ecx, str.default_value
mov byte [ebp + edi - 0x174], al
imul edi, esi, 0xe794e8a1
or esi, 0xebefefa5
pop edx
push 9
mov dword [ebp - 0x10], esi
mov dword [0x685b5c4], esi
mov dword [str._Y_tbehavior:button_], edi
pop esi
lea eax, [edx - 0x30]
cmp ax, si
ja 0x684bc92
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x684bc7b
jmp 0x684bca1
mov eax, edi
and eax, 0x9df81e4
mov dword [ebp - 0x10], eax
mov dword [0x685b5c4], eax
mov esi, edi
and esi, 0xc4dd9430
mov dword [0x685b6f4], esi
call fcn.0684a9df
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov cl, byte [ebp - 1]
push 9
mov byte [ebp + eax - 0x174], cl
movzx eax, byte [ebp + edx - 0x174]
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + ecx - 0x28]
mov byte [ebp + ecx - 0x38], al
inc ecx
pop eax
mov dword [ebp - 0x1c], ecx
cmp ecx, eax
mov ecx, dword [ebp - 0xc]
jb 0x684bc0b
mov byte [ebp - 0x2f], 0
lea edx, [ebp - 0x38]
lea ecx, [ebp - 0x208]
call fcn.06843566
mov eax, dword [ebp - 0x44]
mov eax, dword [eax*4 + 0x685b788]
test eax, eax
jne 0x684bd6d
mov ecx, eax
mov edx, str.SEC_E_KDC_INVALID_REQUEST
inc ecx
lea edx, [edx + 2]
cmp ecx, 0x15cd
jl 0x684bd30
cmp word [edx], ax
jne 0x684bd1d
jmp 0x684bd3f
push ecx
call fcn.0684a818
mov esi, edi
pop ecx
xor esi, 0xec19b622
lea eax, [edi + 0x2cf75cef]
mov dword [0x685b5c4], eax
lea eax, [ebp - 0x208]
sub esi, 0x6d2c219
push eax
mov dword [0x685b6f4], esi
call dword [0x685b784]
mov ecx, dword [ebp - 0x44]
mov dword [ecx*4 + 0x685b788], eax
push dword [ebp - 0x48]
push eax
call dword [0x685b77c]
jmp 0x684bda9
push 0x2c
and edx, 0x57177c4
mov dword [ebp - 0x38], 7
pop ecx
mov dword [ebp - 0x34], 0x2b
mov dword [ebp - 0x30], 0xffffffa2
mov dword [0x685b6f4], edx
add ecx, dword [ebp + eax*4 - 0x38]
inc eax
cmp eax, 3
jl 0x684bd9d
mov eax, ecx
pop edi
pop esi
leave
ret