Function at 0x445863
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x1a0
mov eax, 0x52f532
call fcn.004e49d2
mov esi, edx
mov dword [ebp - 0x114], esi
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0xa4], 7
xor eax, eax
mov dword [ebp - 0xa8], ecx
mov word [ebp - 0xb8], ax
mov dword [ebp - 4], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 1
push eax
mov dl, 1
lea ecx, [ebp - 0x34]
call fcn.004598a5
mov bl, al
mov byte [ebp - 4], 0
pop ecx
neg bl
lea ecx, [ebp - 0x34]
sbb bl, bl
call fcn.00424933
add bl, 1
je 0x4458f4
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x5b3ce4
push str._s___GetPsiphonDataPath_failed_for_dataStoreDirectory___d_
push 0
push 0
call fcn.0043a0a0
add esp, 0x14
xor bl, bl
jmp 0x446955
xor ebx, ebx
mov dword [ebp - 0x8c], 7
xor eax, eax
mov dword [ebp - 0x90], ebx
mov word [ebp - 0xa0], ax
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb8]
call fcn.00459ead
test al, al
jne 0x445948
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x5b3ce4
push str._s___GetShortPathName_failed___d_
push ebx
push ebx
call fcn.0043a0a0
add esp, 0x14
jmp 0x446946
push ebx
push ebx
lea ecx, [ebp - 0x110]
call fcn.00412449
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 4
call fcn.0042c2d9
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0xf4], esp
push eax
call fcn.0041140f
push str.ClientPlatform
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 6
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 4
call fcn.00416ab1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf4], esp
push 0x554798
call fcn.004113dd
push str.ClientVersion
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 7
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf4], esp
push str.92AACC5BABE0944C
call fcn.004113dd
push str.PropagationChannelId
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 8
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf4], esp
push str.1BC527D3D09985CF
call fcn.004113dd
push str.SponsorId
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 9
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov edx, str.__URL_:__aHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3BzaXBob24vd2ViL21qcjQtcDIzci1wdXdsL3NlcnZlcl9saXN0X2NvbXByZXNzZWQ____OnlyAfterAttempts_:_0___SkipVerify_:_false___URL_:__aHR0cHM6Ly93d3cuZXhwZXJ0Zm1naG9zdGl2eS5jb20vd2ViL21qcjQtcDIzci1wdXdsL3NlcnZlcl9saXN0X2NvbXByZXNzZWQ____OnlyAfterAttempts_:_2___SkipVerify_:_true___URL_:__aHR0cHM6Ly93d3cuc3lzdGVtc2FmYXJpdW5pdmVyc2l0eWRlYnQuY29tL3dlYi9tanI0LXAyM3ItcHV3bC9zZXJ2ZXJfbGlzdF9jb21wcmVzc2Vk____OnlyAfterAttempts_:_2___SkipVerify_:_true___URL_:__aHR0cHM6Ly93d3cucmVzdWx0c3VuaXZlcnNhbHVubGltaXRlZGpoLmNvbS93ZWIvbWpyNC1wMjNyLXB1d2wvc2VydmVyX2xpc3RfY29tcHJlc3NlZA____OnlyAfterAttempts_:_2___SkipVerify_:_true_
mov ecx, esp
mov dword [ebp - 0xf4], esp
call fcn.0045b6ea
push str.RemoteServerListURLs
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0xa
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov edx, str.__URL_:__aHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3BzaXBob24vd2ViL21qcjQtcDIzci1wdXdsL29zbA____OnlyAfterAttempts_:_0___SkipVerify_:_false___URL_:__aHR0cHM6Ly93d3cuZXhwZXJ0Zm1naG9zdGl2eS5jb20vd2ViL21qcjQtcDIzci1wdXdsL29zbA____OnlyAfterAttempts_:_2___SkipVerify_:_true___URL_:__aHR0cHM6Ly93d3cuc3lzdGVtc2FmYXJpdW5pdmVyc2l0eWRlYnQuY29tL3dlYi9tanI0LXAyM3ItcHV3bC9vc2w____OnlyAfterAttempts_:_2___SkipVerify_:_true___URL_:__aHR0cHM6Ly93d3cucmVzdWx0c3VuaXZlcnNhbHVubGltaXRlZGpoLmNvbS93ZWIvbWpyNC1wMjNyLXB1d2wvb3Ns____OnlyAfterAttempts_:_2___SkipVerify_:_true_
mov dword [ebp - 0xf4], esp
mov ecx, esp
call fcn.0045b6ea
push str.ObfuscatedServerListRootURLs
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0xb
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf4], esp
push str.MIICIDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEAt7Ls_39rT6zNW7GiVpJfzq_xvL9SBH5rIFnk0RXYEYavax3WS6HOD35eTAqn8AniOwiHDOkvgSKF2caqk_y1dfq47Pdymtwzp9ikpB1C5OfAysXzBiwVJlCdajBKvBZDerV1cMvRzCKvKwRmvDmHgphQQ7WfXIGbRbmmk6opMBh3roE42KcotLFtqp0RRwLtcBRNtCdsrVsjiI1Lqz_lHT61sGjSjQ3CHMuZYSQJZo_KrvzgQXpkaCTdbObxHqb6_i1qaVOfEsvjoiyzTxJADvSytVtcTjijhPEV6XskJVHE1Zgl7rATr_pDQkw6DPCNBS1Y6fy7GstZALQXwEDN_qhQI9kWkHijT8nsi1vGg00Mk_6J75arLhqcodWsdeG_M_moWgqQAnlZAGVtJI1OgeF5fsPpXu4kctOfuZlGjVZXQNW34aOzm8r8S0eVZitPlbhcPiR4gT_aSMz_wd8lZlzZYsje_Jr8u_YtlwjjreZrGRmG8KMOzukV3lLmMppXFMvl4bxv6YFEmIuTsOhbLTwFgh7KYNjodLj_LsqRVfwz31PgWQFTEPICV7GCvgVlPRxnofqKSjgTWI4mxDhBpVcATvaoBl1L_6WLbFvBsoAUBItWwctO2xalKxF5szhGm8lccoc5MZr8kfE0uxMgsxz4er68iCIDrsCAQM
call fcn.004113dd
push str.RemoteServerListSignaturePublicKey
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0xc
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf4], esp
push str.sHuUVTWaRyh5pZwy4UguSgkwmBe0EHtJJkoF5WrxmvA
call fcn.004113dd
push str.ServerEntrySignaturePublicKey
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0xd
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x88]
call fcn.0042ac28
sub esp, 0x18
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0xf4], esp
push eax
call fcn.0041140f
push str.DataRootDirectory
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0xf
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 4
call fcn.00416ab1
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x88]
call fcn.0042ac28
sub esp, 0x18
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0xf4], esp
push eax
call fcn.0041140f
push str.MigrateDataStoreDirectory
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x11
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.00416ab1
sub esp, 0x18
mov dword [ebp - 0xf4], esp
mov ecx, esp
push ebx
push 5
call fcn.00412449
mov byte [ecx], 1
push str.UseIndistinguishableTLS
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x12
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
lea ecx, [ebp - 0x28]
call fcn.0045bc78
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x88]
call fcn.0042ac28
sub esp, 0x18
mov byte [ebp - 4], 0x14
mov ecx, esp
mov dword [ebp - 0xf4], esp
push eax
call fcn.0041140f
push str.DeviceRegion
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x15
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.00416ab1
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.00427ba9
sub esp, 0x18
mov dword [ebp - 0xf4], esp
mov ecx, esp
push ebx
push 5
call fcn.00412449
mov byte [ecx], 1
push str.EmitDiagnosticNotices
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x16
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov dword [ebp - 0xf4], esp
mov ecx, esp
push ebx
push 5
call fcn.00412449
mov byte [ecx], 1
push str.EmitDiagnosticNetworkParameters
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x17
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov dword [ebp - 0xf4], esp
mov ecx, esp
push ebx
push 5
call fcn.00412449
mov byte [ecx], 1
push str.EmitServerAlerts
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x18
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf4], esp
push str.rEUETzwccjQgKu7BD2nFvQzzY2ppIn3Opdg7cOCTM5L0SId3aaBzXfh9gcS0qgzxTrVYmfuAuxIoWPoutMhuZ2tgAw_3dLLWtAXKdqtQWnPT7nPkcA8ECDwJXubz83e5S11JYiIaMHI8Y7dIdg687YpVKsmqkwEEgxcoPvbyfY3om78poDjDqtGKgk_fvIBbcGdr78NY_yEgXrvdzZpr_5KaoTUEJ8100mbfNoYUvpO3Okxb17BAkG0a1nDryO8vScdOSJqkhfAzGjHnd1G04VchBRGujWlMqkxAo6lP_jFeqw8MoOtAWxR7qaEQQ4piNqDbsH2KwgEsWshNDwbzQ76oJ1_gZek5ppVcs0iJgUoezmLpc3Ix6GJ4c8oYo6V7UZtahBENr1f_FV83Y4WBmLRKu9KGDtTa8KDO1AyaSQK1ZW2WwvFesVJ18YTTyVfQxaKqwiakJL6TTkdk1V_Zp2xGifM69frJm284_kSCLHTPyc_EkgPWKrfYPyTuFNBGQdPrIT17QgPaiQjRANLaoD6pRzOIxr8pteOrJfyMTgfR6bdebIZ39o_KOr_88g5ejJL3Kmz6Uu2LAXJ50ePB3eBgf1wMD8VdSztJJT5xeByXp2mRaWkZVxAakyjXzGud13PgmzOE9FUZEQf7YlpE7wcMwJWa3BIU96yR6Bae7woD39FLUTO48HWB2w2MWytit90TNx4m0Q2WifU7t650ZfP9QjxxrH_vTiWjb3Ui7Tha1wfVCwubwuI4YgoBzfWuETOuMZiqQQZHNZgf1uM73mwKwzvzGqC1bsYmKYxdWWviR1l9oSRhsHkwLR68jwVnwssUxAdLAzA4R1_3ryyoQi0yTxLObOuGHElS_HNR8RaLL6JmTv5dRYLq1oRAjtpTuZX0AhzY9F1bj1zSlRHfwep5F5gKS5ybadl2EWeNQf4wL1WWTbItcM7NZGmgefSVMQZuKtrO3AvoUdLWM4G6DfiPSzeuF5PiNFgyG10Ap2ikiEevbOJhm0grHPPOy4amZXOJxPMt90fmzhpXKfEOXUd5NATwPgQmhuxkyGHH4ZN7SUX0ryKoReGyLKgxgcs8rHN38C2uGeXj0qRKNxD60qVEuzwQqw_prtOGs955iy5w4a2rW1am5Ff4w2M6nSZ1U6NoMO_wg0jzj7mGZjHdrUkzyWT4WlbuCnEHLQZVmIJNuICKEx2jPsBl8ZauA5q3Z6BGGcqT5xuCynvLElpU6t_yXooaMwjmeN5mpfnLVj5kVbnRY_kZwpCMSrqMOlzGRa9A0d3olThF6fmQgWr4AullB0hmZ4MSW09ayn40T9WQ4AsfyvK1BmpDLbFrLak_u0VtDS2_fP9zr0h8eFIO8IQbxCTVMRQ932nKUhWjO9l_onU9GLgffjPf4Tpf2VEvdLL2JFJ3TB2XvzFJhqTdPVAErSpxVgZwtrFafY6h2LPmXz3oHMJ7qcZBfUAy7ZTkE7DxHfSlM5CHXKYlqvSAuWSNgG_HuGFpMT42Uu3rXnjqy3WO7jXRwoUIdhCTqTckOqElmNJuapJ4EBooAfGRiQq4Fd3sKBD9qOIecT96aNCIK7Hx1bQC7zoETca34f3VKX3sH2fUM5guTLNfRElifvcFaVdQIJaxY0NlENgWZ3AQsKEwHzZQKxUkWutekDeJyeIytNEOxRs1vYb3jjD0BIeVcaSSvA5PvKV6laxyPzds_WHKYxddx9LI1WQvsEN5nvvvmUvwiVlUzJs4d8FoJD1i3uTi0mRydLgr0k6aPSnjH0JJBdCMSzawx7JpfbyElxOVyF7nygJNf823BJFp7ryMSAy0isz2F4v8eyTKydNYkZnCVjjQA_y7ILcaix1XNy1Cm7aeQwyrHDujHkjwfMsdU3ACqzsDWVTeByEfUrhKIA111eX0QPtDUjc6aEdQKgEWicwIcAqcN7PfkmCYV8P2PYfUpJ42DUB8LjnFj0SlERD24SKhKaPrZKwX79DdhtjaoVy6a2g43N_p0HhPUMI_j7Rjz5k0iAdBS5scGERsmlqgwjxJq3rlrojm3N_7as_0UsN_SZpG8ZGXVHsjuMSzlwq56ZaiqM6sp1UsiPjGpskEconemJGj_0MnqyvWjnqyfPwso0LxEeSORigJ9XUXCeM6qeK1v98NyPqS_fU47A3LXflPk8JP8HI51j7ZZtEUP8APGizZX6yl8ECqHf7NTkhRI3CG_mYYZVuwoMr_dqu4HU1PPmV_W_jcVHX9XWy0g1vZngSJ8RQAriVXHzUk5tN8Ipsnf4T7fqQ1_WJfp7DkDBgI7fSwHeD0gZCQIjuV0zUX5olSXWxQIU93D6TqJfZkoyQWoYgHtT9lNMGZvHr9TzpauAYxVDQ6F5sdKLCYT9xb4SNifGTW3aXB5_yQf5eiD3ZE_b0shQCUh7AsGT5n8JEyGWQ_fBzOP3kspts0ixCKjoIAS8IBTDxhbUdhKiONKHt6U_tklyFeWFNBbPJGMIsaakKKRds_MVAckMFAE22Xusj0EjkggjJGH3R6pHtFYl5ydKVcCkGFBdeOAiKI4JRMSkx_VaXEepu2mFeWKaDyGVnwoOcPfz4gI8JsfNev1G6UEaVWy89YcXs8IZaCZqizVM5ObEiuGIUuIqW3DOcZB31JqChOR1AeH3cKemJTlMa8ZOYD6EFKtB1nKnIhuYnn6hpodWE6zVVnYs1zErE7yIXsCzjN0qFcFGlKeC3UeSmxwls79P7Y8IV4IzR_BaxAl9UomXRXJDpRQ9OJaa_gDanMup63aWFUdsLfnRIXylaQenbN9HBm47LuTzFClhShIGBpqWVClIizOS2KjGgJd0wblHHKEun6HZh9nPMh09KkomrT7DS7PnoBh7oJirKxuxS3JKG0GnffQg5CEcW7cPwsc2eMldxqRjSABW5ikZnMYuCLWQZalu9zRQgcGOVRwbweHRSqdceoxvs8LgNnL6a7RcAWrvICXU6_FWkIoj2mztyv_QhpVA6mItAM_FWiWPs_567bR6xm4hud9PuoQvu72rcM4Cr6YaXZSf7_GIFvoFtPpcCHUtUeOgo9D9rQNvxVitKULFVFLzYoZtF3lliFATMn1QChGnQx7jIIbmsB5L4apF6ECarpgwJ5R6Mlplm5GVTNTSxE6GF5RUhc55jPvJRN6dNm70zyhC6k6PtD0rzvrylLVRy80TBKl11REa6v_S5sXcJL_23zLMzJBYihjy89s59uUg5xRPcXMdwE0HgtZKFp2TMc7bB9boJvsJPYbiIU044wwYGnyjnY1tL_SGwzFsFPS3bO7e_Ni1qbTtLRxgofbH0kJJ0JvKUgulm7zoiU0P_jGQ6Eejftjst4FrnqPuhSVyHq35wPkArXuq9aKmoTPp429HZwT_a_LjRvC51vSeIevg52FU8IOyZVv6kswrBeMcxVA0NhAr8R1HrqMt863jBOut2MEm1oebmdxs3gaTepUqy99iKSTDbi4357PUqlEQz24s390T0rrucOlD6Q_vG47AlE4UGnUD5eEkqqjs1U7_ZFyPWeMxBR9joIFy3bCJbUWq1Kn0sp8l5kFndlww2o8lr7O8ZGj2Sz5Ah6YNNTYP1MiAG4VBat3T9NBmW5CxwA9inw2RacDD8U5Ev05ZZPafeEnNqNDQvuaJDhqLNiHbggOppQwfQ5txnNyE6kNImhREvfPvKOyC4vytFilXHp08CfyeoOOQnB3GmVtBWUdlTrDnAGMKHvlzTdhwWBi4ZM6iqGrwbAxRCEc4O4MFxEIUVhWusaR7VxT3wTxWwnwGb0Pld4yH_4Bt9LgAlmlmB6p_drVAnB8Ghj2OaAJGpY93mi_rOK79Uouu9IPyiFj7YRQtgAUhaGI2NiAQvJW9X__2m09WOlM8uPhrKEyC73pGu4YoLQ2z4hS8FbhQW6fmhnJ2HqVPqjaxifqvXXQZj6SS7hqKJaiJDeV7bc7jRQYPuZ0Wy0qb3NJuAFvipQ7qsLb3jO41Nr1NG7g8OIQmtoDNEqI7YDaxEGAEqZyGTaEgM_hFuTYtm
call fcn.004113dd
push str.AdditionalParameters
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x19
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
mov ecx, dword [0x5e8620]
test ecx, ecx
je 0x445d51
mov eax, dword [ecx]
call dword [eax + 0x3c]
test al, al
je 0x445d51
push ecx
mov ecx, dword [0x5e8620]
call fcn.00455d58
test al, al
jne 0x445d84
sub esp, 0x18
lea eax, [edi + 0x1c]
mov ecx, esp
mov dword [ebp - 0xf4], esp
push eax
call fcn.0041140f
push str.UpstreamProxyUrl
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x1a
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
call fcn.004585ce
test al, al
je 0x445dc2
sub esp, 0x18
mov dword [ebp - 0xf4], esp
mov ecx, esp
push ebx
push 5
call fcn.00412449
mov byte [ecx], 1
push str.SplitTunnelOwnRegion
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x1b
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
call fcn.0045860f
test al, al
je 0x445dff
sub esp, 0x18
mov edx, str.__CN____HK__
mov ecx, esp
mov dword [ebp - 0xf4], esp
call fcn.0045b6ea
push str.SplitTunnelRegions
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x1c
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
call fcn.00458650
test al, al
je 0x445e46
sub esp, 0x18
mov dword [ebp - 0xf4], esp
mov ecx, esp
push ebx
push 3
call fcn.00412449
movsd xmm0, qword [0x5bad08]
movsd qword [ecx], xmm0
push str.NetworkLatencyMultiplierLambda
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x1d
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
push ebx
lea ecx, [ebp - 0x28]
call fcn.0041136d
push ecx
lea ecx, [edi + 0x38]
mov byte [ebp - 4], 0x1e
call fcn.004116cc
mov bl, al
mov byte [ebp - 4], 4
neg bl
lea ecx, [ebp - 0x28]
sbb bl, bl
call fcn.0041159b
add bl, 1
je 0x445ea6
sub esp, 0x18
lea eax, [edi + 0x38]
mov ecx, esp
mov dword [ebp - 0xf4], esp
push eax
call fcn.00411451
push str.Authorizations
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x1f
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf4], esp
push str.949F2E962ED7A9165B81E977A3B4758B
call fcn.004113dd
push str.NetworkID
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x20
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov edx, str.__URL_:__aHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3BzaXVwbG9hZC8____RequestHeaders_:__x_amz_acl_:___bucket_owner_full_control____OnlyAfterAttempts_:_0___SkipVerify_:_false___URL_:__aHR0cHM6Ly93d3cucmViZWxzeXN0ZW1ydW5uZXJjb21lZHkuY29tLmdsb2JhbC5wcm9kLmZhc3RseS5uZXQv____RequestHeaders_:__x_amz_acl_:___bucket_owner_full_control____OnlyAfterAttempts_:_2___SkipVerify_:_true___URL_:__aHR0cHM6Ly93d3cuZ3JhcGhpY3dvcmtlcmFtYS5jb20uZ2xvYmFsLnByb2QuZmFzdGx5Lm5ldC8____RequestHeaders_:__x_amz_acl_:___bucket_owner_full_control____OnlyAfterAttempts_:_2___SkipVerify_:_true___URL_:__aHR0cHM6Ly93d3cuc2FmYXJpZ29sZnJlYWxlc3RhdGVtb25zdGVyLmNvbS5nbG9iYWwucHJvZC5mYXN0bHkubmV0Lw____RequestHeaders_:__x_amz_acl_:___bucket_owner_full_control____OnlyAfterAttempts_:_2___SkipVerify_:_true_
mov ecx, esp
mov dword [ebp - 0xf4], esp
call fcn.0045b6ea
push str.FeedbackUploadURLs
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x21
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf4], esp
push str.MIICIDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEAxltZsddAqX0qE4dKX7QfcPfoGbvs6DAxkwY5Cb7mcWW9YpNesOdbaq0kmDEeUDnMYIVEnUnNLFSOpF_CvjvZ1WQpxYy2sE_ulQUXO9XCtoucM4jaZIKza9TPNUsWaiiMC86UOO6kjZLRodosXwgdykfbn0GGOy90urkMTygSi1JmnUjDqHXNr8mgVS_9qTMX68N598CjzU3zeBJi5Rh2wChRzMDw7y0umJ_xJ7vevJOmEp5qGg4J4x5hMAagG1AF4SDgXwVdSKcwcRoeUUxmmWRgyirPJdEgyLCFNX0Z1LhWmBKz8aq7d5eEIoIxjmRu4O9AfB_ngvNwapIBSDj_STPszsluH2lIGY9nDBVxKZqQ8oGjDQMoFedzRu2z2dkVYqCoN7Lfve3JTku1MxsIylh679emW9d1FI5vLWicBrusmRStSB7z4CUuqZEa8GYKNGM0A1Axkdz9y_Dv4NB6cEw01szEXl_9hJxKh8MStLCFZ1eNaokrcbxnPGHDdZSqGmV3x8eRy1GvQv0xRnoRpyaqdmQvjb7XupiTD5GT7PjAwXTN4kJtm39DyIEwKmmXWcFQtn6JWefwRbcXwKKDjj99QssyYQp7EPiv_QwUAMnHTN2CrWYXEhbBHBkdgxkioPJ47j8nXxydXPBKXcnCruQ4ICEmrsECAQM
call fcn.004113dd
push str.FeedbackEncryptionPublicKey
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x22
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
xor ebx, ebx
mov dword [ebp - 0xf4], esp
mov ecx, esp
push ebx
push 5
call fcn.00412449
mov byte [ecx], 1
push str.EnableFeedbackUpload
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x23
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
cmp dword [edi + 0x50], ebx
jne 0x446479
cmp byte [edi], bl
jne 0x446479
lea ecx, [ebp - 0x58]
call fcn.00459104
sub esp, 0x18
mov byte [ebp - 4], 0x31
mov ecx, esp
mov dword [ebp - 0xf4], esp
push eax
call fcn.0041140f
push str.EgressRegion
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x32
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x31
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.00416ab1
call fcn.0045871a
mov dword [ebp - 0xf4], eax
call fcn.00458763
cmp dword [ebp - 0xf4], 0
mov ebx, eax
jbe 0x446001
push str.Setting_LocalHttpProxyPort_to_a_user_configured_value
push 1
push 0
call fcn.0043a0a0
add esp, 0xc
test ebx, ebx
je 0x446016
push str.Setting_LocalSocksProxyPort_to_a_user_configured_value
push 1
push 0
call fcn.0043a0a0
add esp, 0xc
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf8], esp
push dword [ebp - 0xf4]
call fcn.00411388
push str.LocalHttpProxyPort
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x33
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf8], esp
push ebx
call fcn.00411388
push str.LocalSocksProxyPort
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x34
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
call fcn.004587ac
test al, al
je 0x446100
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf8], esp
push 0x5b41f0
call fcn.004113dd
push str.ListenInterface
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x35
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov edx, str.__listen_interface_any__
mov ecx, esp
mov dword [ebp - 0xf8], esp
call fcn.0045b6ea
push str.ClientFeatures
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x36
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
push str.Setting_ListenInterface_to_any
push 1
xor ebx, ebx
push ebx
call fcn.0043a0a0
add esp, 0xc
jmp 0x446102
xor ebx, ebx
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x58]
call fcn.00446cdd
push str.remote_server_list
mov ecx, eax
mov byte [ebp - 4], 0x37
call fcn.0044696c
push eax
lea ecx, [ebp - 0x88]
call fcn.0042669f
push ebx
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x39
call fcn.00427ba9
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x88]
call fcn.00446be8
mov edx, eax
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x40]
call fcn.0042ac28
sub esp, 0x18
mov byte [ebp - 4], 0x3b
mov ecx, esp
mov dword [ebp - 0xf8], esp
push eax
call fcn.0041140f
push str.MigrateRemoteServerListDownloadFilename
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x3c
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x3b
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00416ab1
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00427ba9
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
push 0x5b4288
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x3d
call fcn.00426582
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x40]
mov byte [ebp - 0xf4], bl
lea ecx, [ebp - 0x34]
push dword [ebp - 0xf4]
mov dword [ebp - 0x34], ebx
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp - 0x2c], ebx
call fcn.0043c5da
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
push eax
xor dl, dl
lea ecx, [ebp - 0x34]
call fcn.004598a5
pop ecx
lea ecx, [ebp - 0x34]
mov bl, al
call fcn.00424933
push 0x427b7d
push 1
push 0x18
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x3d
push eax
call fcn.004e42b8
test bl, bl
je 0x446276
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x70]
call fcn.0042ac28
sub esp, 0x18
mov byte [ebp - 4], 0x40
mov ecx, esp
mov dword [ebp - 0xf8], esp
push eax
call fcn.0041140f
push str.MigrateObfuscatedServerListDownloadDirectory
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x41
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x40
call fcn.0041163b
xor ebx, ebx
mov byte [ebp - 4], 0x3d
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00416ab1
jmp 0x446278
xor ebx, ebx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x58]
call fcn.00446cdd
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x42
push ecx
push str.psiphon3.exe.upgrade
mov ecx, eax
call fcn.0044696c
mov ecx, eax
call fcn.00420367
push eax
lea ecx, [esi + 0x30]
call fcn.00427b2c
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00427ba9
push ebx
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x3d
call fcn.00427ba9
lea edx, [esi + 0x30]
lea ecx, [ebp - 0x70]
call fcn.0042ac28
sub esp, 0x18
mov byte [ebp - 4], 0x43
mov ecx, esp
mov dword [ebp - 0xf8], esp
push eax
call fcn.0041140f
push str.MigrateUpgradeDownloadFilename
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x44
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x43
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x3d
call fcn.00416ab1
push str.x_amz_meta_psiphon_client_version
lea ecx, [ebp - 0x40]
call fcn.004147d9
sub esp, 0x18
mov byte [ebp - 4], 0x45
mov ecx, esp
mov dword [ebp - 0xf8], esp
push eax
call fcn.0041140f
push str.UpgradeDownloadClientVersionHeader
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x46
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x45
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x3d
call fcn.00416ab1
sub esp, 0x18
mov edx, str.__URL_:__aHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3BzaXBob24vd2ViL21qcjQtcDIzci1wdXdsL3BzaXBob24zLmV4ZS51cGdyYWRl____OnlyAfterAttempts_:_0___SkipVerify_:_false___URL_:__aHR0cHM6Ly93d3cuZXhwZXJ0Zm1naG9zdGl2eS5jb20vd2ViL21qcjQtcDIzci1wdXds____OnlyAfterAttempts_:_2___SkipVerify_:_true___URL_:__aHR0cHM6Ly93d3cuc3lzdGVtc2FmYXJpdW5pdmVyc2l0eWRlYnQuY29tL3dlYi9tanI0LXAyM3ItcHV3bA____OnlyAfterAttempts_:_2___SkipVerify_:_true___URL_:__aHR0cHM6Ly93d3cucmVzdWx0c3VuaXZlcnNhbHVubGltaXRlZGpoLmNvbS93ZWIvbWpyNC1wMjNyLXB1d2w____OnlyAfterAttempts_:_2___SkipVerify_:_true_
mov ecx, esp
mov dword [ebp - 0xf8], esp
call fcn.0045b6ea
push str.UpgradeDownloadURLs
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x47
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x3d
call fcn.0041163b
call fcn.0045c57d
test al, al
je 0x4463c7
push str.Legacy_OS_detected__disabling_upgrade_via_tunnel_core
push ebx
push ebx
call fcn.0043a0a0
sub esp, 0xc
mov dword [ebp - 0xf8], esp
mov ecx, esp
push ebx
push 5
call fcn.00412449
mov byte [ecx], bl
mov byte [ebp - 4], 0x48
jmp 0x4463e1
sub esp, 0x18
mov dword [ebp - 0xf8], esp
mov ecx, esp
push ebx
push 5
call fcn.00412449
mov byte [ecx], 1
mov byte [ebp - 4], 0x49
push str.EnableUpgradeDownload
lea ecx, [ebp - 0x110]
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x3d
call fcn.0041163b
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x58]
call fcn.00446cdd
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x4a
push ecx
push str.upgrade
push str.ca.psiphon.PsiphonTunnel.tunnel_core
mov ecx, eax
call fcn.0044696c
mov ecx, eax
call fcn.0044696c
mov ecx, eax
call fcn.00420367
mov esi, dword [ebp - 0x114]
push eax
lea ecx, [esi + 0x48]
call fcn.00427b2c
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00427ba9
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.00427ba9
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.00427ba9
push ebx
push 1
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 4
call fcn.00427ba9
jmp 0x446743
sub esp, 0x18
mov dword [ebp - 0xf8], esp
mov ecx, esp
push ebx
push 5
call fcn.00412449
mov byte [ecx], 1
push str.DisableApi
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x24
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
sub esp, 0x18
mov dword [ebp - 0xf8], esp
mov ecx, esp
push ebx
push 5
call fcn.00412449
mov byte [ecx], 1
push str.DisableRemoteServerListFetcher
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x25
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0041163b
mov ecx, dword [edi + 0x50]
lea eax, [ebp - 0x28]
push eax
call fcn.004497b7
mov byte [ebp - 4], 0x26
lea edx, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x70]
push dword [ebp - 0x18]
cmovae edx, dword [ebp - 0x28]
call fcn.0045b1d8
sub esp, 0x14
mov byte [ebp - 4], 0x27
mov ecx, esp
mov dword [ebp - 0xf8], esp
push eax
call fcn.0041140f
push str.TargetServerEntry
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x28
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x27
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x26
call fcn.00416ab1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf8], esp
push 0x550335
call fcn.004113dd
push str.EgressRegion
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x29
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.0041163b
cmp byte [edi], 0
je 0x4466dd
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x58], ax
xor edx, edx
mov byte [ebp - 4], 0x2a
inc edx
lea ecx, [ebp - 0x58]
call fcn.00459b3a
test al, al
jne 0x4465c9
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x5b3ce4
push str._s___GetUniqueTempDir_failed___d_
push ebx
push ebx
call fcn.0043a0a0
add esp, 0x14
jmp 0x446612
xor eax, eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], ax
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x58]
call fcn.00459ead
test al, al
jne 0x44662d
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x5b3ce4
push str._s___GetShortPathName_failed___d_
push ebx
push ebx
call fcn.0043a0a0
add esp, 0x14
lea ecx, [ebp - 0x40]
push ebx
push 1
call fcn.00427ba9
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.00427ba9
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.00416ab1
jmp 0x44693b
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x70]
call fcn.0042ac28
sub esp, 0x18
mov byte [ebp - 4], 0x2c
mov ecx, esp
mov dword [ebp - 0xf8], esp
push eax
call fcn.0041140f
push str.DataRootDirectory
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x2d
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x2c
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x2b
call fcn.00416ab1
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x70]
call fcn.0042ac28
sub esp, 0x18
mov byte [ebp - 4], 0x2e
mov ecx, esp
mov dword [ebp - 0xf8], esp
push eax
call fcn.0041140f
push str.MigrateDataStoreDirectory
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x2f
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x2e
call fcn.0041163b
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00416ab1
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00427ba9
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.00427ba9
jmp 0x44670e
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf8], esp
push 0x14
call fcn.0041136d
push str.EstablishTunnelTimeoutSeconds
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x30
call fcn.004126d5
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.0041163b
lea eax, [esi + 0x30]
cmp dword [eax + 0x14], 8
mov dword [eax + 0x10], ebx
jb 0x44671c
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
lea eax, [esi + 0x48]
cmp dword [eax + 0x14], 8
mov dword [eax + 0x10], ebx
jb 0x44672f
mov eax, dword [eax]
xor ecx, ecx
mov byte [ebp - 4], 4
push ebx
mov word [eax], cx
lea ecx, [ebp - 0x28]
push 1
call fcn.00416ab1
push 1
push 2
lea ecx, [ebp - 0x1ac]
call fcn.004148b3
lea ecx, [ebp - 0xf0]
call fcn.0041343f
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x4c
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0041345e
push eax
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0x4d
push eax
call fcn.004198b6
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x4c
call fcn.00416ab1
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00446cdd
lea eax, [edi + 4]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [ebp - 0xd0]
call fcn.004469aa
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00420367
push eax
mov ecx, esi
call fcn.00427b2c
push ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.00427ba9
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.00414854
mov edx, eax
mov byte [ebp - 4], 0x4f
mov ecx, esi
call fcn.00459f2d
mov bl, al
mov byte [ebp - 4], 0x4e
push 0
neg bl
lea ecx, [ebp - 0x28]
push 1
sbb bl, bl
call fcn.00416ab1
add bl, 1
je 0x44683b
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x5b3ce4
push str._s___write_config_file_failed___d_
push 0
push 0
call fcn.0043a0a0
add esp, 0x14
xor bl, bl
jmp 0x446916
cmp byte [edi], 0
jne 0x446914
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x70]
call fcn.00446cdd
push str.server_list.dat
mov ecx, eax
mov byte [ebp - 4], 0x50
call fcn.0044696c
push eax
lea ecx, [ebp - 0x28]
call fcn.0042669f
push 0
push 1
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x52
call fcn.00427ba9
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x28]
call fcn.00420367
push eax
lea ecx, [esi + 0x18]
call fcn.00427b2c
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.00427ba9
push dword [0x5e82fc]
lea ecx, [ebp - 0x88]
call fcn.004147d9
lea edx, [ebp - 0x88]
mov byte [ebp - 4], 0x53
lea ecx, [esi + 0x18]
call fcn.00459f2d
mov bl, al
mov byte [ebp - 4], 0x52
push 0
neg bl
lea ecx, [ebp - 0x88]
push 1
sbb bl, bl
call fcn.00416ab1
add bl, 1
je 0x446908
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x5b3ce4
push str._s___write_server_list_file_failed___d_
xor ebx, ebx
push ebx
push ebx
call fcn.0043a0a0
add esp, 0x14
lea ecx, [ebp - 0x28]
push ebx
push 1
call fcn.00427ba9
jmp 0x446916
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00427ba9
mov bl, 1
push 0
push 1
lea ecx, [ebp - 0xd0]
call fcn.00427ba9
lea ecx, [ebp - 0xf0]
call fcn.0040f5b8
lea ecx, [ebp - 0x1ac]
call fcn.00410e46
lea ecx, [ebp - 0x110]
call fcn.0041159b
push 0
push 1
lea ecx, [ebp - 0xa0]
call fcn.00427ba9
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00427ba9
mov al, bl
call fcn.004e497c
ret