Function at 0x437710
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 fcn.0046c5d0
mov ebp, dword [esp + 0x3c]
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x438407
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.004221e0
add esp, 0xc
test eax, eax
jne 0x4384c0
cmp dword [esi + 0xcc], eax
jne 0x437803
push edi
call fcn.00422240
push edi
mov ebx, eax
call fcn.00422250
mov ecx, dword [ebp + 0x1e0]
add esp, 8
test dword [ecx + 0x44], 0x40000
je 0x4377ef
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.0042ff50
add esp, 0xc
test eax, eax
mov eax, 2
cmovne eax, edi
lea edi, [esi + 0x8a4]
jmp 0x4377fa
push ebx
push eax
push esi
call fcn.00438910
add esp, 0xc
cmp eax, 2
je 0x438490
push edi
call fcn.00422250
mov edx, eax
add esp, 4
mov dword [esp + 0x2c], edx
mov cl, byte [edx]
cmp cl, 0xa
je 0x437d35
cmp cl, 0xd
je 0x437d35
mov ecx, dword [esi + 0xcc]
mov ebx, 2
lea eax, [ecx + 1]
mov dword [esi + 0xcc], eax
test ecx, ecx
jne 0x437c33
mov eax, dword [ebp + 0x1e0]
mov eax, dword [eax + 0x44]
test al, 3
je 0x437a50
mov al, byte [edx]
mov edi, edx
test al, al
je 0x437870
nop dword [eax + eax]
cmp al, 0x20
je 0x437868
cmp al, 9
jne 0x437870
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x437860
push 5
push str.HTTP_
push edi
call fcn.00471ee0
add esp, 0xc
test eax, eax
jne 0x437919
movsx ecx, byte [edi + 5]
mov eax, ecx
sub eax, 0x31
je 0x43795b
sub eax, 1
je 0x4378a5
sub eax, 1
jne 0x4384ec
mov al, byte [edi + 6]
cmp al, 0x20
je 0x4378b0
cmp al, 9
jne 0x437919
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 0x437919
mov dh, byte [edi + 8]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x437919
mov dl, byte [edi + 9]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x437919
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 0x4379ee
cmp al, 9
je 0x4379ee
cmp al, 0xa
jl 0x437919
cmp al, 0xd
jle 0x4379ee
lea edi, [esi + 0x8a4]
push edi
call fcn.00422240
add esp, 4
push eax
push edi
call fcn.00422250
add esp, 4
push eax
push esi
call fcn.00438910
add esp, 0xc
cmp eax, 1
jne 0x438572
mov dword [esi + 0xe0], 0xc8
mov byte [ebp + 0x453], 0xa
jmp 0x437b2d
cmp byte [edi + 6], 0x2e
jne 0x438557
mov al, byte [edi + 7]
cmp al, 0x30
je 0x437974
cmp al, 0x31
jne 0x438557
mov cl, byte [edi + 8]
cmp cl, 0x20
je 0x437985
cmp cl, 9
jne 0x438557
mov cl, byte [edi + 9]
movsx ebx, al
mov al, cl
sub al, 0x30
sub ebx, 0x26
cmp al, 9
ja 0x438557
mov dh, byte [edi + 0xa]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x438557
mov dl, byte [edi + 0xb]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x438557
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 0x4379ee
cmp al, 9
je 0x4379ee
sub al, 0xa
cmp al, 3
ja 0x438557
cmp ecx, 0x64
jl 0x43853c
mov eax, ebx
sub eax, 0xa
je 0x437a07
sub eax, 1
jne 0x438507
mov byte [ebp + 0x453], bl
mov al, bl
cmp dword [esi + 0xfc], 3
jne 0x437a31
cmp bl, 0x14
je 0x437a31
push str.Lying_server__not_serving_HTTP_2
push esi
call fcn.0042c440
mov al, byte [ebp + 0x453]
add esp, 8
lea edi, [esi + 0x8a4]
cmp al, 0x14
jae 0x437b2d
mov eax, dword [ebp + 0x420]
mov dword [eax], 0xffffffff
jmp 0x437b2d
test eax, 0x40000
je 0x438572
mov al, byte [edx]
mov edi, edx
test al, al
je 0x437a73
cmp al, 0x20
je 0x437a6b
cmp al, 9
jne 0x437a73
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x437a63
push 5
push str.RTSP_
push edi
call fcn.00471ee0
add esp, 0xc
test eax, eax
jne 0x438572
mov al, byte [edi + 5]
sub al, 0x30
cmp al, 9
ja 0x4385ae
cmp byte [edi + 6], 0x2e
jne 0x4385ae
mov al, byte [edi + 7]
sub al, 0x30
cmp al, 9
ja 0x4385ae
mov al, byte [edi + 8]
cmp al, 0x20
je 0x437abe
cmp al, 9
jne 0x4385ae
mov cl, byte [edi + 9]
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x4385ae
mov bl, byte [edi + 0xa]
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x4385ae
mov dl, byte [edi + 0xb]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4385ae
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 0x437b20
cmp al, 9
je 0x437b20
sub al, 0xa
cmp al, 3
ja 0x4385ae
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 0x437b5a
cmp cl, al
jbe 0x437b60
mov byte [esi + 0xc3d], al
mov eax, dword [esi + 0xc48]
or eax, dword [esi + 0xc4c]
je 0x437b8a
cmp byte [esi + 0xc94], 0
jne 0x437b8a
cmp dword [esi + 0xe0], 0x1a0
jne 0x437b8a
mov byte [esi + 0x145], 1
mov al, byte [ebp + 0x453]
cmp al, 0xa
jne 0x437bac
push str.HTTP_1.0__assume_close_after_body
push esi
call fcn.0042c440
push 1
push ebp
call fcn.0042d120
add esp, 0x10
jmp 0x437bce
cmp al, 0x14
je 0x437bc2
cmp dword [esi + 0xfc], 2
jne 0x437bce
cmp dword [esi + 0xe0], 0x65
jne 0x437bce
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 0x437bff
sub ecx, 0x64
jne 0x437c2e
cmp byte [esi + 0x3c8], cl
je 0x437bff
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.00422250
mov edi, eax
lea eax, [esi + 0x8a4]
push eax
call fcn.00422240
push eax
push 0
push edi
mov dword [esp + 0x28], eax
call fcn.0046c5d0
add esp, 0x14
test eax, eax
jne 0x43859f
mov ecx, dword [esi + 0xcc]
cmp ecx, 2
jl 0x437c90
mov al, byte [edi]
cmp al, 0x20
je 0x437c74
cmp al, 9
jne 0x437c79
cmp ecx, 2
jg 0x437c90
push dword [esp + 0x14]
push 0x3a
push edi
call fcn.0046c5d0
add esp, 0xc
test eax, eax
je 0x438583
push dword [esp + 0x2c]
push ebp
push esi
call fcn.00436790
add esp, 0xc
test eax, eax
jne 0x4384c0
cmp byte [esi + 0x6cb], al
je 0x437cb1
or ebx, 1
mov edi, dword [esi + 0xe0]
lea eax, [esi + 0x8a4]
push eax
call fcn.00422240
push eax
push dword [esp + 0x34]
push 1
push esi
call fcn.0042c2d0
lea eax, [esi + 0x8a4]
push eax
call fcn.00422240
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.0042c4d0
add esp, 0x28
test eax, eax
jne 0x4384c0
lea ebx, [esi + 0x8a4]
push ebx
call fcn.00422240
add dword [esi + 0xd70], eax
push ebx
adc dword [esi + 0xd74], 0
call fcn.00422240
add esp, 8
add dword [esi + 0xa0], eax
adc dword [esi + 0xa4], 0
jmp 0x4383c9
mov ecx, dword [esi + 0xe0]
lea eax, [ecx - 0x64]
cmp eax, 0x63
ja 0x437dca
sub ecx, 0x64
je 0x437d88
sub ecx, 1
je 0x437d6b
lea ecx, [esi + 0x142]
mov dword [esi + 0xcc], 0
mov byte [ecx], 1
mov edi, ecx
jmp 0x437e34
cmp dword [esi + 0xfc], 2
je 0x4385bb
lea ecx, [esi + 0x142]
mov byte [ecx], 0
mov edi, ecx
jmp 0x437e34
cmp dword [esi + 0xf8], 0
lea ecx, [esi + 0x142]
mov byte [ecx], 1
mov dword [esi + 0xcc], 0
jle 0x437dc6
or dword [esi + 0xe4], 2
push 0
push esi
mov dword [esi + 0xf8], 0
call fcn.0041c1f0
add esp, 8
lea ecx, [esi + 0x142]
mov edi, ecx
jmp 0x437e34
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 0x437e43
cmp byte [esi + 0x147], 0
jne 0x437e43
cmp byte [ebp + 0x1c6], 0
jne 0x437e43
cmp byte [ebp + 0x453], 0xb
jne 0x437e43
mov eax, dword [ebp + 0x1e0]
test dword [eax + 0x44], 0x40000
jne 0x437e43
cmp byte [esi + 0xc94], 5
je 0x437e43
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end
push esi
call fcn.0042c440
push 2
push ebp
call fcn.0042d120
add esp, 0x10
cmp byte [edi], 0
jne 0x437ec7
lea edx, [esi + 0x80]
cmp byte [esi + 0x148], 0
jne 0x437eac
cmp byte [edx + 0xc7], 0
jne 0x437eac
mov ecx, dword [edx]
mov eax, ecx
mov edx, dword [edx + 4]
and eax, edx
cmp eax, 0xffffffff
je 0x437ec7
mov ebx, dword [esi + 0x4c8]
mov eax, ebx
mov edi, dword [esi + 0x4cc]
or eax, edi
je 0x437e87
cmp edx, edi
jg 0x4385f1
jl 0x437e87
cmp ecx, ebx
ja 0x4385f1
push edx
push ecx
push esi
call fcn.0043a310
mov eax, dword [esi + 0x80]
add esp, 0xc
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], ecx
jmp 0x437ec7
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 0x437f57
mov eax, dword [esi + 0xe0]
cmp eax, 0x191
jne 0x437eeb
cmp dword [ebp + 0x250], 2
je 0x437efb
cmp eax, 0x197
jne 0x437f1a
cmp dword [ebp + 0x254], 2
jne 0x437f1a
push str.Connection_closure_while_negotiating_auth__HTTP_1.0__
push esi
call fcn.0042c440
mov byte [esi + 0xd3d], 1
add esp, 8
mov al, byte [ebp + 0x1c6]
test al, al
je 0x437f57
mov eax, dword [esi + 0xe0]
cmp eax, 0x191
jne 0x437f32
cmp dword [ebp + 0x2d8], 1
je 0x437f42
jmp 0x437f57
cmp eax, 0x197
jne 0x437f57
cmp dword [ebp + 0x2dc], 1
jne 0x437f57
push str.Connection_closure_while_negotiating_auth__HTTP_1.0__
push esi
call fcn.0042c440
add esp, 8
mov byte [esi + 0xd3d], 1
cmp dword [ebp + 0x2d8], 3
jne 0x437f76
cmp dword [esi + 0xe0], 0x191
je 0x437f76
mov dword [ebp + 0x2d8], 4
cmp dword [ebp + 0x2dc], 3
jne 0x437f95
cmp dword [esi + 0xe0], 0x197
je 0x437f95
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.00422240
add esp, 4
mov edi, eax
lea eax, [esi + 0x8a4]
mov dword [esp + 0x24], edi
push edi
push eax
call fcn.00422250
add esp, 4
push eax
push ebx
push esi
call fcn.0042c4d0
add esp, 0x10
test eax, eax
jne 0x4384c0
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.00438ce0
add esp, 4
test al, al
jne 0x438697
lea eax, [edi - 0x64]
cmp eax, 0x63
ja 0x438051
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xac], eax
jmp 0x438266
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 0x43809d
xor edi, edi
mov eax, 0x16
cmp byte [esi + 0x6c6], dl
cmovne edi, eax
jmp 0x43825e
cmp dword [esi + 0xd28], 0
jne 0x4380ae
mov byte [esp + 0x2c], dl
test ecx, ecx
je 0x43811f
cmp edi, 0x191
je 0x4380cf
cmp byte [ebx + 0x1d0], 0
mov byte [esp + 0x2c], dl
je 0x43811f
mov byte [esp + 0x2c], dl
cmp edi, 0x12c
jge 0x43811f
push eax
lea eax, [esi + 0x95c]
push eax
call fcn.00439080
mov cl, al
add esp, 8
mov byte [esp + 0x2c], cl
test cl, cl
jne 0x4380f0
mov byte [esi + 0xd3d], 1
cmp dword [esi + 0x960], 8
jne 0x43811f
cmp byte [ebx + 0x453], 0xb
jbe 0x43811f
push str.Forcing_HTTP_1.1_for_NTLM
push esi
call fcn.0042c440
push 1
push ebx
call fcn.0042d120
add esp, 0x10
mov byte [esi + 0xc3c], 2
mov dl, byte [esp + 0x13]
mov al, dl
cmp byte [ebx + 0x1c2], al
je 0x438167
mov ecx, dword [esi + 0xe0]
cmp ecx, 0x197
je 0x43814b
cmp byte [ebx + 0x1d0], al
je 0x438167
cmp ecx, 0x12c
jge 0x438167
lea eax, [esi + 0x96c]
push 0xffffffffffffffbf
push eax
call fcn.00439080
add esp, 8
test al, al
jne 0x438167
mov byte [esi + 0xd3d], 1
cmp byte [esp + 0x2c], 0
jne 0x4381d8
test al, al
jne 0x4381d8
xor edi, edi
cmp dword [esi + 0xe0], 0x12c
jge 0x438238
cmp byte [esi + 0x968], al
jne 0x438238
cmp byte [ebx + 0x1d0], al
je 0x438238
mov al, byte [esi + 0xc94]
test al, al
je 0x438238
cmp al, 5
je 0x438238
push dword [esi + 0xc98]
call dword [0x4a4018]
add esp, 4
mov dword [esi + 0x118], eax
test eax, eax
je 0x438688
mov byte [esi + 0x968], 1
jmp 0x438238
mov al, byte [esi + 0xc94]
xor edi, edi
test al, al
je 0x438205
cmp al, 5
je 0x438205
cmp byte [esi + 0xd4b], 0
jne 0x438205
push ebx
push esi
call fcn.00438ad0
mov edi, eax
add esp, 8
test edi, edi
jne 0x43868d
push dword [esi + 0x118]
call dword [0x4a4010]
push dword [esi + 0xc98]
mov dword [esi + 0x118], 0
call dword [0x4a4018]
add esp, 8
mov dword [esi + 0x118], eax
test eax, eax
je 0x438688
push esi
call fcn.00438ce0
add esp, 4
test al, al
je 0x43825e
push dword [esi + 0xe0]
push str.The_requested_URL_returned_error:__d
push esi
call fcn.0042c370
add esp, 0xc
mov edi, 0x16
test edi, edi
jne 0x43868d
cmp dword [esi + 0xe0], 0x12c
jl 0x4383b6
cmp byte [ebp + 0x1d0], 0
jne case.default.0x4382ae
cmp byte [ebp + 0x1c6], 0
jne case.default.0x4382ae
cmp byte [esi + 0xd4b], 0
jne 0x438398
movzx eax, byte [esi + 0xc94]
dec eax
cmp eax, 3
ja case.default.0x4382ae
jmp dword [eax*4 + 0x4386b4]
push 0
push esi
call fcn.0041c1f0
add esp, 8
cmp byte [esi + 0x144], 0
jne case.default.0x4382ae
cmp dword [esi + 0xe0], 0x1a1
jne 0x438318
cmp byte [esi + 0xd3f], 0
je 0x438318
push str.Got_417_while_waiting_for_a_100
push esi
call fcn.0042c440
push dword [esi + 0xc98]
mov byte [esi + 0xd40], 1
call dword [0x4a4018]
mov dword [esi + 0x118], eax
lea eax, [esi + 0x80]
push eax
push esi
call fcn.00430610
add esp, 0x14
jmp case.default.0x4382ae
cmp byte [esi + 0x6c7], 0
je 0x43834b
push str.HTTP_error_before_end_of_send__keep_sending
push esi
call fcn.0042c440
add esp, 8
cmp dword [esi + 0xf8], 0
jle case.default.0x4382ae
or dword [esi + 0xe4], 2
mov dword [esi + 0xf8], 0
jmp case.default.0x4382ae
push str.HTTP_error_before_end_of_send__stop_sending
push esi
call fcn.0042c440
push 2
push ebp
call fcn.0042d120
lea eax, [esi + 0x80]
push eax
push esi
call fcn.00430610
add esp, 0x18
test eax, eax
jne 0x4384c0
mov byte [esi + 0x144], 1
cmp byte [esi + 0xd3f], al
je case.default.0x4382ae
mov dword [esi + 0xf8], 3
cmp byte [esi + 0xd4b], 0
je 0x4383b6
cmp dword [ebp + 0x1fc], 0xffffffff
je 0x4383b6
push str.Keep_sending_data_to_get_tossed_away
push esi
call fcn.0042c440
add esp, 8
or dword [esi + 0xe4], 2
cmp byte [esi + 0x142], 0
je 0x43860c
lea ebx, [esi + 0x8a4]
push ebx
call fcn.00422260
mov ebx, dword [esi + 0xd0]
add esp, 4
cmp byte [ebx], 0
je 0x4384be
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 fcn.0046c5d0
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x437760
push dword [esp + 0x2c]
lea ebx, [esi + 0x8a4]
push dword [esp + 0x18]
push ebx
call fcn.004221e0
add esp, 0xc
test eax, eax
jne 0x4384c0
cmp dword [esi + 0xcc], eax
jne 0x4384be
push ebx
call fcn.00422240
add esp, 4
push eax
push ebx
call fcn.00422250
add esp, 4
push eax
push ebp
push esi
call fcn.004389c0
add esp, 0x10
cmp eax, 2
jne 0x4384be
push eax
push ebp
mov byte [esi + 0x142], 0
mov dword [esi + 0xc8], eax
call fcn.0042d120
add esp, 8
cmp byte [esi + 0x6ea], 0
jne 0x4384be
push str.Received_HTTP_0.9_when_not_allowed
push esi
call fcn.0042c370
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push 2
push ebp
call fcn.0042d120
add esp, 8
cmp byte [esi + 0x6ea], 0
je 0x438475
mov eax, dword [esp + 0x34]
mov byte [esi + 0x142], 0
cmp dword [eax], 0
je 0x4384c8
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.0042c370
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.0042c370
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.0042c370
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.0042c370
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.0042c370
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.0042c370
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.0042c440
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.0042c370
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 0x438645
mov eax, dword [ebp + 0x1e0]
test dword [eax + 0x44], 0x40000
je 0x438648
cmp dword [esi + 0x65c], 2
jne 0x438648
cmp dword [esi + 0x84], 0xffffffff
jg 0x438648
jl 0x438645
cmp dword [esi + 0x80], 0xffffffff
ja 0x438648
mov byte [ecx], 1
cmp dword [esi + 0x88], 0
jne 0x43865f
cmp dword [esi + 0x8c], 0
jne 0x43865f
mov byte [ecx], 1
jmp 0x438664
cmp byte [ecx], 0
je 0x43866b
and dword [esi + 0xe4], 0xfffffffe
push dword [esp + 0x24]
push dword [esp + 0x18]
push 1
push esi
call fcn.0042c2d0
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.0042c370
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret