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

Disassembly:
sub esp, 0x18
mov eax, dword [esp + 0x24]
push ebx
push ebp
push esi
mov ecx, dword [eax]
mov esi, dword [esp + 0x28]
push edi
push ecx
push 0xa
mov edx, dword [esi + 0xd0]
mov edi, ecx
mov eax, edx
mov dword [esp + 0x24], ecx
push eax
mov dword [esp + 0x2c], edx
mov ebx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], ecx
call sub.VCRUNTIME140.dll_memchr
mov ebp, dword [esp + 0x3c]
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x100abf37
mov dword [esp + 0x18], 0xffffffff
nop
mov edx, dword [esp + 0x34]
sub edi, ecx
lea eax, [edi - 1]
add eax, ebx
lea edi, [esi + 0x8a4]
mov dword [edx], eax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0xd0], eax
sub eax, ecx
push eax
push ecx
push edi
call fcn.10094810
add esp, 0xc
test eax, eax
jne 0x100abff0
cmp dword [esi + 0xcc], eax
jne 0x100ab333
push edi
call fcn.10094870
push edi
mov ebx, eax
call fcn.10094880
mov ecx, dword [ebp + 0x1e0]
add esp, 8
test dword [ecx + 0x44], 0x40000
je 0x100ab31f
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 fcn.100a3a80
add esp, 0xc
test eax, eax
mov eax, 2
cmovne eax, edi
lea edi, [esi + 0x8a4]
jmp 0x100ab32a
push ebx
push eax
push esi
call fcn.100ac440
add esp, 0xc
cmp eax, 2
je 0x100abfc0
push edi
call fcn.10094880
mov edx, eax
add esp, 4
mov dword [esp + 0x2c], edx
mov cl, byte [edx]
cmp cl, 0xa
je 0x100ab865
cmp cl, 0xd
je 0x100ab865
mov ecx, dword [esi + 0xcc]
mov ebx, 2
lea eax, [ecx + 1]
mov dword [esi + 0xcc], eax
test ecx, ecx
jne 0x100ab763
mov eax, dword [ebp + 0x1e0]
mov eax, dword [eax + 0x44]
test al, 3
je 0x100ab580
mov al, byte [edx]
mov edi, edx
test al, al
je 0x100ab3a0
nop dword [eax + eax]
cmp al, 0x20
je 0x100ab398
cmp al, 9
jne 0x100ab3a0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100ab390
push 5
push str.HTTP_
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x100ab449
movsx ecx, byte [edi + 5]
mov eax, ecx
sub eax, 0x31
je 0x100ab48b
sub eax, 1
je 0x100ab3d5
sub eax, 1
jne 0x100ac01c
mov al, byte [edi + 6]
cmp al, 0x20
je 0x100ab3e0
cmp al, 9
jne 0x100ab449
lea ebx, [ecx - 0x30]
mov cl, byte [edi + 7]
mov al, cl
lea ebx, [ebx + ebx*4]
sub al, 0x30
add ebx, ebx
cmp al, 9
ja 0x100ab449
mov dh, byte [edi + 8]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x100ab449
mov dl, byte [edi + 9]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100ab449
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 0x100ab51e
cmp al, 9
je 0x100ab51e
cmp al, 0xa
jl 0x100ab449
cmp al, 0xd
jle 0x100ab51e
lea edi, [esi + 0x8a4]
push edi
call fcn.10094870
add esp, 4
push eax
push edi
call fcn.10094880
add esp, 4
push eax
push esi
call fcn.100ac440
add esp, 0xc
cmp eax, 1
jne 0x100ac0a2
mov dword [esi + 0xe0], 0xc8
mov byte [ebp + 0x453], 0xa
jmp 0x100ab65d
cmp byte [edi + 6], 0x2e
jne 0x100ac087
mov al, byte [edi + 7]
cmp al, 0x30
je 0x100ab4a4
cmp al, 0x31
jne 0x100ac087
mov cl, byte [edi + 8]
cmp cl, 0x20
je 0x100ab4b5
cmp cl, 9
jne 0x100ac087
mov cl, byte [edi + 9]
movsx ebx, al
mov al, cl
sub al, 0x30
sub ebx, 0x26
cmp al, 9
ja 0x100ac087
mov dh, byte [edi + 0xa]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x100ac087
mov dl, byte [edi + 0xb]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100ac087
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 0x100ab51e
cmp al, 9
je 0x100ab51e
sub al, 0xa
cmp al, 3
ja 0x100ac087
cmp ecx, 0x64
jl 0x100ac06c
mov eax, ebx
sub eax, 0xa
je 0x100ab537
sub eax, 1
jne 0x100ac037
mov byte [ebp + 0x453], bl
mov al, bl
cmp dword [esi + 0xfc], 3
jne 0x100ab561
cmp bl, 0x14
je 0x100ab561
push str.Lying_server__not_serving_HTTP_2
push esi
call fcn.1009ea90
mov al, byte [ebp + 0x453]
add esp, 8
lea edi, [esi + 0x8a4]
cmp al, 0x14
jae 0x100ab65d
mov eax, dword [ebp + 0x420]
mov dword [eax], 0xffffffff
jmp 0x100ab65d
test eax, 0x40000
je 0x100ac0a2
mov al, byte [edx]
mov edi, edx
test al, al
je 0x100ab5a3
cmp al, 0x20
je 0x100ab59b
cmp al, 9
jne 0x100ab5a3
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100ab593
push 5
push str.RTSP_
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x100ac0a2
mov al, byte [edi + 5]
sub al, 0x30
cmp al, 9
ja 0x100ac0de
cmp byte [edi + 6], 0x2e
jne 0x100ac0de
mov al, byte [edi + 7]
sub al, 0x30
cmp al, 9
ja 0x100ac0de
mov al, byte [edi + 8]
cmp al, 0x20
je 0x100ab5ee
cmp al, 9
jne 0x100ac0de
mov cl, byte [edi + 9]
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100ac0de
mov bl, byte [edi + 0xa]
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x100ac0de
mov dl, byte [edi + 0xb]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100ac0de
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 0x100ab650
cmp al, 9
je 0x100ab650
sub al, 0xa
cmp al, 3
ja 0x100ac0de
mov byte [ebp + 0x453], 0xb
lea edi, [esi + 0x8a4]
mov eax, dword [esi + 0xe0]
mov cl, byte [esi + 0xc3d]
mov dword [esi + 0xd58], eax
movzx eax, byte [ebp + 0x453]
mov dword [esi + 0xd60], eax
mov al, byte [ebp + 0x453]
test cl, cl
je 0x100ab68a
cmp cl, al
jbe 0x100ab690
mov byte [esi + 0xc3d], al
mov eax, dword [esi + 0xc48]
or eax, dword [esi + 0xc4c]
je 0x100ab6ba
cmp byte [esi + 0xc94], 0
jne 0x100ab6ba
cmp dword [esi + 0xe0], 0x1a0
jne 0x100ab6ba
mov byte [esi + 0x145], 1
mov al, byte [ebp + 0x453]
cmp al, 0xa
jne 0x100ab6dc
push str.HTTP_1.0__assume_close_after_body
push esi
call fcn.1009ea90
push 1
push ebp
call fcn.1009f760
add esp, 0x10
jmp 0x100ab6fe
cmp al, 0x14
je 0x100ab6f2
cmp dword [esi + 0xfc], 2
jne 0x100ab6fe
cmp dword [esi + 0xe0], 0x65
jne 0x100ab6fe
mov eax, dword [ebp + 0x420]
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 0x100ab72f
sub ecx, 0x64
jne 0x100ab75e
cmp byte [esi + 0x3c8], cl
je 0x100ab72f
mov byte [esi + 0xe20], 1
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov byte [esi + 0x146], 1
mov ebx, 6
push edi
call fcn.10094880
mov edi, eax
lea eax, [esi + 0x8a4]
push eax
call fcn.10094870
push eax
push 0
push edi
mov dword [esp + 0x28], eax
call sub.VCRUNTIME140.dll_memchr
add esp, 0x14
test eax, eax
jne 0x100ac0cf
mov ecx, dword [esi + 0xcc]
cmp ecx, 2
jl 0x100ab7c0
mov al, byte [edi]
cmp al, 0x20
je 0x100ab7a4
cmp al, 9
jne 0x100ab7a9
cmp ecx, 2
jg 0x100ab7c0
push dword [esp + 0x14]
push 0x3a
push edi
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x100ac0b3
push dword [esp + 0x2c]
push ebp
push esi
call fcn.100aa2c0
add esp, 0xc
test eax, eax
jne 0x100abff0
cmp byte [esi + 0x6cb], al
je 0x100ab7e1
or ebx, 1
mov edi, dword [esi + 0xe0]
lea eax, [esi + 0x8a4]
push eax
call fcn.10094870
push eax
push dword [esp + 0x34]
push 1
push esi
call fcn.1009e920
lea eax, [esi + 0x8a4]
push eax
call fcn.10094870
push eax
push dword [esp + 0x48]
lea eax, [edi - 0x64]
mov ecx, ebx
or ecx, 0x10
cmp eax, 0x64
cmovae ecx, ebx
push ecx
push esi
call fcn.1009eb20
add esp, 0x28
test eax, eax
jne 0x100abff0
lea ebx, [esi + 0x8a4]
push ebx
call fcn.10094870
add dword [esi + 0xd70], eax
push ebx
adc dword [esi + 0xd74], 0
call fcn.10094870
add esp, 8
add dword [esi + 0xa0], eax
adc dword [esi + 0xa4], 0
jmp 0x100abef9
mov ecx, dword [esi + 0xe0]
lea eax, [ecx - 0x64]
cmp eax, 0x63
ja 0x100ab8fa
sub ecx, 0x64
je 0x100ab8b8
sub ecx, 1
je 0x100ab89b
lea ecx, [esi + 0x142]
mov dword [esi + 0xcc], 0
mov byte [ecx], 1
mov edi, ecx
jmp 0x100ab964
cmp dword [esi + 0xfc], 2
je 0x100ac0eb
lea ecx, [esi + 0x142]
mov byte [ecx], 0
mov edi, ecx
jmp 0x100ab964
cmp dword [esi + 0xf8], 0
lea ecx, [esi + 0x142]
mov byte [ecx], 1
mov dword [esi + 0xcc], 0
jle 0x100ab8f6
or dword [esi + 0xe4], 2
push 0
push esi
mov dword [esi + 0xf8], 0
call fcn.1008e850
add esp, 8
lea ecx, [esi + 0x142]
mov edi, ecx
jmp 0x100ab964
mov eax, dword [esi + 0x80]
lea edx, [esi + 0x80]
and eax, dword [edx + 4]
lea edi, [esi + 0x142]
mov byte [esi + 0x142], 0
cmp eax, 0xffffffff
jne 0x100ab973
cmp byte [esi + 0x147], 0
jne 0x100ab973
cmp byte [ebp + 0x1c6], 0
jne 0x100ab973
cmp byte [ebp + 0x453], 0xb
jne 0x100ab973
mov eax, dword [ebp + 0x1e0]
test dword [eax + 0x44], 0x40000
jne 0x100ab973
cmp byte [esi + 0xc94], 5
je 0x100ab973
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end
push esi
call fcn.1009ea90
push 2
push ebp
call fcn.1009f760
add esp, 0x10
cmp byte [edi], 0
jne 0x100ab9f7
lea edx, [esi + 0x80]
cmp byte [esi + 0x148], 0
jne 0x100ab9dc
cmp byte [edx + 0xc7], 0
jne 0x100ab9dc
mov ecx, dword [edx]
mov eax, ecx
mov edx, dword [edx + 4]
and eax, edx
cmp eax, 0xffffffff
je 0x100ab9f7
mov ebx, dword [esi + 0x4c8]
mov eax, ebx
mov edi, dword [esi + 0x4cc]
or eax, edi
je 0x100ab9b7
cmp edx, edi
jg 0x100ac121
jl 0x100ab9b7
cmp ecx, ebx
ja 0x100ac121
push edx
push ecx
push esi
call fcn.100ade40
mov eax, dword [esi + 0x80]
add esp, 0xc
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], ecx
jmp 0x100ab9f7
mov dword [edx + 8], 0xffffffff
mov dword [edx + 0xc], 0xffffffff
mov dword [edx], 0xffffffff
mov dword [edx + 4], 0xffffffff
mov al, byte [ebp + 0x1c6]
test al, al
je 0x100aba87
mov eax, dword [esi + 0xe0]
cmp eax, 0x191
jne 0x100aba1b
cmp dword [ebp + 0x250], 2
je 0x100aba2b
cmp eax, 0x197
jne 0x100aba4a
cmp dword [ebp + 0x254], 2
jne 0x100aba4a
push str.Connection_closure_while_negotiating_auth__HTTP_1.0__
push esi
call fcn.1009ea90
mov byte [esi + 0xd3d], 1
add esp, 8
mov al, byte [ebp + 0x1c6]
test al, al
je 0x100aba87
mov eax, dword [esi + 0xe0]
cmp eax, 0x191
jne 0x100aba62
cmp dword [ebp + 0x2d8], 1
je 0x100aba72
jmp 0x100aba87
cmp eax, 0x197
jne 0x100aba87
cmp dword [ebp + 0x2dc], 1
jne 0x100aba87
push str.Connection_closure_while_negotiating_auth__HTTP_1.0__
push esi
call fcn.1009ea90
add esp, 8
mov byte [esi + 0xd3d], 1
cmp dword [ebp + 0x2d8], 3
jne 0x100abaa6
cmp dword [esi + 0xe0], 0x191
je 0x100abaa6
mov dword [ebp + 0x2d8], 4
cmp dword [ebp + 0x2dc], 3
jne 0x100abac5
cmp dword [esi + 0xe0], 0x197
je 0x100abac5
mov dword [ebp + 0x2dc], 4
mov eax, dword [esi + 0xe0]
xor ebx, ebx
cmp byte [esi + 0x6cb], bl
setne bl
sub eax, 0x64
add ebx, 2
cmp eax, 0x64
sbb eax, eax
and eax, 0x10
or ebx, eax
lea eax, [esi + 0x8a4]
push eax
call fcn.10094870
add esp, 4
mov edi, eax
lea eax, [esi + 0x8a4]
mov dword [esp + 0x24], edi
push edi
push eax
call fcn.10094880
add esp, 4
push eax
push ebx
push esi
call fcn.1009eb20
add esp, 0x10
test eax, eax
jne 0x100abff0
mov eax, edi
cdq
mov ebx, eax
mov eax, dword [esi + 0xa4]
add dword [esi + 0xd70], ebx
push esi
adc dword [esi + 0xd74], edx
add ebx, dword [esi + 0xa0]
mov dword [esi + 0xa0], ebx
adc eax, edx
mov dword [esi + 0xa4], eax
mov edi, dword [esi + 0xe0]
mov dword [esp + 0x30], eax
call fcn.100ac810
add esp, 4
test al, al
jne 0x100ac1c7
lea eax, [edi - 0x64]
cmp eax, 0x63
ja 0x100abb81
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xac], eax
jmp 0x100abd96
mov ebx, dword [esi + 0xc]
xor dl, dl
mov dword [esi + 0xa8], 0
mov eax, 0xffffffbf
mov dword [esi + 0xac], 0
mov ecx, dword [esi + 0x5ec]
test ecx, ecx
mov byte [esp + 0x13], dl
cmovne eax, dword [esp + 0x18]
cmp byte [esi + 0xd3d], dl
je 0x100abbcd
xor edi, edi
mov eax, 0x16
cmp byte [esi + 0x6c6], dl
cmovne edi, eax
jmp 0x100abd8e
cmp dword [esi + 0xd28], 0
jne 0x100abbde
mov byte [esp + 0x2c], dl
test ecx, ecx
je 0x100abc4f
cmp edi, 0x191
je 0x100abbff
cmp byte [ebx + 0x1d0], 0
mov byte [esp + 0x2c], dl
je 0x100abc4f
mov byte [esp + 0x2c], dl
cmp edi, 0x12c
jge 0x100abc4f
push eax
lea eax, [esi + 0x95c]
push eax
call fcn.100acbb0
mov cl, al
add esp, 8
mov byte [esp + 0x2c], cl
test cl, cl
jne 0x100abc20
mov byte [esi + 0xd3d], 1
cmp dword [esi + 0x960], 8
jne 0x100abc4f
cmp byte [ebx + 0x453], 0xb
jbe 0x100abc4f
push str.Forcing_HTTP_1.1_for_NTLM
push esi
call fcn.1009ea90
push 1
push ebx
call fcn.1009f760
add esp, 0x10
mov byte [esi + 0xc3c], 2
mov dl, byte [esp + 0x13]
mov al, dl
cmp byte [ebx + 0x1c2], al
je 0x100abc97
mov ecx, dword [esi + 0xe0]
cmp ecx, 0x197
je 0x100abc7b
cmp byte [ebx + 0x1d0], al
je 0x100abc97
cmp ecx, 0x12c
jge 0x100abc97
lea eax, [esi + 0x96c]
push 0xffffffffffffffbf
push eax
call fcn.100acbb0
add esp, 8
test al, al
jne 0x100abc97
mov byte [esi + 0xd3d], 1
cmp byte [esp + 0x2c], 0
jne 0x100abd08
test al, al
jne 0x100abd08
xor edi, edi
cmp dword [esi + 0xe0], 0x12c
jge 0x100abd68
cmp byte [esi + 0x968], al
jne 0x100abd68
cmp byte [ebx + 0x1d0], al
je 0x100abd68
mov al, byte [esi + 0xc94]
test al, al
je 0x100abd68
cmp al, 5
je 0x100abd68
push dword [esi + 0xc98]
call dword [0x1019b664]
add esp, 4
mov dword [esi + 0x118], eax
test eax, eax
je 0x100ac1b8
mov byte [esi + 0x968], 1
jmp 0x100abd68
mov al, byte [esi + 0xc94]
xor edi, edi
test al, al
je 0x100abd35
cmp al, 5
je 0x100abd35
cmp byte [esi + 0xd4b], 0
jne 0x100abd35
push ebx
push esi
call fcn.100ac600
mov edi, eax
add esp, 8
test edi, edi
jne 0x100ac1bd
push dword [esi + 0x118]
call dword [0x1019b65c]
push dword [esi + 0xc98]
mov dword [esi + 0x118], 0
call dword [0x1019b664]
add esp, 8
mov dword [esi + 0x118], eax
test eax, eax
je 0x100ac1b8
push esi
call fcn.100ac810
add esp, 4
test al, al
je 0x100abd8e
push dword [esi + 0xe0]
push str.The_requested_URL_returned_error:__d
push esi
call fcn.1009e9c0
add esp, 0xc
mov edi, 0x16
test edi, edi
jne 0x100ac1bd
cmp dword [esi + 0xe0], 0x12c
jl 0x100abee6
cmp byte [ebp + 0x1d0], 0
jne case.default.0x100abdde
cmp byte [ebp + 0x1c6], 0
jne case.default.0x100abdde
cmp byte [esi + 0xd4b], 0
jne 0x100abec8
movzx eax, byte [esi + 0xc94]
dec eax
cmp eax, 3
ja case.default.0x100abdde
jmp dword [eax*4 + 0x100ac1e4]
push 0
push esi
call fcn.1008e850
add esp, 8
cmp byte [esi + 0x144], 0
jne case.default.0x100abdde
cmp dword [esi + 0xe0], 0x1a1
jne 0x100abe48
cmp byte [esi + 0xd3f], 0
je 0x100abe48
push str.Got_417_while_waiting_for_a_100
push esi
call fcn.1009ea90
push dword [esi + 0xc98]
mov byte [esi + 0xd40], 1
call dword [0x1019b664]
mov dword [esi + 0x118], eax
lea eax, [esi + 0x80]
push eax
push esi
call fcn.100a4140
add esp, 0x14
jmp case.default.0x100abdde
cmp byte [esi + 0x6c7], 0
je 0x100abe7b
push str.HTTP_error_before_end_of_send__keep_sending
push esi
call fcn.1009ea90
add esp, 8
cmp dword [esi + 0xf8], 0
jle case.default.0x100abdde
or dword [esi + 0xe4], 2
mov dword [esi + 0xf8], 0
jmp case.default.0x100abdde
push str.HTTP_error_before_end_of_send__stop_sending
push esi
call fcn.1009ea90
push 2
push ebp
call fcn.1009f760
lea eax, [esi + 0x80]
push eax
push esi
call fcn.100a4140
add esp, 0x18
test eax, eax
jne 0x100abff0
mov byte [esi + 0x144], 1
cmp byte [esi + 0xd3f], al
je case.default.0x100abdde
mov dword [esi + 0xf8], 3
cmp byte [esi + 0xd4b], 0
je 0x100abee6
cmp dword [ebp + 0x1fc], 0xffffffff
je 0x100abee6
push str.Keep_sending_data_to_get_tossed_away
push esi
call fcn.1009ea90
add esp, 8
or dword [esi + 0xe4], 2
cmp byte [esi + 0x142], 0
je 0x100ac13c
lea ebx, [esi + 0x8a4]
push ebx
call fcn.10094890
mov ebx, dword [esi + 0xd0]
add esp, 4
cmp byte [ebx], 0
je 0x100abfee
mov ecx, dword [esp + 0x34]
mov eax, ebx
mov dword [esp + 0x14], eax
mov edi, dword [ecx]
push edi
push 0xa
push eax
mov dword [esp + 0x38], edi
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x100ab290
push dword [esp + 0x2c]
lea ebx, [esi + 0x8a4]
push dword [esp + 0x18]
push ebx
call fcn.10094810
add esp, 0xc
test eax, eax
jne 0x100abff0
cmp dword [esi + 0xcc], eax
jne 0x100abfee
push ebx
call fcn.10094870
add esp, 4
push eax
push ebx
call fcn.10094880
add esp, 4
push eax
push ebp
push esi
call fcn.100ac4f0
add esp, 0x10
cmp eax, 2
jne 0x100abfee
push eax
push ebp
mov byte [esi + 0x142], 0
mov dword [esi + 0xc8], eax
call fcn.1009f760
add esp, 8
cmp byte [esi + 0x6ea], 0
jne 0x100abfee
push str.Received_HTTP_0.9_when_not_allowed
push esi
call fcn.1009e9c0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push 2
push ebp
call fcn.1009f760
add esp, 8
cmp byte [esi + 0x6ea], 0
je 0x100abfa5
mov eax, dword [esp + 0x34]
mov byte [esi + 0x142], 0
cmp dword [eax], 0
je 0x100abff8
mov dword [esi + 0xc8], 1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0xc8], 2
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
pop edi
mov dword [esi + 0xd0], eax
xor eax, eax
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push str.Unsupported_HTTP_version_in_response
push esi
call fcn.1009e9c0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
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.1009e9c0
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push str.Unsupported_response_code_in_HTTP_response
push esi
call fcn.1009e9c0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push str.Unsupported_HTTP_1_subversion_in_response
push esi
call fcn.1009e9c0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
pop edi
mov byte [esi + 0x142], 0
xor eax, eax
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov eax, str.Header_without_colon
push eax
push esi
call fcn.1009e9c0
add esp, 8
mov eax, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov eax, str.Nul_byte_in_header
push eax
push esi
call fcn.1009e9c0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 8
pop ebx
add esp, 0x18
ret
push str.Received_101__Switching_to_HTTP_2
push esi
call fcn.1009ea90
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 ebp
pop ebx
add esp, 0x18
ret
push str.Maximum_file_size_exceeded
push esi
call fcn.1009e9c0
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp byte [esi + 0x14c], 0
mov ecx, dword [esp + 0x38]
jne 0x100ac175
mov eax, dword [ebp + 0x1e0]
test dword [eax + 0x44], 0x40000
je 0x100ac178
cmp dword [esi + 0x65c], 2
jne 0x100ac178
cmp dword [esi + 0x84], 0xffffffff
jg 0x100ac178
jl 0x100ac175
cmp dword [esi + 0x80], 0xffffffff
ja 0x100ac178
mov byte [ecx], 1
cmp dword [esi + 0x88], 0
jne 0x100ac18f
cmp dword [esi + 0x8c], 0
jne 0x100ac18f
mov byte [ecx], 1
jmp 0x100ac194
cmp byte [ecx], 0
je 0x100ac19b
and dword [esi + 0xe4], 0xfffffffe
push dword [esp + 0x24]
push dword [esp + 0x18]
push 1
push esi
call fcn.1009e920
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov edi, 0x1b
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push edi
push str.The_requested_URL_returned_error:__d
push esi
call fcn.1009e9c0
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret