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

Disassembly:
sub esp, 0x1c
mov eax, dword [esp + 0x28]
push ebx
push ebp
push esi
mov ecx, dword [eax]
mov ebp, ecx
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0xd4]
lea ebx, [esi + 0x88]
push edi
push ecx
push 0xa
push eax
mov dword [esp + 0x2c], ecx
mov edi, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x3c], ecx
call fcn.005320a0
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x45c766
mov edx, dword [esp + 0x38]
lea eax, [ebp - 1]
sub edi, ecx
lea ebp, [esi + 0x8b0]
add eax, edi
mov dword [edx], eax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0x4c], eax
sub eax, ecx
push eax
push ecx
push ebp
call fcn.0042f230
add esp, 0xc
test eax, eax
jne 0x45c81a
cmp dword [ebx + 0x48], eax
jne 0x45bb32
push ebp
call fcn.0042f290
mov ebp, eax
lea eax, [esi + 0x8b0]
push eax
call fcn.0042f2a0
mov edi, dword [esp + 0x3c]
add esp, 8
mov ecx, dword [edi + 0x1e8]
test dword [ecx + 0x44], 0x40000
je 0x45bb18
cmp ebp, 5
mov ecx, 5
sbb edi, edi
inc edi
cmp ebp, 5
cmova ebp, ecx
push ebp
push eax
push str.RTSP_
call fcn.0042f100
add esp, 0xc
test eax, eax
mov eax, 2
cmovne eax, edi
mov edi, dword [esp + 0x34]
jmp 0x45bb23
push ebp
push eax
push esi
call fcn.0045cdc0
add esp, 0xc
cmp eax, 2
je 0x45c7ed
lea ebp, [esi + 0x8b0]
push ebp
call fcn.0042f2a0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
mov cl, byte [edx]
cmp cl, 0xa
je 0x45c086
cmp cl, 0xd
je 0x45c086
mov ecx, dword [ebx + 0x48]
mov edi, 4
mov dword [esp + 0x30], ebp
lea eax, [ecx + 1]
mov dword [ebx + 0x48], eax
test ecx, ecx
jne 0x45bf51
mov ebp, dword [esp + 0x34]
mov eax, dword [ebp + 0x1e8]
mov eax, dword [eax + 0x44]
test al, 3
je 0x45bd83
mov al, byte [edx]
mov edi, edx
test al, al
je 0x45bba0
nop dword [eax]
cmp al, 0x20
je 0x45bb98
cmp al, 9
jne 0x45bba0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45bb90
push 5
push str.HTTP_
push edi
call fcn.00538bf0
add esp, 0xc
test eax, eax
jne 0x45bc52
movsx ecx, byte [edi + 5]
mov eax, ecx
sub eax, 0x31
je 0x45bc93
sub eax, 1
je 0x45bbd5
sub eax, 1
jne 0x45c840
mov al, byte [edi + 6]
cmp al, 0x20
je 0x45bbe0
cmp al, 9
jne 0x45bc52
lea edx, [ecx - 0x30]
mov cl, byte [edi + 7]
mov al, cl
lea edx, [edx + edx*4]
add edx, edx
sub al, 0x30
mov dword [esp + 0x14], edx
cmp al, 9
ja 0x45bc52
mov al, byte [edi + 8]
mov byte [esp + 0x30], al
sub al, 0x30
cmp al, 9
ja 0x45bc52
mov al, byte [edi + 9]
mov byte [esp + 0x13], al
sub al, 0x30
cmp al, 9
ja 0x45bc52
movsx eax, cl
lea ecx, [eax + eax*4]
movsx eax, byte [esp + 0x30]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movsx eax, byte [esp + 0x13]
lea ecx, [ecx - 0xa68]
lea ecx, [eax + ecx*2]
mov dword [ebx + 0x58], ecx
mov al, byte [edi + 0xa]
cmp al, 0x20
je 0x45bd2f
cmp al, 9
je 0x45bd2f
cmp al, 0xa
jl 0x45bc52
cmp al, 0xd
jle 0x45bd2f
lea edi, [esi + 0x8b0]
push edi
call fcn.0042f290
add esp, 4
push eax
push edi
call fcn.0042f2a0
add esp, 4
push eax
push esi
call fcn.0045cdc0
add esp, 0xc
cmp eax, 1
jne 0x45c8ca
lea edi, [ebp + 0x459]
mov dword [ebx + 0x58], 0xc8
mov byte [edi], 0xa
jmp 0x45be59
cmp byte [edi + 6], 0x2e
jne 0x45c8af
mov al, byte [edi + 7]
cmp al, 0x30
je 0x45bcac
cmp al, 0x31
jne 0x45c8af
mov cl, byte [edi + 8]
cmp cl, 0x20
je 0x45bcbd
cmp cl, 9
jne 0x45c8af
mov cl, byte [edi + 9]
movsx edx, al
mov al, cl
sub edx, 0x26
sub al, 0x30
mov dword [esp + 0x14], edx
cmp al, 9
ja 0x45c8af
mov al, byte [edi + 0xa]
mov byte [esp + 0x30], al
sub al, 0x30
cmp al, 9
ja 0x45c8af
mov al, byte [edi + 0xb]
mov byte [esp + 0x13], al
sub al, 0x30
cmp al, 9
ja 0x45c8af
movsx eax, cl
lea ecx, [eax + eax*4]
movsx eax, byte [esp + 0x30]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movsx eax, byte [esp + 0x13]
lea ecx, [ecx - 0xa68]
lea ecx, [eax + ecx*2]
mov dword [ebx + 0x58], ecx
mov al, byte [edi + 0xc]
cmp al, 0x20
je 0x45bd2f
cmp al, 9
je 0x45bd2f
sub al, 0xa
cmp al, 3
ja 0x45c8af
cmp ecx, 0x64
jl 0x45c894
mov eax, edx
sub eax, 0xa
je 0x45bd48
sub eax, 1
jne 0x45c85b
lea edi, [ebp + 0x459]
mov byte [edi], dl
cmp dword [ebx + 0x74], 3
jne 0x45bd69
cmp dl, 0x14
je 0x45bd69
push str.Lying_server__not_serving_HTTP_2
push esi
call fcn.004421b0
add esp, 8
cmp byte [edi], 0x14
jae 0x45be59
mov eax, dword [ebp + 0x428]
mov dword [eax], 0xffffffff
jmp 0x45be59
test eax, 0x40000
je 0x45c8ca
mov al, byte [edx]
mov edi, edx
test al, al
je 0x45bda6
cmp al, 0x20
je 0x45bd9e
cmp al, 9
jne 0x45bda6
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45bd96
push 5
push str.RTSP_
push edi
call fcn.00538bf0
add esp, 0xc
test eax, eax
jne 0x45c8ca
mov al, byte [edi + 5]
sub al, 0x30
cmp al, 9
ja 0x45c906
cmp byte [edi + 6], 0x2e
jne 0x45c906
mov al, byte [edi + 7]
sub al, 0x30
cmp al, 9
ja 0x45c906
mov al, byte [edi + 8]
cmp al, 0x20
je 0x45bdf1
cmp al, 9
jne 0x45c906
mov cl, byte [edi + 9]
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x45c906
mov dh, byte [edi + 0xa]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x45c906
mov dl, byte [edi + 0xb]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x45c906
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 eax, [eax + ecx*2]
add eax, 0xffffeb30
mov dword [ebx + 0x58], eax
mov al, byte [edi + 0xc]
cmp al, 0x20
je 0x45be50
cmp al, 9
je 0x45be50
sub al, 0xa
cmp al, 3
ja 0x45c906
lea edi, [ebp + 0x459]
mov byte [edi], 0xb
mov eax, dword [ebx + 0x58]
mov ecx, edi
mov dl, byte [esi + 0xd6d]
mov dword [esi + 0xd90], eax
movzx eax, byte [edi]
mov dword [esi + 0xd98], eax
mov al, byte [edi]
test dl, dl
je 0x45be83
cmp dl, al
jbe 0x45be89
lea ecx, [ebp + 0x459]
mov byte [esi + 0xd6d], al
mov eax, dword [esi + 0xc58]
or eax, dword [esi + 0xc5c]
je 0x45beb2
cmp byte [esi + 0xd6e], 0
jne 0x45beb2
cmp dword [ebx + 0x58], 0x1a0
mov edi, ecx
jne 0x45beb2
mov byte [ebx + 0xbd], 1
mov al, byte [edi]
cmp al, 0xa
jne 0x45bed0
push str.HTTP_1.0__assume_close_after_body
push esi
call fcn.004421b0
push 1
push ebp
call fcn.00443290
add esp, 0x10
jmp 0x45beec
cmp al, 0x14
je 0x45bee0
cmp dword [ebx + 0x74], 2
jne 0x45beec
cmp dword [ebx + 0x58], 0x65
jne 0x45beec
mov eax, dword [ebp + 0x428]
mov dword [eax], 2
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 0x64]
cmp eax, 0x63
setbe al
mov byte [ebx + 0xbe], al
sub ecx, 0xcc
je 0x45bf1a
sub ecx, 0x64
jne 0x45bf3c
cmp byte [esi + 0x3c8], cl
je 0x45bf1a
mov byte [esi + 0xe54], 1
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov byte [ebx + 0xbe], 1
lea eax, [esi + 0x8b0]
mov edi, 0xc
mov dword [esp + 0x30], eax
lea ebp, [esi + 0x8b0]
push ebp
call fcn.0042f2a0
push dword [esp + 0x34]
mov ebp, eax
call fcn.0042f290
push eax
push 0
push ebp
mov dword [esp + 0x44], eax
call fcn.005320a0
add esp, 0x14
test eax, eax
jne 0x45c8f7
mov ecx, dword [esi + 0xd0]
cmp ecx, 2
jl 0x45bfac
mov al, byte [ebp]
cmp al, 0x20
je 0x45bf90
cmp al, 9
jne 0x45bf95
cmp ecx, 2
jg 0x45bfac
push dword [esp + 0x30]
push 0x3a
push ebp
call fcn.005320a0
add esp, 0xc
test eax, eax
je 0x45c8db
push dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
push ebp
push esi
call fcn.0045aa40
add esp, 0xc
test eax, eax
jne 0x45c81a
mov eax, dword [ebx + 0x58]
sub eax, 0x64
cmp eax, 0x64
jae 0x45bfd4
or edi, 0x20
lea eax, [esi + 0x8b0]
push eax
call fcn.0042f290
mov ebp, dword [esp + 0x1c]
push eax
push ebp
push 1
push esi
call fcn.00442040
lea eax, [esi + 0x8b0]
push eax
call fcn.0042f290
push eax
push ebp
push edi
push esi
call fcn.00442510
add esp, 0x28
test eax, eax
jne 0x45c81a
lea eax, [esi + 0x8b0]
push eax
call fcn.0042f290
mov ecx, dword [esi + 0xc4]
mov edx, eax
mov edi, 0x4b000
add esp, 4
add ecx, edx
cmp edx, edi
jae 0x45c07d
mov eax, dword [esi + 0xdd0]
add dword [esi + 0xc0], edx
add eax, edx
mov dword [esi + 0xdd0], eax
mov dword [esi + 0xc4], ecx
cmp ecx, edi
ja 0x45c060
cmp eax, 0x5dc000
jbe 0x45c725
mov ecx, eax
mov edi, 0x5dc000
push edi
push ecx
push str.Too_large_response_headers:__zu____u
push esi
call fcn.004420e0
add esp, 0x10
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
test ecx, ecx
jne 0x45c060
jmp 0x45c725
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 0x64]
cmp eax, 0x63
ja 0x45c0f4
sub ecx, 0x64
je 0x45c0c4
sub ecx, 1
je 0x45c0ae
mov byte [ebx + 0xba], 1
mov dword [ebx + 0x48], 0
jmp 0x45c163
cmp dword [ebx + 0x74], 2
je 0x45c913
mov byte [ebx + 0xba], 0
jmp 0x45c163
cmp dword [ebx + 0x70], 0
mov byte [ebx + 0xba], 1
mov dword [ebx + 0x48], 0
jle 0x45c163
or dword [ebx + 0x5c], 2
push 0
push esi
mov dword [ebx + 0x70], 0
call fcn.0043be40
add esp, 8
jmp 0x45c163
cmp dword [ebx + 0x74], 2
jne 0x45c105
push dword [esi + 0x7c]
call fcn.0043bf60
add esp, 4
mov eax, dword [ebx]
and eax, dword [ebx + 4]
mov byte [ebx + 0xba], 0
cmp eax, 0xffffffff
jne 0x45c163
cmp byte [ebx + 0xbf], 0
jne 0x45c163
mov ebp, dword [esp + 0x34]
cmp byte [ebp + 0x1ce], 0
jne 0x45c163
cmp byte [ebp + 0x459], 0xb
jne 0x45c163
mov eax, dword [ebp + 0x1e8]
test dword [eax + 0x44], 0x40000
jne 0x45c163
cmp byte [esi + 0xd6e], 5
je 0x45c163
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end
push esi
call fcn.004421b0
push 2
push ebp
call fcn.00443290
add esp, 0x10
cmp byte [ebx + 0xba], 0
jne 0x45c1e3
cmp byte [esi + 0x148], 0
jne 0x45c1c8
cmp byte [ebx + 0xbf], 0
jne 0x45c1c8
mov ecx, dword [ebx]
mov eax, ecx
mov edx, dword [ebx + 4]
and eax, edx
cmp eax, 0xffffffff
je 0x45c1e3
mov ebp, dword [esi + 0x4c8]
mov eax, ebp
mov edi, dword [esi + 0x4cc]
or eax, edi
je 0x45c1b0
cmp edx, edi
jg 0x45c943
jl 0x45c1b0
cmp ecx, ebp
ja 0x45c943
push edx
push ecx
push esi
call fcn.00466b00
mov eax, dword [ebx]
add esp, 0xc
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
jmp 0x45c1e3
mov dword [ebx + 8], 0xffffffff
mov dword [ebx + 0xc], 0xffffffff
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
mov ebp, dword [esp + 0x34]
cmp byte [ebp + 0x1ce], 0
je 0x45c277
mov eax, dword [esi + 0xe0]
cmp eax, 0x191
jne 0x45c20c
cmp dword [ebp + 0x258], 2
je 0x45c21c
jmp 0x45c231
cmp eax, 0x197
jne 0x45c231
cmp dword [ebp + 0x25c], 2
jne 0x45c231
push str.Connection_closure_while_negotiating_auth__HTTP_1.0__
push esi
call fcn.004421b0
add esp, 8
mov byte [esi + 0xd75], 1
cmp byte [ebp + 0x1ce], 0
je 0x45c277
mov eax, dword [esi + 0xe0]
cmp eax, 0x191
jne 0x45c252
cmp dword [ebp + 0x2e0], 1
je 0x45c262
jmp 0x45c277
cmp eax, 0x197
jne 0x45c277
cmp dword [ebp + 0x2e4], 1
jne 0x45c277
push str.Connection_closure_while_negotiating_auth__HTTP_1.0__
push esi
call fcn.004421b0
add esp, 8
mov byte [esi + 0xd75], 1
cmp dword [ebp + 0x2e0], 3
jne 0x45c296
cmp dword [esi + 0xe0], 0x191
je 0x45c296
mov dword [ebp + 0x2e0], 4
cmp dword [ebp + 0x2e4], 3
jne 0x45c2b5
cmp dword [esi + 0xe0], 0x197
je 0x45c2b5
mov dword [ebp + 0x2e4], 4
mov eax, dword [ebx + 0x58]
sub eax, 0x64
cmp eax, 0x64
lea eax, [esi + 0x8b0]
push eax
sbb edi, edi
and edi, 0x20
add edi, 4
call fcn.0042f290
add esp, 4
mov ebp, eax
lea eax, [esi + 0x8b0]
mov dword [esp + 0x28], ebp
push ebp
push eax
call fcn.0042f2a0
add esp, 4
push eax
push edi
push esi
call fcn.00442510
add esp, 0x10
test eax, eax
jne 0x45c81a
mov ecx, dword [esi + 0xc4]
mov edx, 0x4b000
add ecx, ebp
cmp ebp, edx
jae 0x45c359
mov edi, dword [esi + 0xdd0]
add dword [esi + 0xc0], ebp
add edi, ebp
mov dword [esi + 0xdd0], edi
mov dword [esi + 0xc4], ecx
cmp ecx, edx
ja 0x45c33c
cmp edi, 0x5dc000
jbe 0x45c35d
mov ecx, edi
mov edx, 0x5dc000
push edx
push ecx
push str.Too_large_response_headers:__zu____u
push esi
call fcn.004420e0
add esp, 0x10
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
test ecx, ecx
jne 0x45c33c
mov edi, dword [ebx + 0x58]
push esi
call fcn.0045d1c0
add esp, 4
test al, al
jne 0x45c9d9
lea eax, [edi - 0x64]
cmp eax, 0x63
ja 0x45c381
mov eax, dword [esi + 0xc0]
jmp 0x45c383
xor eax, eax
mov ebp, dword [esi + 0x18]
xor edi, edi
mov dword [esi + 0xc8], eax
mov edx, 0xffffffff
mov ecx, dword [esi + 0x5ec]
mov eax, 0xffffffbf
test ecx, ecx
mov byte [esp + 0x13], 0
mov byte [esp + 0x30], 0
cmovne eax, edx
mov edx, dword [esi + 0xe0]
mov dword [esp + 0x1c], eax
lea eax, [edx - 0x64]
cmp eax, 0x63
jbe 0x45c5ad
cmp byte [esi + 0xd75], 0
lea eax, [esi + 0xd75]
mov dword [esp + 0x18], eax
je 0x45c3ea
cmp byte [esi + 0x6ca], 0
mov eax, 0x16
cmovne edi, eax
jmp 0x45c5a5
cmp dword [esi + 0xd5c], edi
jne 0x45c3fc
test ecx, ecx
je 0x45c46a
lea eax, [esi + 0xd75]
cmp edx, 0x191
je 0x45c419
cmp byte [ebp + 0x1d8], 0
je 0x45c46a
mov dword [esp + 0x18], eax
cmp edx, 0x12c
jge 0x45c46a
push dword [esp + 0x1c]
lea eax, [esi + 0x970]
push eax
call fcn.0045d5a0
add esp, 8
mov byte [esp + 0x13], al
test al, al
jne 0x45c43b
mov ecx, dword [esp + 0x18]
mov byte [ecx], 1
cmp dword [esi + 0x974], 8
jne 0x45c46a
cmp byte [ebp + 0x459], 0xb
jbe 0x45c46a
push str.Forcing_HTTP_1.1_for_NTLM
push esi
call fcn.004421b0
push 1
push ebp
call fcn.00443290
add esp, 0x10
mov byte [esi + 0xd6c], 2
cmp byte [ebp + 0x1ca], 0
je 0x45c4ae
mov eax, dword [esi + 0xe0]
cmp eax, 0x197
je 0x45c490
cmp byte [ebp + 0x1d8], 0
je 0x45c4ae
cmp eax, 0x12c
jge 0x45c4ae
lea eax, [esi + 0x980]
push 0xffffffffffffffbf
push eax
call fcn.0045d5a0
add esp, 8
test al, al
jne 0x45c4b2
mov byte [esi + 0xd75], 1
jmp 0x45c4b2
mov al, byte [esp + 0x30]
cmp byte [esp + 0x13], 0
jne 0x45c521
test al, al
jne 0x45c521
cmp dword [esi + 0xe0], 0x12c
jge 0x45c57f
cmp byte [esi + 0x97c], al
jne 0x45c57f
cmp byte [ebp + 0x1d8], al
je 0x45c57f
mov al, byte [esi + 0xd6e]
test al, al
je 0x45c57f
cmp al, 5
je 0x45c57f
push dword [esi + 0xcc4]
call dword [0x58d074]
add esp, 4
mov dword [esi + 0x118], eax
test eax, eax
je 0x45c95e
mov byte [esi + 0x97c], 1
jmp 0x45c57f
mov al, byte [esi + 0xd6e]
test al, al
je 0x45c54c
cmp al, 5
je 0x45c54c
cmp byte [esi + 0xd83], 0
jne 0x45c54c
push ebp
push esi
call fcn.0045cfa0
mov edi, eax
add esp, 8
test edi, edi
jne 0x45c963
push dword [esi + 0x118]
call dword [0x58d06c]
push dword [esi + 0xcc4]
mov dword [esi + 0x118], 0
call dword [0x58d074]
add esp, 8
mov dword [esi + 0x118], eax
test eax, eax
je 0x45c95e
push esi
call fcn.0045d1c0
add esp, 4
test al, al
je 0x45c5a5
push dword [esi + 0xe0]
push str.The_requested_URL_returned_error:__d
push esi
call fcn.004420e0
add esp, 0xc
mov edi, 0x16
test edi, edi
jne 0x45c963
cmp dword [ebx + 0x58], 0x12c
mov ebp, dword [esp + 0x34]
jl 0x45c718
cmp byte [ebp + 0x1d8], 0
jne case.default.0x45c5f6
cmp byte [ebp + 0x1ce], 0
jne case.default.0x45c5f6
cmp byte [esi + 0xd83], 0
jne 0x45c6fd
movzx eax, byte [esi + 0xd6e]
dec eax
cmp eax, 3
ja case.default.0x45c5f6
jmp dword [eax*4 + 0x45c9f8]
push 0
push esi
call fcn.0043be40
add esp, 8
cmp byte [ebx + 0xbc], 0
jne case.default.0x45c5f6
cmp dword [ebx + 0x58], 0x1a1
jne 0x45c68f
cmp byte [esi + 0xd77], 0
je 0x45c68f
mov eax, dword [ebx + 0x18]
or eax, dword [ebx + 0x1c]
jne 0x45c645
cmp dword [ebx + 0x70], 1
jne 0x45c645
push str.Got_HTTP_failure_417_while_waiting_for_a_100
push esi
call fcn.004421b0
add esp, 8
jmp 0x45c66a
push str.Got_HTTP_failure_417_while_sending_data
push esi
call fcn.004421b0
push 2
push ebp
call fcn.00443290
push ebp
push esi
call fcn.0045cfa0
add esp, 0x18
test eax, eax
jne 0x45c81a
push dword [esi + 0xcc4]
mov byte [esi + 0xd78], 1
call dword [0x58d074]
push ebx
push esi
mov dword [esi + 0x118], eax
call fcn.004647a0
add esp, 0xc
jmp case.default.0x45c5f6
cmp byte [esi + 0x6cb], 0
je 0x45c6b9
push str.HTTP_error_before_end_of_send__keep_sending
push esi
call fcn.004421b0
add esp, 8
cmp dword [ebx + 0x70], 0
jle case.default.0x45c5f6
or dword [ebx + 0x5c], 2
mov dword [ebx + 0x70], 0
jmp case.default.0x45c5f6
push str.HTTP_error_before_end_of_send__stop_sending
push esi
call fcn.004421b0
push 2
push ebp
call fcn.00443290
push ebx
push esi
call fcn.004647a0
add esp, 0x18
test eax, eax
jne 0x45c81a
mov byte [ebx + 0xbc], 1
cmp byte [esi + 0xd77], al
je case.default.0x45c5f6
mov dword [ebx + 0x70], 3
cmp byte [esi + 0xd83], 0
je 0x45c718
cmp dword [ebp + 0x204], 0xffffffff
je 0x45c718
push str.Keep_sending_data_to_get_tossed_away
push esi
call fcn.004421b0
add esp, 8
or dword [ebx + 0x5c], 2
cmp byte [ebx + 0xba], 0
je 0x45c96d
lea eax, [esi + 0x8b0]
push eax
call fcn.0042f2b0
mov edi, dword [ebx + 0x4c]
add esp, 4
cmp byte [edi], 0
je 0x45c818
mov ecx, dword [esp + 0x38]
mov eax, edi
mov dword [esp + 0x14], eax
mov ebp, dword [ecx]
push ebp
push 0xa
push eax
mov dword [esp + 0x3c], ebp
call fcn.005320a0
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x45ba87
push dword [esp + 0x30]
lea edi, [esi + 0x8b0]
push dword [esp + 0x18]
push edi
call fcn.0042f230
add esp, 0xc
test eax, eax
jne 0x45c81a
cmp dword [ebx + 0x48], eax
jne 0x45c818
push edi
call fcn.0042f290
add esp, 4
push eax
push edi
call fcn.0042f2a0
mov ebp, dword [esp + 0x3c]
add esp, 4
push eax
push ebp
push esi
call fcn.0045ce70
add esp, 0x10
cmp eax, 2
jne 0x45c818
push eax
push ebp
mov byte [ebx + 0xba], 0
mov dword [ebx + 0x44], eax
call fcn.00443290
add esp, 8
cmp byte [esi + 0x6ed], 0
jne 0x45c818
push str.Received_HTTP_0.9_when_not_allowed
push esi
call fcn.004420e0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push 2
push edi
call fcn.00443290
add esp, 8
cmp byte [esi + 0x6ed], 0
je 0x45c7d2
mov eax, dword [esp + 0x38]
mov byte [ebx + 0xba], 0
cmp dword [eax], 0
je 0x45c822
mov dword [ebx + 0x44], 1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov ecx, dword [esp + 0x20]
pop edi
mov dword [ebx + 0x44], 2
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
pop esi
mov dword [ebx + 0x4c], eax
xor eax, eax
pop ebp
pop ebx
add esp, 0x1c
ret
push str.Unsupported_HTTP_version_in_response
push esi
call fcn.004420e0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, 0x66666667
imul edx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x14]
lea eax, [ecx + ecx*4]
add eax, eax
sub edx, eax
push edx
push ecx
push str.Unsupported_HTTP_version___u._d__in_response
push esi
call fcn.004420e0
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push str.Unsupported_response_code_in_HTTP_response
push esi
call fcn.004420e0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push str.Unsupported_HTTP_1_subversion_in_response
push esi
call fcn.004420e0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
pop edi
pop esi
pop ebp
mov byte [ebx + 0xba], 0
xor eax, eax
pop ebx
add esp, 0x1c
ret
mov eax, str.Header_without_colon
push eax
push esi
call fcn.004420e0
add esp, 8
mov eax, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, str.Nul_byte_in_header
push eax
push esi
call fcn.004420e0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 8
pop ebx
add esp, 0x1c
ret
push str.Received_101__Switching_to_HTTP_2
push esi
call fcn.004421b0
add esp, 8
mov dword [ebx + 0x74], 3
mov byte [ebx + 0xba], 1
mov eax, 1
mov dword [ebx + 0x48], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push str.Maximum_file_size_exceeded
push esi
call fcn.004420e0
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov edi, 0x1b
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
cmp byte [esi + 0x14c], 0
mov ecx, dword [esp + 0x3c]
jne 0x45c99f
mov eax, dword [ebp + 0x1e8]
test dword [eax + 0x44], 0x40000
je 0x45c9a2
cmp dword [esi + 0x660], 2
jne 0x45c9a2
cmp dword [ebx + 4], 0xffffffff
jg 0x45c9a2
jl 0x45c99f
cmp dword [ebx], 0xffffffff
ja 0x45c9a2
mov byte [ecx], 1
cmp dword [ebx + 8], 0
jne 0x45c9b3
cmp dword [ebx + 0xc], 0
jne 0x45c9b3
mov byte [ecx], 1
jmp 0x45c9b8
cmp byte [ecx], 0
je 0x45c9bc
and dword [ebx + 0x5c], 0xfffffffe
push dword [esp + 0x28]
push dword [esp + 0x18]
push 1
push esi
call fcn.00442040
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push edi
push str.The_requested_URL_returned_error:__d
push esi
call fcn.004420e0
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret