Function at 0x52eb40
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ecx, dword [eax]
mov ebx, ecx
push edi
push ecx
mov edx, dword [esi + 0xd0]
mov edi, edx
mov eax, edx
mov dword [ebp - 0x18], ecx
push 0xa
push eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0xc], eax
mov dword [ebp + 8], ecx
call fcn.004e3720
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x52f829
mov dword [ebp - 0x10], 0xffffffff
mov edx, dword [ebp + 0x10]
sub edi, ecx
lea eax, [edi - 1]
add eax, ebx
lea edi, [esi + 0x8b8]
mov dword [edx], eax
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0xd0], eax
sub eax, ecx
push eax
push ecx
push edi
call fcn.00518c40
add esp, 0xc
test eax, eax
jne 0x52f8e1
cmp dword [esi + 0xcc], eax
jne 0x52ec2d
push edi
call fcn.00518cb0
push edi
mov ebx, eax
call fcn.00518cc0
mov edi, dword [ebp + 0xc]
add esp, 8
mov ecx, dword [edi + 0x1e8]
test dword [ecx + 0x44], 0x40000
je 0x52ec13
cmp ebx, 5
mov ecx, 5
sbb edi, edi
inc edi
cmp ebx, 5
cmova ebx, ecx
push ebx
push eax
push str.RTSP_
call sym.updateself.exe_curl_strnequal
add esp, 0xc
test eax, eax
mov eax, 2
cmovne eax, edi
mov edi, dword [ebp + 0xc]
jmp 0x52ec1e
push ebx
push eax
push esi
call fcn.0052fd00
add esp, 0xc
cmp eax, 2
je 0x52f8b2
lea edi, [esi + 0x8b8]
push edi
call fcn.00518cc0
mov edx, eax
add esp, 4
mov dword [ebp + 8], edx
mov cl, byte [edx]
cmp cl, 0xa
je 0x52f194
cmp cl, 0xd
je 0x52f194
mov ecx, dword [esi + 0xcc]
mov ebx, 2
mov dword [ebp - 0xc], ebx
lea eax, [ecx + 1]
mov dword [esi + 0xcc], eax
test ecx, ecx
jne 0x52f066
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x1e8]
mov eax, dword [eax + 0x44]
test al, 3
je 0x52ee79
mov al, byte [edx]
mov edi, edx
test al, al
je 0x52eca0
nop word [eax + eax]
cmp al, 0x20
je 0x52ec98
cmp al, 9
jne 0x52eca0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x52ec90
push 5
push str.HTTP_
push edi
call fcn.004f8b60
add esp, 0xc
test eax, eax
jne 0x52ed46
mov cl, byte [edi + 5]
mov al, cl
cmp al, 0x31
je 0x52ed8b
sub al, 0x32
cmp al, 1
ja 0x52f909
mov al, byte [edi + 6]
cmp al, 0x20
je 0x52ecda
cmp al, 9
jne 0x52ed46
movsx eax, cl
mov cl, byte [edi + 7]
sub eax, 0x30
lea ebx, [eax + eax*4]
mov al, cl
sub al, 0x30
add ebx, ebx
cmp al, 9
ja 0x52ed46
mov dh, byte [edi + 8]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x52ed46
mov dl, byte [edi + 9]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x52ed46
movsx eax, cl
lea ecx, [eax + eax*4]
movsx eax, dh
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movsx eax, dl
lea ecx, [ecx - 0xa68]
lea ecx, [eax + ecx*2]
mov dword [esi + 0xe0], ecx
mov al, byte [edi + 0xa]
cmp al, 0x20
je 0x52ee1e
cmp al, 9
je 0x52ee1e
cmp al, 0xa
jl 0x52ed46
cmp al, 0xd
jle 0x52ee1e
lea ebx, [esi + 0x8b8]
push ebx
call fcn.00518cb0
add esp, 4
push eax
push ebx
call fcn.00518cc0
add esp, 4
push eax
push esi
call fcn.0052fd00
add esp, 0xc
cmp eax, 1
jne 0x52f98b
mov edi, dword [ebp + 0xc]
mov dword [esi + 0xe0], 0xc8
mov byte [edi + 0x335], 0xa
jmp 0x52ef57
cmp byte [edi + 6], 0x2e
jne 0x52f971
mov al, byte [edi + 7]
cmp al, 0x30
je 0x52eda4
cmp al, 0x31
jne 0x52f971
mov cl, byte [edi + 8]
cmp cl, 0x20
je 0x52edb5
cmp cl, 9
jne 0x52f971
mov cl, byte [edi + 9]
movsx ebx, al
mov al, cl
sub al, 0x30
sub ebx, 0x26
cmp al, 9
ja 0x52f971
mov dh, byte [edi + 0xa]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x52f971
mov dl, byte [edi + 0xb]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x52f971
movsx eax, cl
lea ecx, [eax + eax*4]
movsx eax, dh
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movsx eax, dl
lea ecx, [ecx - 0xa68]
lea ecx, [eax + ecx*2]
mov dword [esi + 0xe0], ecx
mov al, byte [edi + 0xc]
cmp al, 0x20
je 0x52ee1e
cmp al, 9
je 0x52ee1e
sub al, 0xa
cmp al, 3
ja 0x52f971
cmp ecx, 0x64
jl 0x52f957
lea eax, [ebx - 0xa]
cmp eax, 1
ja 0x52f923
mov edi, dword [ebp + 0xc]
mov al, bl
mov byte [edi + 0x335], bl
cmp dword [esi + 0xfc], 3
jne 0x52ee60
cmp bl, 0x14
je 0x52ee60
push str.Lying_server__not_serving_HTTP_2
push esi
call fcn.00524660
mov al, byte [edi + 0x335]
add esp, 8
cmp al, 0x14
jae 0x52ef57
mov eax, dword [edi + 0x308]
mov dword [eax], 0xffffffff
jmp 0x52ef57
test eax, 0x40000
je 0x52f98b
mov al, byte [edx]
mov edi, edx
test al, al
je 0x52eea0
nop dword [eax]
cmp al, 0x20
je 0x52ee98
cmp al, 9
jne 0x52eea0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x52ee90
push 5
push str.RTSP_
push edi
call fcn.004f8b60
add esp, 0xc
test eax, eax
jne 0x52f98b
mov al, byte [edi + 5]
sub al, 0x30
cmp al, 9
ja 0x52f9c5
cmp byte [edi + 6], 0x2e
jne 0x52f9c5
mov al, byte [edi + 7]
sub al, 0x30
cmp al, 9
ja 0x52f9c5
mov al, byte [edi + 8]
cmp al, 0x20
je 0x52eeeb
cmp al, 9
jne 0x52f9c5
mov cl, byte [edi + 9]
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x52f9c5
mov bl, byte [edi + 0xa]
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x52f9c5
mov dl, byte [edi + 0xb]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x52f9c5
movsx eax, cl
lea ecx, [eax + eax*4]
movsx eax, bl
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movsx eax, dl
lea eax, [eax + ecx*2]
add eax, 0xffffeb30
mov dword [esi + 0xe0], eax
mov al, byte [edi + 0xc]
cmp al, 0x20
je 0x52ef4d
cmp al, 9
je 0x52ef4d
sub al, 0xa
cmp al, 3
ja 0x52f9c5
mov edi, dword [ebp + 0xc]
mov byte [edi + 0x335], 0xb
mov eax, dword [esi + 0xe0]
mov cl, byte [esi + 0xd85]
mov dword [esi + 0xda8], eax
movzx eax, byte [edi + 0x335]
mov dword [esi + 0xdb0], eax
mov al, byte [edi + 0x335]
test cl, cl
je 0x52ef84
cmp cl, al
jbe 0x52ef8a
mov byte [esi + 0xd85], al
mov eax, dword [esi + 0xc70]
or eax, dword [esi + 0xc74]
je 0x52efb4
cmp byte [esi + 0xd86], 0
jne 0x52efb4
cmp dword [esi + 0xe0], 0x1a0
jne 0x52efb4
mov byte [esi + 0x145], 1
mov al, byte [edi + 0x335]
cmp al, 0xa
jne 0x52efd6
push str.HTTP_1.0__assume_close_after_body
push esi
call fcn.00524660
push 1
push edi
call fcn.005255b0
add esp, 0x10
jmp 0x52eff8
cmp al, 0x14
je 0x52efec
cmp dword [esi + 0xfc], 2
jne 0x52eff8
cmp dword [esi + 0xe0], 0x65
jne 0x52eff8
mov eax, dword [edi + 0x308]
mov dword [eax], 2
mov ecx, dword [esi + 0xe0]
lea eax, [ecx - 0x64]
cmp eax, 0x63
setbe al
mov byte [esi + 0x146], al
sub ecx, 0xcc
je 0x52f029
sub ecx, 0x64
jne 0x52f058
cmp byte [esi + 0x3c8], cl
je 0x52f029
mov byte [esi + 0xe6c], 1
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0
mov byte [esi + 0x146], 1
mov ebx, 6
lea edi, [esi + 0x8b8]
mov dword [ebp - 0xc], ebx
push edi
call fcn.00518cc0
mov edi, eax
lea eax, [esi + 0x8b8]
push eax
call fcn.00518cb0
push eax
push 0
push edi
mov dword [ebp - 8], eax
call fcn.004e3720
add esp, 0x14
test eax, eax
jne 0x52f9b6
mov ecx, dword [esi + 0xcc]
cmp ecx, 2
jl 0x52f0c1
mov al, byte [edi]
cmp al, 0x20
je 0x52f0a6
cmp al, 9
jne 0x52f0ab
cmp ecx, 2
jg 0x52f0c1
push dword [ebp - 8]
push 0x3a
push edi
call fcn.004e3720
add esp, 0xc
test eax, eax
je 0x52f99b
push dword [ebp + 8]
push dword [ebp + 0xc]
push esi
call fcn.0052dd00
add esp, 0xc
test eax, eax
jne 0x52f8e1
mov edi, dword [esi + 0xe0]
or ebx, 1
cmp byte [esi + 0x6d7], al
lea eax, [esi + 0x8b8]
push eax
cmove ebx, dword [ebp - 0xc]
call fcn.00518cb0
push eax
push dword [ebp + 8]
push 1
push esi
call fcn.00524510
lea eax, [esi + 0x8b8]
push eax
call fcn.00518cb0
push eax
push dword [ebp + 8]
lea eax, [edi - 0x64]
mov ecx, ebx
or ecx, 0x10
cmp eax, 0x64
cmovae ecx, ebx
push ecx
push esi
call fcn.00524890
add esp, 0x28
test eax, eax
jne 0x52f8e1
lea eax, [esi + 0x8b8]
push eax
call fcn.00518cb0
mov ecx, dword [esi + 0xde8]
add esp, 4
cmp eax, 0x4b000
jae 0x52f16a
add dword [esi + 0xc0], eax
add eax, ecx
mov dword [esi + 0xde8], eax
cmp eax, 0x4b000
jbe 0x52f7e8
jmp 0x52f16c
add eax, ecx
test eax, eax
je 0x52f7e8
push 0x4b000
push eax
push str.Too_large_response_headers:__zu____u
push esi
call fcn.005245a0
add esp, 0x10
mov eax, 0x38
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0xe0]
lea eax, [ecx - 0x64]
cmp eax, 0x63
ja 0x52f217
sub ecx, 0x64
je 0x52f1db
sub ecx, 1
je 0x52f1c2
mov byte [esi + 0x142], 1
mov dword [esi + 0xcc], 0
jmp 0x52f292
cmp dword [esi + 0xfc], 2
je 0x52f9d1
mov byte [esi + 0x142], 0
jmp 0x52f292
cmp dword [esi + 0xf8], 0
mov byte [esi + 0x142], 1
mov dword [esi + 0xcc], 0
jle 0x52f292
or dword [esi + 0xe4], 2
push 0
push esi
mov dword [esi + 0xf8], 0
call fcn.005126a0
add esp, 8
jmp 0x52f292
cmp dword [esi + 0xfc], 2
jne 0x52f22b
push dword [esi + 0x7c]
call fcn.005127d0
add esp, 4
mov eax, dword [esi + 0x88]
lea ebx, [esi + 0x88]
and eax, dword [ebx + 4]
xor cl, cl
mov byte [esi + 0x142], 0
cmp eax, 0xffffffff
jne 0x52f29e
cmp byte [esi + 0x147], cl
jne 0x52f29e
mov ebx, dword [ebp + 0xc]
cmp byte [ebx + 0x1ce], cl
jne 0x52f298
cmp byte [ebx + 0x335], 0xb
jne 0x52f298
mov eax, dword [ebx + 0x1e8]
test dword [eax + 0x44], 0x40000
jne 0x52f298
cmp byte [esi + 0xd86], 5
je 0x52f298
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end
push esi
call fcn.00524660
push 2
push ebx
call fcn.005255b0
add esp, 0x10
mov cl, byte [esi + 0x142]
lea ebx, [esi + 0x88]
test cl, cl
jne 0x52f328
cmp byte [esi + 0x148], cl
jne 0x52f30d
cmp byte [ebx + 0xbf], cl
jne 0x52f30d
mov ecx, dword [ebx]
mov eax, ecx
mov edx, dword [ebx + 4]
and eax, edx
cmp eax, 0xffffffff
je 0x52f328
mov ebx, dword [esi + 0x4d0]
mov eax, ebx
mov edi, dword [esi + 0x4d4]
or eax, edi
je 0x52f2e8
cmp edx, edi
jg 0x52fa06
jl 0x52f2e8
cmp ecx, ebx
ja 0x52fa06
push edx
push ecx
push esi
call fcn.00533690
mov eax, dword [esi + 0x88]
add esp, 0xc
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x94], eax
jmp 0x52f328
mov dword [ebx + 8], 0xffffffff
mov dword [ebx + 0xc], 0xffffffff
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + 0x1ce], 0
je 0x52f371
mov eax, dword [esi + 0xe0]
cmp eax, 0x191
jne 0x52f34c
cmp dword [ecx + 0x220], 2
je 0x52f35c
jmp 0x52f371
cmp eax, 0x197
jne 0x52f371
cmp dword [ecx + 0x224], 2
jne 0x52f371
push str.Connection_closure_while_negotiating_auth__HTTP_1.0__
push esi
call fcn.00524660
add esp, 8
mov byte [esi + 0xd8d], 1
mov eax, dword [esi + 0xe0]
sub eax, 0x64
cmp eax, 0x64
sbb edi, edi
xor eax, eax
and edi, 0x10
cmp byte [esi + 0x6d7], al
setne al
add eax, 2
or edi, eax
lea eax, [esi + 0x8b8]
push eax
call fcn.00518cb0
add esp, 4
mov ebx, eax
lea eax, [esi + 0x8b8]
mov dword [ebp - 0x20], ebx
push ebx
push eax
call fcn.00518cc0
add esp, 4
push eax
push edi
push esi
call fcn.00524890
add esp, 0x10
test eax, eax
jne 0x52f8e1
mov eax, dword [esi + 0xde8]
add eax, ebx
cmp ebx, 0x4b000
jae 0x52f3ec
add dword [esi + 0xc0], ebx
mov dword [esi + 0xde8], eax
cmp eax, 0x4b000
jbe 0x52f3f4
test eax, eax
jne 0x52f174
mov ebx, dword [esi + 0xe0]
push esi
call fcn.00530060
add esp, 4
test al, al
jne 0x52fa9f
lea eax, [ebx - 0x64]
cmp eax, 0x63
ja 0x52f41b
mov eax, dword [esi + 0xc0]
jmp 0x52f41d
xor eax, eax
mov ecx, dword [esi + 0x18]
xor edi, edi
mov dword [esi + 0xc4], eax
mov eax, 0xffffffbf
mov edx, dword [esi + 0x5f4]
test edx, edx
mov dword [ebp - 8], ecx
cmovne eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
lea eax, [ebx - 0x64]
mov byte [ebp + 0xb], 0
mov byte [ebp - 1], 0
cmp eax, 0x63
jbe 0x52f632
cmp byte [esi + 0xd8d], 0
je 0x52f470
cmp byte [esi + 0x6d2], 0
mov eax, 0x16
cmovne edi, eax
jmp 0x52f62a
cmp dword [esi + 0xd74], edi
jne 0x52f47c
test edx, edx
je 0x52f4ed
cmp ebx, 0x191
je 0x52f495
cmp byte [ecx + 0x1d8], 0
je 0x52f4ed
cmp ebx, 0x12c
jge 0x52f4ed
push dword [ebp - 0x14]
lea eax, [esi + 0x984]
push eax
call fcn.005303d0
mov bl, al
add esp, 8
test bl, bl
jne 0x52f4b4
mov byte [esi + 0xd8d], 1
cmp dword [esi + 0x988], 8
mov ecx, dword [ebp - 8]
jne 0x52f4f0
cmp byte [ecx + 0x335], 0xb
jbe 0x52f4f0
push str.Forcing_HTTP_1.1_for_NTLM
push esi
call fcn.00524660
push 1
push dword [ebp - 8]
call fcn.005255b0
mov ecx, dword [ebp - 8]
add esp, 0x10
mov byte [esi + 0xd84], 2
jmp 0x52f4f0
mov bl, byte [ebp + 0xb]
cmp byte [ecx + 0x1ca], 0
je 0x52f537
mov eax, dword [esi + 0xe0]
cmp eax, 0x197
je 0x52f516
cmp byte [ecx + 0x1d8], 0
je 0x52f537
cmp eax, 0x12c
jge 0x52f537
lea eax, [esi + 0x994]
push 0xffffffffffffffbf
push eax
call fcn.005303d0
mov ecx, dword [ebp - 8]
add esp, 8
test al, al
jne 0x52f53a
mov byte [esi + 0xd8d], 1
jmp 0x52f53a
mov al, byte [ebp - 1]
test bl, bl
jne 0x52f5a6
test al, al
jne 0x52f5a6
cmp dword [esi + 0xe0], 0x12c
jge 0x52f604
cmp byte [esi + 0x990], al
jne 0x52f604
cmp byte [ecx + 0x1d8], al
je 0x52f604
mov al, byte [esi + 0xd86]
test al, al
je 0x52f604
cmp al, 5
je 0x52f604
push dword [esi + 0xcdc]
call dword [0x7192fc]
add esp, 4
mov dword [esi + 0x118], eax
test eax, eax
je 0x52fa20
mov byte [esi + 0x990], 1
jmp 0x52f604
mov al, byte [esi + 0xd86]
test al, al
je 0x52f5d1
cmp al, 5
je 0x52f5d1
cmp byte [esi + 0xd9b], 0
jne 0x52f5d1
push ecx
push esi
call fcn.0052fec0
mov edi, eax
add esp, 8
test edi, edi
jne 0x52fa25
push dword [esi + 0x118]
call dword [0x7192f4]
push dword [esi + 0xcdc]
mov dword [esi + 0x118], 0
call dword [0x7192fc]
add esp, 8
mov dword [esi + 0x118], eax
test eax, eax
je 0x52fa20
push esi
call fcn.00530060
add esp, 4
test al, al
je 0x52f62a
push dword [esi + 0xe0]
push str.The_requested_URL_returned_error:__d
push esi
call fcn.005245a0
add esp, 0xc
mov edi, 0x16
test edi, edi
jne 0x52fa25
cmp dword [esi + 0xe0], 0x12c
mov ebx, dword [ebp + 0xc]
jl 0x52f7d5
cmp byte [ebx + 0x1d8], 0
jne 0x52f7a6
cmp byte [ebx + 0x1ce], 0
jne 0x52f7a6
cmp byte [esi + 0xd9b], 0
jne 0x52f7a6
mov al, byte [esi + 0xd86]
dec al
cmp al, 3
ja 0x52f7a6
push 0
push esi
call fcn.005126a0
add esp, 8
cmp byte [esi + 0x144], 0
jne 0x52f7a6
cmp dword [esi + 0xe0], 0x1a1
jne 0x52f727
cmp byte [esi + 0xd8f], 0
je 0x52f727
mov eax, dword [esi + 0xa0]
or eax, dword [esi + 0xa4]
jne 0x52f6d4
cmp dword [esi + 0xf8], 1
jne 0x52f6d4
push str.Got_HTTP_failure_417_while_waiting_for_a_100
push esi
call fcn.00524660
add esp, 8
jmp 0x52f6f9
push str.Got_HTTP_failure_417_while_sending_data
push esi
call fcn.00524660
push 2
push ebx
call fcn.005255b0
push ebx
push esi
call fcn.0052fec0
add esp, 0x18
test eax, eax
jne 0x52f8e1
push dword [esi + 0xcdc]
mov byte [esi + 0xd90], 1
call dword [0x7192fc]
lea edi, [esi + 0x88]
mov dword [esi + 0x118], eax
push edi
push esi
call fcn.005314b0
add esp, 0xc
jmp 0x52f7ac
cmp byte [esi + 0x6d3], 0
je 0x52f760
push str.HTTP_error_before_end_of_send__keep_sending
push esi
call fcn.00524660
add esp, 8
lea edi, [esi + 0x88]
cmp dword [esi + 0xf8], 0
jle 0x52f7ac
or dword [esi + 0xe4], 2
mov dword [esi + 0xf8], 0
jmp 0x52f7ac
push str.HTTP_error_before_end_of_send__stop_sending
push esi
call fcn.00524660
push 2
push ebx
call fcn.005255b0
lea edi, [esi + 0x88]
push edi
push esi
call fcn.005314b0
add esp, 0x18
test eax, eax
jne 0x52f8e1
mov byte [esi + 0x144], 1
cmp byte [esi + 0xd8f], al
je 0x52f7ac
mov dword [esi + 0xf8], 3
jmp 0x52f7ac
lea edi, [esi + 0x88]
cmp byte [esi + 0xd9b], 0
je 0x52f7db
cmp dword [ebx + 0x204], 0xffffffff
je 0x52f7db
push str.Keep_sending_data_to_get_tossed_away
push esi
call fcn.00524660
add esp, 8
or dword [esi + 0xe4], 2
jmp 0x52f7db
lea edi, [esi + 0x88]
cmp byte [esi + 0x142], 0
je 0x52fa2e
lea eax, [esi + 0x8b8]
push eax
call fcn.00518cd0
mov edi, dword [esi + 0xd0]
add esp, 4
cmp byte [edi], 0
je 0x52f8df
mov ecx, dword [ebp + 0x10]
mov eax, edi
mov dword [ebp - 0xc], eax
mov ebx, dword [ecx]
push ebx
push 0xa
push eax
mov dword [ebp + 8], ebx
call fcn.004e3720
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x52eb86
push dword [ebp + 8]
lea ebx, [esi + 0x8b8]
push dword [ebp - 0xc]
push ebx
call fcn.00518c40
add esp, 0xc
test eax, eax
jne 0x52f8e1
cmp dword [esi + 0xcc], eax
jne 0x52f8df
push ebx
call fcn.00518cb0
add esp, 4
push eax
push ebx
call fcn.00518cc0
mov ebx, dword [ebp + 0xc]
add esp, 4
push eax
push ebx
push esi
call fcn.0052fdb0
add esp, 0x10
cmp eax, 2
jne 0x52f8df
push eax
push ebx
mov byte [esi + 0x142], 0
mov dword [esi + 0xc8], eax
call fcn.005255b0
add esp, 8
cmp byte [esi + 0x6f4], 0
jne 0x52f8df
push str.Received_HTTP_0.9_when_not_allowed
push esi
call fcn.005245a0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push edi
call fcn.005255b0
add esp, 8
cmp byte [esi + 0x6f4], 0
je 0x52f898
mov eax, dword [ebp + 0x10]
mov byte [esi + 0x142], 0
cmp dword [eax], 0
je 0x52f8e8
mov dword [esi + 0xc8], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0xc8], 2
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
pop edi
mov dword [esi + 0xd0], eax
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Unsupported_HTTP_version_in_response
push esi
call fcn.005245a0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x66666667
imul ebx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
add eax, eax
sub ebx, eax
push ebx
push ecx
push str.Unsupported_HTTP_version___u._d__in_response
push esi
call fcn.005245a0
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Unsupported_response_code_in_HTTP_response
push esi
call fcn.005245a0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Unsupported_HTTP_1_subversion_in_response
push esi
call fcn.005245a0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov byte [esi + 0x142], 0
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, str.Header_without_colon
push eax
push esi
call fcn.005245a0
add esp, 8
mov eax, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, str.Nul_byte_in_header
push eax
push esi
call fcn.005245a0
add esp, 8
pop edi
pop esi
mov eax, 8
pop ebx
mov esp, ebp
pop ebp
ret
push str.Received_101__Switching_to_HTTP_2
push esi
call fcn.00524660
add esp, 8
mov dword [esi + 0xfc], 3
mov byte [esi + 0x142], 1
mov eax, 1
mov dword [esi + 0xcc], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Maximum_file_size_exceeded
push esi
call fcn.005245a0
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 0x1b
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x14c], 0
mov ecx, dword [ebp + 0x14]
jne 0x52fa5f
mov eax, dword [ebx + 0x1e8]
test dword [eax + 0x44], 0x40000
je 0x52fa62
cmp dword [esi + 0x668], 2
jne 0x52fa62
cmp dword [edi + 4], 0xffffffff
jg 0x52fa62
jl 0x52fa5f
cmp dword [edi], 0xffffffff
ja 0x52fa62
mov byte [ecx], 1
cmp dword [esi + 0x90], 0
jne 0x52fa79
cmp dword [esi + 0x94], 0
jne 0x52fa79
mov byte [ecx], 1
jmp 0x52fa7e
cmp byte [ecx], 0
je 0x52fa85
and dword [esi + 0xe4], 0xfffffffe
push dword [ebp - 0x20]
push dword [ebp - 0xc]
push 1
push esi
call fcn.00524510
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push str.The_requested_URL_returned_error:__d
push esi
call fcn.005245a0
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret