Function at 0x494c55
Capabilities:
Check http status code

Disassembly:
push 0x1ac
mov eax, 0x52c0cd
call fcn.004dad4b
mov edi, ecx
mov dword [ebp - 0x178], edi
mov ebx, dword [ebp + 8]
xor esi, esi
cmp byte [edi + 9], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1a8], ebx
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1b4], esi
jne 0x494d1f
push str.RefreshState
lea ecx, [ebp - 0x10c]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibpsicash.cpp
lea ecx, [ebp - 0x74]
mov dword [ebp - 4], esi
call fcn.004180bb
push str.PsiCash_is_uninitialized
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 1
call fcn.004180bb
push 0x265
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x74]
xor edi, edi
push eax
lea eax, [ebp - 0x5c]
inc edi
push eax
push edi
lea ecx, [ebp - 0x24]
call fcn.00488974
push eax
mov ecx, ebx
mov byte [ebp - 4], 3
call fcn.004909e8
lea ecx, [ebp - 0x20]
call fcn.004235d4
push esi
push edi
lea ecx, [ebp - 0x5c]
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0x74]
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0x10c]
call fcn.0041a391
jmp 0x4958a4
mov ecx, dword [edi + 0x58]
lea eax, [ebp - 0x184]
push eax
call fcn.004a6157
cmp dword [ebp - 0x180], 0
mov dword [ebp - 4], 4
jne 0x494eda
mov ecx, dword [edi + 0x58]
call fcn.004a61fd
test al, al
je 0x494d63
lea eax, [ebx + 4]
mov byte [ebx], 1
test eax, eax
je 0x495899
mov dword [eax], esi
jmp 0x495899
cmp byte [ebp + 0x10], 0
jne 0x494dfe
push str.RefreshState
lea ecx, [ebp - 0x74]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibpsicash.cpp
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 5
call fcn.004180bb
push str.failed_to_obtain_valid_tracker_tokens__a_
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 6
call fcn.004180bb
push 0x276
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x10c]
push eax
push 1
lea ecx, [ebp - 0x24]
call fcn.00488974
push eax
mov ecx, ebx
mov byte [ebp - 4], 8
call fcn.004909e8
lea ecx, [ebp - 0x20]
call fcn.004235d4
xor edi, edi
lea ecx, [ebp - 0x10c]
push esi
inc edi
push edi
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0x5c]
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0x74]
call fcn.0041a391
jmp 0x495899
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.0049464a
cmp byte [ebp - 0x40], 0
mov byte [ebp - 4], 9
jne 0x494ead
push str.RefreshState
lea ecx, [ebp - 0x5c]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibpsicash.cpp
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
call fcn.004180bb
push str.NewTracker_failed
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xb
call fcn.004180bb
push 0x27c
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00488af2
push eax
mov ecx, ebx
call fcn.004909e8
push esi
push 1
lea ecx, [ebp - 0x10c]
call fcn.0041a391
xor edi, edi
lea ecx, [ebp - 0x2c]
push esi
inc edi
push edi
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0x5c]
call fcn.0041a391
cmp byte [ebp - 0x40], 0
jne 0x495899
lea ecx, [ebp - 0x38]
call fcn.004235d4
jmp 0x495899
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x494ec9
lea eax, [ebx + 4]
mov byte [ebx], 1
test eax, eax
je 0x495899
mov dword [eax], ecx
jmp 0x495899
push esi
push dword [ebp - 0x19c]
mov ecx, edi
push ebx
call fcn.00494c55
jmp 0x494e96
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x18c], esi
mov eax, dword [ebp - 0x19c]
mov byte [ebp - 4], 0xd
mov edi, dword [eax + 4]
mov esi, dword [eax]
jmp 0x494f11
push esi
push 0x530f18
lea ecx, [ebp - 0x194]
call fcn.0048e7c6
add esi, 0x18
cmp esi, edi
jne 0x494efd
push str._refresh_state
lea ecx, [ebp - 0x124]
call fcn.004180bb
push 0x530d20
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xe
call fcn.004180bb
mov ecx, dword [ebp - 0x178]
lea eax, [ebp - 0x194]
push eax
push 1
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.00492ac7
xor esi, esi
lea ecx, [ebp - 0x10c]
xor edi, edi
push esi
inc edi
push edi
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x12
call fcn.0041a391
cmp byte [ebp - 0xf4], 0
jne 0x495007
push str.RefreshState
lea ecx, [ebp - 0x5c]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibpsicash.cpp
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x13
call fcn.004180bb
push str.MakeHTTPRequestWithRetry_failed
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x14
call fcn.004180bb
push 0x297
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00488af2
push eax
mov ecx, ebx
call fcn.004909e8
lea ecx, [ebp - 0x2c]
push esi
push edi
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0x44]
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0x5c]
jmp 0x495868
mov eax, dword [ebp - 0xf0]
cmp eax, 0xc8
jne 0x49576d
cmp dword [ebp - 0xdc], 0
jne 0x495098
push str.RefreshState
lea ecx, [ebp - 0x5c]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibpsicash.cpp
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x16
call fcn.004180bb
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x8c]
push str.result_has_no_body__code:
push eax
call fcn.004a1aa0
add esp, 0xc
push 0x29d
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x18
push ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
push edi
lea ecx, [ebp - 0x24]
call fcn.00488974
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x19
call fcn.004909e8
lea ecx, [ebp - 0x20]
call fcn.004235d4
lea ecx, [ebp - 0x8c]
jmp 0x494fec
mov eax, dword [ebp - 0x178]
mov byte [ebp - 4], 0x1a
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x198], eax
lea ecx, [eax + 8]
call fcn.004a329b
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x1a4]
call fcn.0048c5ef
push edi
sub esp, 0x28
mov byte [ebp - 4], 0x1c
mov eax, esp
mov dword [eax + 0x24], esi
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00497acf
add esp, 0x34
mov ecx, dword [ebp - 0x1a0]
mov byte [ebp - 4], 0x1e
test ecx, ecx
je 0x4950fc
call fcn.004360d0
push str.TokensValid
lea ecx, [ebp - 0x54]
call fcn.0044489b
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.0048ece3
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax + 0x58]
call fcn.004a5eeb
lea ecx, [ebp - 0x20]
call fcn.004235d4
cmp dword [ebp - 0x1ac], 0
je 0x495289
push str.IsAccount
lea ecx, [ebp - 0x54]
call fcn.0044489b
cmp byte [eax], 4
jne 0x495289
mov ecx, dword [ebp - 0x178]
call fcn.00492a8c
push str.IsAccount
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x185], al
call fcn.0044489b
lea ecx, [ebp - 0x17c]
push ecx
push eax
call fcn.0048eaa6
cmp byte [ebp - 0x185], 0
mov eax, dword [ebp - 0x17c]
pop ecx
pop ecx
je 0x49526e
test al, al
jne 0x49526e
push str.RefreshState
lea ecx, [ebp - 0x8c]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibpsicash.cpp
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x20
call fcn.004180bb
push str.invalid_is_account_state
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x21
call fcn.004180bb
push 0x2b2
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x74]
push eax
push edi
lea ecx, [ebp - 0x24]
call fcn.00488974
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x23
call fcn.004909e8
lea ecx, [ebp - 0x20]
call fcn.004235d4
push esi
push edi
lea ecx, [ebp - 0x74]
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0xa4]
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0x8c]
call fcn.0041a391
lea ecx, [ebp - 0x1b0]
call fcn.0043998b
push dword [ebp - 0x54]
lea ecx, [ebp - 0x4c]
call fcn.0043408e
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0x198]
call fcn.00495b97
lea ecx, [ebp - 0x38]
call fcn.004235d4
jmp 0x49586d
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax + 0x58]
call fcn.004a68ef
lea ecx, [ebp - 0x20]
call fcn.004235d4
push str.Balance
lea ecx, [ebp - 0x54]
call fcn.0044489b
mov al, byte [eax]
cmp al, 5
je 0x4952a0
cmp al, 6
jne 0x4952e2
push str.Balance
lea ecx, [ebp - 0x54]
call fcn.0044489b
lea ecx, [ebp - 0x1a4]
push ecx
push eax
call fcn.0048eaa1
pop ecx
pop ecx
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x24]
push dword [ebp - 0x1a4]
push eax
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax + 0x58]
call fcn.004a679a
lea ecx, [ebp - 0x20]
call fcn.004235d4
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x495442
push str.PurchasePrices
lea ecx, [ebp - 0x54]
call fcn.0044489b
cmp byte [eax], 2
jne 0x495442
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
push str.PurchasePrices
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x25
call fcn.0044489b
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x17c], eax
call fcn.00490b60
lea ecx, [ebp - 0x3c]
call fcn.00498aca
push dword [ebp - 0x17c]
lea ecx, [ebp - 0x24]
call fcn.00490b60
lea ecx, [ebp - 0x24]
call fcn.00498aff
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00491862
test al, al
jne 0x495418
lea ecx, [ebp - 0x3c]
call fcn.004919eb
push str.Class
mov ecx, eax
mov dword [ebp - 0x17c], eax
call fcn.0048c75f
lea ecx, [ebp - 0x15c]
push ecx
mov ecx, eax
call fcn.0048ec56
mov ecx, dword [ebp - 0x17c]
push str.Distinguisher
mov byte [ebp - 4], 0x26
call fcn.0048c75f
lea ecx, [ebp - 0x144]
push ecx
mov ecx, eax
call fcn.0048ec56
mov ecx, dword [ebp - 0x17c]
push str.Price
mov byte [ebp - 4], 0x27
call fcn.0048c75f
lea ecx, [ebp - 0x1a4]
push ecx
push eax
call fcn.0048eaa1
mov eax, dword [ebp - 0x1a4]
pop ecx
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x1a0]
pop ecx
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x68]
call fcn.00498300
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x25
call fcn.0043e5c8
lea ecx, [ebp - 0x3c]
call fcn.004a229d
jmp 0x495350
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax + 0x58]
call fcn.004a6ba3
lea ecx, [ebp - 0x20]
call fcn.004235d4
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x1f
call fcn.00444568
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x198]
call fcn.00495b97
cmp byte [ebp - 0x3c], 0
mov byte [ebp - 4], 0x29
je 0x49551c
push str.RefreshState
lea ecx, [ebp - 0x74]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibpsicash.cpp
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x2a
call fcn.004180bb
push str.UserData_write_failed
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x2b
call fcn.004180bb
push 0x2cf
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x2c
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00488af2
push eax
mov ecx, ebx
call fcn.004909e8
push esi
push edi
lea ecx, [ebp - 0x8c]
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0xa4]
call fcn.0041a391
push esi
push edi
lea ecx, [ebp - 0x74]
call fcn.0041a391
lea ecx, [ebp - 0x38]
call fcn.004235d4
lea ecx, [ebp - 0x1b0]
call fcn.0043998b
push dword [ebp - 0x54]
lea ecx, [ebp - 0x4c]
call fcn.0043408e
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0x198]
call fcn.00495b97
lea ecx, [ebp - 0x20]
jmp 0x495264
lea ecx, [ebp - 0x38]
call fcn.004235d4
lea ecx, [ebp - 0x1b0]
call fcn.0043998b
push dword [ebp - 0x54]
lea ecx, [ebp - 0x4c]
call fcn.0043408e
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0x198]
call fcn.00495b97
lea ecx, [ebp - 0x20]
call fcn.004235d4
mov edi, dword [ebp - 0x178]
mov ecx, edi
mov dword [ebp - 4], 0x12
call fcn.00492a8c
test al, al
je 0x495582
lea eax, [ebx + 4]
mov byte [ebx], 1
test eax, eax
je 0x49586d
mov dword [eax], esi
jmp 0x49586d
lea eax, [ebp - 0x68]
mov ecx, edi
push eax
call fcn.00495bb5
lea ecx, [ebp - 0x68]
mov edi, dword [eax]
mov esi, dword [eax + 4]
call fcn.0041a284
cmp edi, esi
je 0x4955b0
lea eax, [ebx + 4]
mov byte [ebx], 1
test eax, eax
je 0x49586d
xor esi, esi
jmp 0x49557b
cmp byte [ebp + 0x10], 0
jne 0x49564e
push str.RefreshState
lea ecx, [ebp - 0x44]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibpsicash.cpp
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x34
call fcn.004180bb
push str.failed_to_obtain_valid_tracker_tokens__b_
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x35
call fcn.004180bb
push 0x2e4
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x36
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x8c]
push eax
push 1
lea ecx, [ebp - 0x24]
call fcn.00488974
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x37
call fcn.004909e8
lea ecx, [ebp - 0x20]
call fcn.004235d4
xor esi, esi
lea ecx, [ebp - 0x8c]
push esi
push 1
call fcn.0041a391
push esi
push 1
lea ecx, [ebp - 0xa4]
call fcn.0041a391
lea ecx, [ebp - 0x44]
jmp 0x495865
mov ecx, dword [ebp - 0x178]
push 1
push dword [ebp - 0x19c]
push ebx
call fcn.00494c55
jmp 0x49586d
cmp eax, 0x191
jne 0x4957a7
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax + 0x58]
call fcn.004a5e63
lea ecx, [ebp - 0x20]
call fcn.004235d4
lea eax, [ebx + 4]
mov byte [ebx], 1
test eax, eax
je 0x49586d
mov dword [eax], 5
jmp 0x49586d
add eax, 0xfffffe0c
cmp eax, 0x63
ja 0x4957ca
lea eax, [ebx + 4]
mov byte [ebx], 1
test eax, eax
je 0x495876
mov dword [eax], 6
jmp 0x495876
push str.RefreshState
lea ecx, [ebp - 0xa4]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibpsicash.cpp
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x38
call fcn.004180bb
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x39
push eax
lea eax, [ebp - 0x174]
push str.request_returned_unexpected_result_code:
push eax
call fcn.004a1aa0
add esp, 0xc
push 0x2f3
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x3a
push ecx
lea ecx, [ebp - 0x8c]
push ecx
push eax
push 1
lea ecx, [ebp - 0x3c]
call fcn.00488974
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x3b
call fcn.004909e8
lea ecx, [ebp - 0x38]
call fcn.004235d4
push esi
push 1
lea ecx, [ebp - 0x174]
call fcn.0041a391
push esi
push 1
lea ecx, [ebp - 0x8c]
call fcn.0041a391
lea ecx, [ebp - 0xa4]
push esi
push 1
call fcn.0041a391
cmp byte [ebp - 0xf4], 0
je 0x495883
lea ecx, [ebp - 0xf0]
call fcn.0043e5e4
jmp 0x49588e
lea ecx, [ebp - 0xec]
call fcn.004235d4
lea ecx, [ebp - 0x194]
call fcn.0049655d
lea ecx, [ebp - 0x184]
call fcn.00491231
mov eax, ebx
call fcn.004dac98
ret 0xc