Function at 0x837770
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ecx, 0xf
xor eax, eax
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x136]
mov esi, 0x85cd6d
push ebx
sub esp, 0x15c
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x142]
mov esi, 0x85cd7c
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
cmp byte [eax + str.ftypavis], 0
je 0x8377bf
inc eax
cmp eax, 0xc7b
jne 0x8377a2
mov dword [esp], str.Failed_to_get_the_database_id
call fcn.00840064
mov eax, dword [0x858c68]
or eax, 0xb9ec4e95
mov dword [str.vR8J], eax
call fcn.00842978
xor eax, eax
mov byte [ebp + eax - 0x118], al
inc eax
cmp eax, 0x100
jne 0x8377d5
mov eax, dword [str.vR8J]
xor ebx, ebx
mov esi, 0xb
mov edx, eax
sub eax, 0x50bfcf85
xor edx, 0x8e7937df
mov dword [str.vR8J], eax
mov dword [0x858c68], edx
mov dword [esp], 0xb98
call dword [sym.imp.USER32.dll_IsIconic]
xor ecx, ecx
mov edi, eax
or eax, 0x82e5394a
push edx
mov dword [str.vR8J], eax
mov eax, str.ftypavis
mov dl, byte [eax]
sub edx, 0x30
cmp dl, 9
ja 0x837836
inc eax
jmp 0x837829
mov al, byte [ebp + ecx - 0x118]
xor edx, edx
mov byte [ebp - 0x149], al
mov eax, ecx
div esi
mov al, byte [ebp - 0x149]
add al, byte [ebp + edx - 0x142]
mov dl, byte [ebp - 0x149]
add ebx, eax
movzx ebx, bl
mov al, byte [ebp + ebx - 0x118]
mov byte [ebp + ecx - 0x118], al
inc ecx
mov byte [ebp + ebx - 0x118], dl
cmp ecx, 0x100
jne 0x837824
and edi, 0xdf273ba3
mov byte [ebp - 0x19], al
xor ecx, ecx
xor edx, edx
or edi, 0x82253902
mov al, byte [ebp - 0x149]
mov dword [0x858c68], edi
mov byte [ebp + ebx - 0x118], al
xor ebx, ebx
inc edx
lea esi, [ebp - 0x127]
movzx edx, dl
movzx edi, byte [ebp + edx - 0x118]
add ecx, edi
movzx ecx, cl
mov al, byte [ebp + ecx - 0x118]
mov byte [ebp + edx - 0x118], al
mov eax, edi
mov byte [ebp + ecx - 0x118], al
add al, byte [ebp + edx - 0x118]
movzx eax, al
mov al, byte [ebp + eax - 0x118]
xor al, byte [ebx + ebp - 0x136]
mov byte [ebp + ebx - 0x127], al
inc ebx
cmp ebx, 0xf
jne 0x8378a7
mov byte [ebp - 0x118], 0
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0xf
mov dword [esp + 4], 0x11b0
mov dword [esp], str.TmXMTpAw_YnMFs7QvQ8GuW4OcPPzGHTF98I35DNK_4olXXWtkdkGQl9cw7wh3ONRHbyQFXyGGW6cTqNsezKcqFO9uZHqHBgGYsw3sMKlMJokIK_zNUB9PSxOEQe1gQHjl_amZSkq8BW0wNA0qDqBa_VTylLt_pehAxSOpUE2_bIedJFFVgdmccw5NMr5iIs6aiLLA1nG9gsRm7WXkeGIaLG7Ewh9G1vWcUPyvkq0cI_1wzTc3QboJDwQfLLv6XpWguzBEZk3h9l_aDQ3oSa72aj_nopJQ8KmbwbBsY4tiMQoF8bINeemhoRz4mt2nu3qrPfmrUzrlYTixGp465CAvXQ7YoDukOJsqkHsS4xGPA0W7teVss4yKxsUzmnMso4dfv9DWkK7AMC5ZUQ3_GZRCL4GohtpTRGdwoiiKrnBZWY47_2_MG6Yoe1IS0tQ6VgK8UIgqnfPs4_QTr11eUkxNfQYJFeU3kDyqTpMyPBGNEfYBCTRdnZNTBFr8BFqwa2zTQ8hFHfrA2WS0FiN6DaVjCFiwjiMB6QhXmuWuxzKHrMB029EqCD8TyKFRMjdh8SmZEZiMeV6jNACzeIITuTSiqPF61u2jB7QElu31U4YuLtmJYAjfHxBzg1lAnt3Rq3TwHpOfhO0OjyeS91gfM49YSWJYLDQP6GS5viv7oEi_SHtj6_Zd08exeUmF5MfH4Q6ia3nqmQVHnA67yEsGB8_r85AE9q4ZLf3YJKdyCYsYs1MSFkJ75dzdMbVJdqSRmdx4d_JN9STTAESpzs38MBUn2zJ54nDLQhuclXQSQlBijfkG4b_GbBcoVQZWIGmAwgvIrFksIkpxLxqEpxNEO98dEdkPrFJUgrxi5WXriyr1UCNpblPJCq_Z5C6sJZ8Vxbp0OxhYyIGK5a1mM6LlZkWBYuhU0F9i04aZh5wpXWCJHOdW01aIm5nP5VJtXRW9_nf6x2WnB8xfqgetTNtsbEqkV9SUGC33QibZLRBb2cSjGAfZ6NnhXB4_OLugpxUqyG1nz8uGU6ysRDa9Us6CdHVv2dXYtKXbSjrRw83tzqVyxF35FK8bufT9H4X4BQCaiFwscLPrEhuY_MXlhLTOv__rvoCvUoapsBQbZdEtkYNauVWeisClsJ58NDUx4v6DBv8udfMQjPuluhw23oflDh0oA_to4hRCMtDthx8imgAQ22F2rO3IUASloNqKZjK4xwOniLhcCxz3PzR_rPbcOPPaXDXNaZ5mlS9qeccfo1DZJmL8pOriyoz6GXM8yRXxOPJECdomQbJKolRh8bfNcHE9StT5jS1WJvZCQ_VgXQZ6wBDN0CSTwDYnFxNVg3emAXHxlPMoI4VDlDes9SUaHjzMIF3T5ClGa4JAP_EGvdADiZYzWxtBVwlqEIqc_1HvWNwo218sFtVI17NwaLwjQX5KAdJbmro6RhJwT_Ljcw9IMIxpDpQ2uxMJW2Lec6YbyluuvhtA2itGWguHwfw7LpjWH5mz52_6owBDp2fBdfAc5YFVcd0cdLHB5ZUyqxP4pGfYIs_2GEHDBmRBfchF07tf4J3pDdYEudm4CZav1tYVoMhFfaJd73g4oB55bEwryJNYf2LY6vDuFmZJZ7FxUlaFei1Dv9mU91uIZw5GUcbjrEoAFC9eMyF7mYvuSRr14NQP3OIzEv5YhagftDBiNA7SvF3pxi0lpq3qpg4LewIKrLuD4xGLtS91Ahf1Sj_JFNSJJVWs6St4C2HTCAiP_X6cD01dErWKGBvasyt1ZtNDpcYDJWuOSQUzjBChF9TNBY3b0AvsQzBlP0GaKeCmI3g5Cbr1iksLgZxiXRh1Zt5EljGDOUIsoUZsMVcYVNu_RJ_b7nWMyDnOxF2aqpvoyqNqdRZNnEFRnFk3odG1zezFWdrxEorG6fRT4if5Ww_GLBLYKJ6fvU2luf6N7BHmFlVrCvdWC9fdxsSojotvrwK6V1oOBNiws0SSmh00mIj0LLfJmLymY7AjZnUy9yONnKlxc9IhEofQKbJppR1yD5KXxhqsPHmJ_FhBfNoAJNkQMrWvcVsNpXaJLFh6wLbZLPazc_ZgGsCVRmOg6gi0owAlqX6bNXgIX2nDeL6IosIqqoIHMj3kzOFf5htzVC9AqCLG55GZ1fo4h8N9bMvB8027h41Focsxbixc4Rhbhb2zFOBPHxit7HxCdC0a4kiJTkkUggcFxrz7PQmcXQqvix1M_lkLGIMwzJnZvEfKi1PIECudVo4CLvh2jKlaAlv8ce2qdybeRBQlZjv6lH1tfb2Uut1GPZkV05cXZoT1jdh3ICY3qH8UaQAEsOdc8atcFtpL4z_i4X4LyAIHncRan3iq8ZyB234lf5S2CmBFJeOZQcWNRQu2jzXDzo0pPA_OPYcmtKUXg5rgpKxvlotwisW734_kSJTE0GHT5wxskV4p5MVXse_rJhgqP9Mz2DQ_TW9XyIdOdpIrhke4R_ecKJ6mKwz1w7_CqZwNRU1AqxlYYXeRiGil15G6ZOz8NoSmlHuSLmdKVStSR8h5Aikcp4Je1ETIiEOFFkfvx44J1ut1eBJ8O_To1JYd_rkTP98J7eUdRb3C_3eD3wTXqDcdQKsynkYp4NiLSidWQKV9tAKsuOGtxF8yML7_SpuRJvVYgE5urnHvgC41S_jO1gBChMFhNl6D2bmsebmqPLGyf95vj40TPDquAsIkYDVEsKsB90haWfaOT4jjcnpZ2JRc6WRlDeNq3FJY7Y6ucquld0sPP4u4KrVoj3lcfj60_fzVzyehgf6ZXwr4mPCRp868BlHaT0lAGZSKxTQxUTc21YnUBAjbE1sNNBMbtQdzpSfhwJkMaubFL6FJIzT77ATIn1CqFdCtaccxArgIYH1srQEpYpMKImVqA7rKDwo_0SpbnJUJy1gUX2RjrPHl8dGd7Obaj6jXJYiXpLxCd2N0eqi7dwdQbB8y8Nm1ry9lj1U5FO8m9WubfIbVSWVbNUd1oT3RkAM0P6b3ujWNAICuwo1In_zjN5FrcoQGo7TuMpIGaEb3kUzZWZ0mppKvjikNc2BbZiWcGVpnqbep7CXss6s_PXbPqn0HcWpYpoiUzzghJVD2o4cowRWKQ2kFGZgaVx4g1LC0kP6pybURbJAtYAOJnDcG9wMkCYqD2VtP6CsDsca4_eA9bIe5fy_UDumoG29ROkly17zGZG2LKR_7ROGb8NiSGWEMLOxsTczQb5hRzhAe8nqnv3O704SqOQyRoEf78l8TutRXdyNESXOaUkh_fawVMMrojF8NYaDhpKT4ycUGJd7c4hl5ZMhmWKA67kMnEniuAQCRN8c_bWCX5XcY3lMc6WfwaRCo6chGlfE9DKbBm_JCN2CAulZOKywbIlZw5n4f0Q37OL3ooA4EqnrCtNzyGHPK6WSw1OPSu_ZP8B8qIiWK_1V0e2XiQ0iRCIWud_ErNWxtq2IantXr4ZLk3QcCjlJtECmYCMZO7TVuZwQfJcn_Eu2bkPv9iuQfDiDahsWW1ujMd4huKQdjJzl4WMIOivWM5bRV1_fhpXLGLKJD4WaY96nM1qgIcInEnnn2FoVofbMSHLC3DsSFXkEFf8HNPZzskaiMIsv1Fszq3BGwLBD4Sd1gye7m0gIvA7wM3j6_Xf31r9DSkCb4VtbMKwhRTRgqQVW7OHJDWAEj1tlY7JMT9fGi75MvZOk93DdpiCWoPl2ZMg8NshL8EIJ_IsLBUskaaAmVBJ3CHWDDtQ4125vbJ7jh9tMa63uHCylOG18wDs8TeHjbPs506c6q6A1VD7GKXj55cBpLfDWJMmZtHSYxZu3IuoUdC9VLoY19Gi5zQQEd5FLH4tCtlMDIkUunkKAAVqTORjt5UOrDBbfqE5srt9KrCRd2kJGf6hjxCp5HDmMwneu5EO4HG8gBOyotyY2LtebQntE7FVX0PlSuCurO9p6zU3rFfrcTsoB5h_Q_0DjOec64BQNLnWkZS4xqSAzWGc_2KCE49IhinQmoxmu8bkPh2OJa8DPyhekTBUeB8MXixhcfzYH2ZP
call fcn.0083bff8
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret