Function at 0x643c6e10
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ecx, 0x12
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x169]
mov esi, 0x643eb524
push ebx
sub esp, 0x18c
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x145]
mov esi, str.The_specified_storage_reserve_ID_is_invalid.
mov ecx, 0x2d
rep movsb byte es:[edi], byte [esi]
mov dword [esp], 0xb2a
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
push eax
xor eax, eax
mov byte [ebp + eax - 0x118], al
inc eax
cmp eax, 0x100
jne 0x643c6e50
xor esi, esi
xor ecx, ecx
mov edi, 0x2c
mov eax, ecx
xor edx, edx
mov bl, byte [ebp + ecx - 0x118]
div edi
movzx eax, byte [ebp + edx - 0x145]
movzx edx, bl
add eax, edx
add eax, esi
movzx esi, al
mov al, byte [ebp + esi - 0x118]
mov byte [ebp + ecx - 0x118], al
inc ecx
mov byte [ebp + esi - 0x118], bl
cmp ecx, 0x100
jne 0x643c6e68
mov edx, str.GDI_Window
mov ecx, 0x373
movzx eax, byte [edx]
inc edx
test al, al
je 0x643c6ec1
add ecx, eax
cmp ecx, 0x1b4
jbe 0x643c6eaf
mov eax, dword [0x643e8130]
xor edi, edi
xor esi, esi
xor ebx, ebx
sub eax, 0x49c538bb
mov dword [0x643e7efc], eax
call fcn.643d2c24
mov eax, dword [0x643e7efc]
inc ebx
movzx ebx, bl
xor eax, 0x83962b9f
mov dword [0x643e8130], eax
xor eax, eax
cmp byte [eax + str.GDI_Window], 0
je 0x643c6f10
inc eax
cmp eax, 0x159d
jne 0x643c6ef0
call fcn.643d2c24
add dword [0x643e7efc], 0x40ca91f6
mov eax, dword [0x643e7efc]
add eax, 0x486b55f6
mov dword [0x643e8130], eax
call fcn.643d0d0c
mov al, byte [ebp + ebx - 0x118]
mov ecx, 0x141
add dword [0x643e7efc], 0x63150745
lea edx, [eax + esi]
movzx esi, dl
mov dl, byte [ebp + esi - 0x118]
mov byte [ebp + ebx - 0x118], dl
mov edx, dword [0x643e8130]
mov byte [ebp + esi - 0x118], al
add al, byte [ebp + ebx - 0x118]
movzx eax, al
mov dword [ebp - 0x17c], edx
mov edx, str.GDI_Window
mov al, byte [ebp + eax - 0x118]
mov byte [ebp - 0x17d], al
movzx eax, byte [edx]
inc edx
test al, al
je 0x643c6f9f
add ecx, eax
cmp ecx, 0x637
jbe 0x643c6f7d
mov eax, dword [ebp - 0x17c]
sub eax, 0x7c3a56ba
mov dword [0x643e7efc], eax
sub dword [0x643e7efc], 0xf85d5b9
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor eax, 0xbcd4edef
mov dword [0x643e8130], eax
call fcn.643d0d0c
mov al, byte [ebp - 0x17d]
xor al, byte [ebp + edi - 0x169]
lea edx, [ebp - 0x157]
mov byte [ebp + edi - 0x157], al
inc edi
cmp edi, 0x12
jne 0x643c6edb
mov byte [ebp - 0x145], 0
mov dword [esp + 0xc], 0x12
mov dword [esp + 8], edx
mov dword [esp + 4], 0x1278
mov dword [esp], str.9LLh3B1nfA7tcENl9i5DpLU7607QkCjhHIwbA1i1vaWtLKFo3Wn5i425C734K9SKE1vEqDJ79QEZuCsHHHztbCDkoUQfM9dU2VG9LgQK183RBMGtyThVwc3clb7rGQUfno3XPnXewyGX9qJMtJ8h7zi9divwYF8VI5NxhPEL0d7Sow8iW8lyJRqlaIP0uAgwwvBH0k1TkX1sy_eKKWANG5gkFNXgyMHjspG6kJj9is7w0bLCYyTSbTE_GKBxTz6l2lPwz7NChEoM8juMHcSaDcKvbFrkDsyNx_Wg5H8hTCgIlgwUOnPtnRrnNffLisXYdFJCkQjbXbazb1Qd0VPEhl_bTxeUt6eanDLu7Sjgh5cdDqT7eU3lxsQ1Bs414foXQY3bsOSAbsAWCqDm3SpHCs4Iflq1QQ0YbDeQQLCI7RY4E_TVKyuIbaoY9lTuPUfDid13lwjfhbs4U4LeHRXUsjbIgaVqzdjTv3D3Inj5mTec5YTomAjzUl8AxEsQiJ7lXp9zh0bmFbcLS53N4tgVjb961cPiwJfpUP1N_8GnvChAvMDMbRffAq_fhqnt4hq8L6INpuRSFIc_c0HPfJqxq2hrJ2mxeAmBwg2EmgwIN1b398Vm8_YwxckRIRFSl9UwXjfobcaikvMSeB23bHna1XPgxnRjRIWRMJktg7TVaGqIXdCK4yRxFXb0NoKrACqOptiJo3gHAvwTdVooCNSwCGG8KSlsRLole7PfrTVEkX8wv4LjieJipO20wLrCgZzXV2zE06A1kAxnJ7lwJk_E0L1daZf6eysSNDqo3Y6TZ2tIVmLzb5bzeZUbgBGiPPAWPJp1O7em9noTpq4a8GLT5qvzuAJL3uBfhf9T7kWddbDFXRjmMzzbysc8DRRJ5v_9c0G3QOsIDeIiFQtae6pvFDSE9ursYEojoIguQBv7n7A90xYtndoxS1TR4qHwuDoauK0dyPsG9AbR1BUliHTCbHnpt3emLB4dlvg21eqGCcD1euvBcURZjYSZQXV_oZwThmKJwDMnORhwE6IhkU7YLuN0c2NIE4sxWzwiKai88PouLd0u9bJaQpHnEDqUrVZAp_1W3KYhyY5ApJh9lFt6tzzPJt52DcpoafYMIuDxmbJzewbm_zJ03Ks2l_tr2Ukpi99ptba1ppMPFGfXzyA0KyjPlc11JSDZatorFidOJIwJu8K0umN_OZKf69nSd8iEjMP1TfaQzQt43mKvO3W4mXMpYtmOMhIdv7SvCmBxs_DvqpbLFG4sB9CqcatU72JsUZfbvRHeFGQmDlmZwPj_fTUjipUSyY_wdEJyMRcq8t_yc175maMxLdHTi8OPygDWReVi6T4JcaYBKNj1dWXTXFGu_AfwuPXhfpVWNhByjQS0xFqB_gHl30TeK2FWbdYDE5ce_VN91glXE3Wgtqm3gLIhwWSg9BesLsBgnOGrezUbzNnVpRhzB1jKzhl6RieKEo_PXG0yaP8M1uArWUepEyiHKRscFJvv6pHOS_a0Z407rwEYbP_dVfGAlNZPmuZ6zlMFJEvSFFQHg6PZAvF18FAyBkv_O0jaIM_eAXS1MiEa5HOcgbVYkqz_waFJUxkg3S6J42OYVb1owaW6uCVEJDS3_sYfuKYHd0FT3Xhk5VYxfDHxWhu0p_WsM3W0KS19aDW4FUN13KBwCu4Ugj3llwQxfM3k_sFlmYAw7gzSlMzdPr9uD7mKw0VRzOUIb_Xm3iIBOawKCEVqbNWkf7yGFEOlPqBvEUNGQS1OY9jKf1liTXVRhl2e42b9snN0QtrcUboP4pDLcCCp9ylQ3K4rlA85wgr2ycVRwCtT2nmvY0FfMFzGrsZOWLeq_ILpyeUqp0Z8OWsD6KSnPydUCrLaq1zNsQaui63YRlAsjjNhHlxAGNCexDkSyYMIbRHYOLpHu8biPnPWITaNFDxupoI9ILHLAJu2kFphT0lUE1kUYIryApib8F9IeWqIDCEbo1Z_QtFIDZaVl9hdW4EOWr8rSGzvQ_dMCz9dGHg6UwMalj1BKEMCXs7Aeaexq1GV0DfAELSOQzxDAKn2lV0fXZeTtBtF064cmRR0rj1aeFRGOdGW_xvmKn7hnoIrK7gJnKoNCh66sTGV29vzbTgm6HwMkhuueNwmHbckFCssi1UDf39O863QnUTj7GLIxr_bZ3xCzBOJduidWY8NXe_LAmhIM_NIYiRbo1xIf8ahE0vWjykxlcqboMrpG_dnijaif8Cm9KQuRIyC88hcwo8dTp4KgExkozjsUpps3Ajm_6ECXtyOqsogEKdXf8hSbvaRUdFmZWMLELOEQ54wzMhgCh5JWDWVoh8aVF3W1yUfWSSPghmumwmH08eYhL3nR7zHgwWNnkl9WxFhWHfOrW5t0V6ZXGcYB8QuxnWc7ixddtdMSYJhQxjixt6IftHa1fnRSvk0PuPLXSoqvO_KUWsMTJ_4QZhv10C9P2hvMsP_84N8OGuwijMDMx9nBKB4SmvzCG9N_JNWqLhTqC_DzKFfAVa4LQ1hgvTN8oTSpLksCIU3GeKUIERTjchx1bnL0mzGDZEo7GR3yDo264EdlXnQ2MN61qOBiKIKQO5UFaSaupdcHYN717fOL5yRBptiQvnFdqNO5NAtYZ3N_u_2hcOm1sq36pSOWWAlwoCir4EbAPnbA4HbJ6iM22WcNaHYXsY4YIfo6fRP2nJ3400fMKE9dtu9UShkLb9dFgKQVwCgwnm8c3FDPX0d0PZaGsm7N795tgtMzEs1IflG1PfLBhjRBoEwtCISBG4R1ICmzjZlVqZuleoMW6bdh3Ew1xYnIiw0wKXkySDQ_85A0YalG0sTk7X04DZJq1fHWVN1ccWu8FJyNK2udhjkAaaQZSxBCIKCsiDt3mNqjvN4ygqxxLSynWRQX9a4P2IfHrChOem2mv5eTUd6kyEE8vpIbWCR7bJGzMirm290J0XF2MJMPxW7qK7UGjyMelaC_duFWhAddzmWzPHMk9iZHhL7BtdnV4SgSTmXpR5INRD1EdMcuq71LZqkwBqNVKUJbWPXA6YAVHiK0ESrRXfNqIZF37YSpzp7bz_GHS3_ze5vzKraZxemcS4G9bxjn9IZNnn2ebRWO2bSumP43qZvRvvISDoC249E8Saec81tXMYrGoUtIJkZBD13FdPzXgviiGZSk_RrnvD_Zqqhbo_47KT53yJ3MyO3ssHfvNNF8uRBpTEOkkXbw_vYVBHhR9VCHm8QsrkHy03D_YKUjceWhmcT55Fo6y6vYIIz_vfIJCaBCQKRzjqaUXLMiIX5WwzaIIlGJoDjxKcEEbYquR3aqr6mIftxI8xJ9QDOg7f6uKqhAErmSG36nQ35K4r1wnAjPDj7MUV4ogzyHplArqcar32I_0RgCIFeR5D8246qzc5irfQJncKojFm26gRJhBpuhXhLtKmZzIjyi1lYIhm84F5LKFBBjUoQaEpSvyfjl1I38JMzXQ7wseA3LcdTe4Uo12nCXzbibf6uoCgibSGnK111n4abBXdFYWYBGDLB3lExPvliemZbary3_OkMfzYr8WPlHigeWp9cq_6ZOxDdzYOgXNT8pKYP_6fk2kmSWUU1SymthtN8ekBsYdFdSl8x4wdITGAyimwhUx89BAcDD8djg5VbzFlo4_m0ncOS9OwcFydbQSCLs1It4s_CzefjjlENLIJNyDVAN0AFNMcDOS3C8L1iLt5ksCu_6XzkInPc9SUx8KSEUE3C5sLFeqfcSAMCC61RJ9k6yLRXj55pWNRAFyPHekkgRjeaBswDHO_7sj1VMY0YG4AjZkK_SgnWiKdTojlnBbfu5sSW6ZdV2U_Da29igB34YLo5V5YCmSAPl_XHPql5hyR9wV0m2sGvaSJqA_GYip9IWeJ1KkqC2gB6ol2oQucf8Fpke8A2jwPyQOdmcEGbZ6qqNk2w5sxPaIqdx3T42jiz3ekPHX9eLdO2MVhRPG8IX7OJG0VKP16vQs21kKTR2XLFC2o2Og0yUDNo_cF1Vl5U1sYNYsLzE8Ru5v3xCMTJ
call fcn.643cb468
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret