Function at 0x1001bca0
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
push ebp
sub esp, 0x11c
lea ebp, [esp - 4]
mov eax, dword [0x1004fa70]
xor eax, ebp
mov dword [ebp + 0x11c], eax
push 0x28
mov eax, 0x1004002b
call fcn.1002b89f
mov ecx, dword [ebp + 0x134]
mov edi, dword [ebp + 0x130]
mov esi, dword [ebp + 0x128]
mov eax, dword [ebp + 0x12c]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [0x1004c0d4]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], ecx
xor ebx, ebx
push eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], ebx
call fcn.1001ba06
push edi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.1001ba06
push 0x104
lea eax, [ebp + 1]
push ebx
push eax
mov byte [ebp - 4], 2
mov byte [ebp], bl
call fcn.1002aa10
add esp, 0xc
cmp dword [esi + 0xc8], 8
je 0x1001bd4a
xor esi, esi
inc esi
lea ecx, [ebp - 0x20]
call fcn.10003048
lea ecx, [ebp - 0x24]
call fcn.10003048
lea ecx, [ebp - 0x10]
call fcn.10003048
mov eax, esi
jmp 0x1001bf9b
mov eax, dword [ebp - 0x24]
cmp dword [eax - 8], ebx
jne 0x1001bd6b
add esi, 0x314
mov eax, dword [esi]
cmp eax, ebx
je 0x1001bd65
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi], ebx
xor esi, esi
jmp 0x1001bd2b
mov ebx, 0x105
push ebx
lea eax, [ebp]
push eax
mov ecx, esi
call fcn.100190ed
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea eax, [ebp]
push eax
call edi
test eax, eax
mov dword [esi + 0x314], eax
jne 0x1001bdd2
push str.INICRYPTOSDK.dll
call edi
test eax, eax
mov dword [esi + 0x314], eax
jne 0x1001bdd2
push ebx
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebp]
push str...Program_FilesINITECHINISAFE_Web_V6INICRYPTOSDK.dll
push eax
call fcn.1002b3f0
pop ecx
pop ecx
lea eax, [ebp]
push eax
call edi
test eax, eax
mov dword [esi + 0x314], eax
je 0x1001bd28
push dword [ebp - 0x14]
lea edi, [esi + 0x2f8]
mov ecx, edi
call fcn.1001a618
test al, al
je 0x1001bdfb
lea ecx, [esi + 0x2f4]
call fcn.1001aa2e
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
jmp 0x1001bd67
push dword [ebp - 0x14]
mov ecx, edi
call fcn.10012ae2
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
and dword [ebp - 0x18], 0
push str.GetRandData
push dword [esi + 0x314]
call edi
push str.DecEncKey
push dword [esi + 0x314]
mov ebx, eax
call edi
push str.EncRandKey
push dword [esi + 0x314]
mov dword [ebp - 0x34], eax
call edi
push str.GetKey
push dword [esi + 0x314]
mov dword [ebp - 0x30], eax
call edi
push str.freeData
push dword [esi + 0x314]
mov dword [ebp - 0x2c], eax
call edi
xor ecx, ecx
cmp ebx, ecx
mov dword [ebp - 0x14], eax
je 0x1001bf80
cmp dword [ebp - 0x34], ecx
je 0x1001bf80
cmp dword [ebp - 0x30], ecx
je 0x1001bf80
cmp dword [ebp - 0x2c], ecx
je 0x1001bf80
cmp eax, ecx
je 0x1001bf80
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax - 8]
lea edx, [ebp - 0x18]
push edx
push ecx
push eax
mov edi, str._____BEGIN_CERTIFICATE______nMIIDBzCCAnCgAwIBAgICBHIwDQYJKoZIhvcNAQEFBQAwfjELMAkGA1UEBhMCS1Ix_nDjAMBgNVBAcTBVNlb3VsMRAwDgYDVQQKEwdJTklURUNIMRUwEwYDVQQLEwxTdXBw_nb3J0IFRFQU0xEzARBgNVBAMTCklOSVRFQ0ggQ0ExITAfBgkqhkiG9w0BCQEWEm1h_naWx0b0Bpbml0ZWNoLmNvbTAeFw0wNTA4MjMwNzEzNTFaFw0wNjA4MjMwNzEzNTFa_nMIGTMQswCQYDVQQGEwJLUjEaMBgGA1UEBwwRwrzCrcK_P8OGP8K6wrDCvT8xETAP_nBgNVBAoMCD8_wrQ_P8OYMSAwHgYDVQQLDBfCusK4wr4_wrE_wrw_wr8_wrHCuMK8_nPzEQMA4GA1UEAxMHaW5pdGVjaDEhMB8GCSqGSIb3DQEJARYSbWFpbHRvQGluaXRl_nY2guY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCkbt6_Vd7_sVNYR5gg_nYc2tHAqiq9bASpgDnYBb1nbuBEm3AFsiGX8YKB2dQ5OaO4AKS5UnwsJgau7_ZhYS_nIInw_9tSbqqsDOzPXo0660_DFoW7GIi2AGHAdchv2KAFHicygAbx7gnUc6PBe0OZ_nrv7tC7SlKMui5yZlhbFfAPolwIDAQABo34wfDAqBglghkgBhvhCAQ0EHRYbSW5p_ndGVjaCBDQSBTZXJ2ZXIgR2VuZXJhdGVkMB0GA1UdDgQWBBQkgvD5x3x2vApnaEUl_nvoNRXj1UxzAfBgNVHSMEGDAWgBRf4i0mGQjG6aTQppL1jhYQeEFzmzAOBgNVHQ8B_nAf8EBAMCA7gwDQYJKoZIhvcNAQEFBQADgYEApfMbSfmW8N1O5XzvTipLmUojcpPY_nhqDyjZlR_JYmdmSTUETAbF6tb34hQ9WmnWOVoTbf13tqvqBs8zOvF6Vg4UPKQohz_n2mkgyatO3krDInk8RjYcMZ9zoSuHUITGuc6pxNKqyJxr8J0y0JpZ9LTEExsrGYf_nap27DNpnNB6kuDs_n_____END_CERTIFICATE_____
push edi
call fcn.1002ae60
pop ecx
push eax
push edi
call dword [ebp - 0x34]
test eax, eax
jg 0x1001bebe
lea ecx, [ebp - 0x10]
call fcn.1001aa2e
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
jmp 0x1001bd28
xor eax, eax
mov byte [ebp + 0x108], 0
lea edi, [ebp + 0x109]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp + 0x108]
push eax
call ebx
and dword [ebp - 0x28], 0
lea eax, [ebp - 0x28]
push eax
push 0x10
lea eax, [ebp + 0x108]
push eax
push str.qqqqqqqq
mov edi, str._____BEGIN_RSA_PRIVATE_KEY______nProc_Type:_4_ENCRYPTED_nDEK_Info:_DES_EDE3_CBC_898DB0040374679B_n_najfjnW1uSqcMDI4Ct3aIZy5r2241wlEJieEevUxBLKqB_cDKcGi628wpo3Wepd__nzVsLaLvFD3RP_lCfOWkLwHml2FoUeTQSGUtiCwr5796hB40ApzHawnTSc4Y5_l1B_nX0F8nWMo6xosDiVK6c0fHRrTXHpzKz7qbfAoLHDSfySzTqVXwRiOzQIgMXmQ5_nRJ1vTPVd0PkkkVQmVZ_dk3gfvOlxIsdEmjLbylYA96gtOc7dwsJmzCkVD4CJIpdo_n5E5oiGRz6kt9uDQoMjhMFYiap_7dMufSp9iDLNg2MULlUl3qQQqfcURsjvUxQPvw_nUD0Mvm6CbmSGhVe0PQo9vmlckowUnkxw5AFlGVTG4UcKpW3ACs_nj9hMgkM2_t10_nEWPxOV5hh0TS00JVcJ_rhVuNzcx9eO2f8GUE1Uc5m4s9Fv0pFBcGd2FdavvSW4Aw_nR1OJNABrpX0VyCnFYcGatgcsLGejobWwnry2gDO08CYnAfBKeVi55ORMAwuVu_n5jtSlg7P9rcRvwcvUbiD0b0d_Z9jO3inKspgcxYalQtiLTBEjtth5blv29hiU44_nKHxAunmWF5nUTIVBMvnLAKDb8eI8ANxuz3y2D8WkA6thjP2zXoynLL7BmEs4UdZ_nd5eVb0Q0qGRu2MqGv5PmvUJMXJ6luiOOjFFLhcRs1JbD4nz0lwExWHB4D3F_nDa3AnqtgeJgr_1jyqaGg7iRuROIZ433tfupu_nJqlfX9EGhHX45SuCCQEdgzKRgs_n0JEBB4_5eV2tNEoPjdAH2AOfeIv_A4dRW55RMeK5Z6g_n_____END_RSA_PRIVATE_KEY______n
push edi
call fcn.1002ae60
pop ecx
push eax
push edi
call dword [ebp - 0x30]
test eax, eax
jg 0x1001bf0d
push dword [ebp - 0x18]
call dword [ebp - 0x14]
jmp 0x1001beac
lea eax, [esi + 0x300]
push eax
lea eax, [ebp + 0x108]
push eax
push dword [ebp - 0x18]
call dword [ebp - 0x2c]
cmp eax, 0x10
jge 0x1001bf31
push dword [ebp - 0x18]
call dword [ebp - 0x14]
push dword [ebp - 0x28]
jmp 0x1001bf08
push dword [ebp - 0x28]
lea ecx, [ebp - 0x10]
call fcn.100032f7
lea eax, [ebp - 0x10]
push eax
lea ecx, [esi + 0x2f4]
call fcn.10009817
lea ecx, [ebp - 0x10]
call fcn.1001aa2e
mov ecx, dword [ebp - 0x1c]
push dword [ebp - 0x18]
mov dword [ecx], eax
call dword [ebp - 0x14]
push dword [ebp - 0x28]
call dword [ebp - 0x14]
lea ecx, [ebp - 0x20]
call fcn.10003048
lea ecx, [ebp - 0x24]
call fcn.10003048
lea ecx, [ebp - 0x10]
call fcn.10003048
xor eax, eax
jmp 0x1001bf9b
lea ecx, [ebp - 0x20]
call fcn.10003048
lea ecx, [ebp - 0x24]
call fcn.10003048
lea ecx, [ebp - 0x10]
call fcn.10003048
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x11c]
xor ecx, ebp
call fcn.1002ae45
add ebp, 0x120
leave
ret 0x10