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

Disassembly:
sub esp, 0x20
mov eax, dword [esp + 0x2c]
push ebx
push ebp
mov ebp, dword [esp + 0x30]
mov ecx, dword [eax]
push esi
mov esi, dword [esp + 0x30]
push edi
push ecx
push 0xa
mov edx, dword [esi + 0xd8]
mov edi, ecx
mov eax, edx
mov dword [esp + 0x30], ecx
push eax
mov dword [esp + 0x38], edx
mov ebx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x100dc5b2
mov dword [esp + 0x20], 0xffffffff
nop
mov edx, dword [esp + 0x3c]
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 [esp + 0x14]
mov dword [esi + 0xd8], eax
sub eax, ecx
push eax
push ecx
push edi
call fcn.100c57e0
add esp, 0xc
test eax, eax
jne 0x100dc66b
cmp dword [esi + 0xd4], eax
jne 0x100db9a3
push edi
call fcn.100c5840
push edi
mov ebx, eax
call fcn.100c5850
mov ecx, dword [ebp + 0x1e8]
add esp, 8
test dword [ecx + 0x44], 0x40000
je 0x100db98f
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.100d3570
add esp, 0xc
test eax, eax
mov eax, 2
cmovne eax, edi
lea edi, [esi + 0x8b8]
jmp 0x100db99a
push ebx
push eax
push esi
call fcn.100dcab0
add esp, 0xc
cmp eax, 2
je 0x100dc63b
push edi
call fcn.100c5850
mov edx, eax
add esp, 4
mov dword [esp + 0x34], edx
mov cl, byte [edx]
cmp cl, 0xa
je 0x100dbec0
cmp cl, 0xd
je 0x100dbec0
mov ecx, dword [esi + 0xd4]
mov ebx, 2
lea eax, [ecx + 1]
mov dword [esi + 0xd4], eax
test ecx, ecx
jne 0x100dbdbe
mov eax, dword [ebp + 0x1e8]
mov eax, dword [eax + 0x44]
test al, 3
je 0x100dbbe7
mov al, byte [edx]
mov edi, edx
test al, al
je 0x100dba10
nop dword [eax + eax]
cmp al, 0x20
je 0x100dba08
cmp al, 9
jne 0x100dba10
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100dba00
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 0x100dbab9
movsx ecx, byte [edi + 5]
mov eax, ecx
sub eax, 0x31
je 0x100dbafd
sub eax, 1
je 0x100dba45
sub eax, 1
jne 0x100dc697
mov al, byte [edi + 6]
cmp al, 0x20
je 0x100dba50
cmp al, 9
jne 0x100dbab9
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 0x100dbab9
mov dh, byte [edi + 8]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x100dbab9
mov dl, byte [edi + 9]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100dbab9
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 + 0xe8], ecx
mov al, byte [edi + 0xa]
cmp al, 0x20
je 0x100dbb90
cmp al, 9
je 0x100dbb90
cmp al, 0xa
jl 0x100dbab9
cmp al, 0xd
jle 0x100dbb90
lea ebx, [esi + 0x8b8]
push ebx
call fcn.100c5840
add esp, 4
push eax
push ebx
call fcn.100c5850
add esp, 4
push eax
push esi
call fcn.100dcab0
add esp, 0xc
cmp eax, 1
jne 0x100dc71d
lea edi, [ebp + 0x459]
mov dword [esi + 0xe8], 0xc8
mov byte [edi], 0xa
jmp 0x100dbcc6
cmp byte [edi + 6], 0x2e
jne 0x100dc702
mov al, byte [edi + 7]
cmp al, 0x30
je 0x100dbb16
cmp al, 0x31
jne 0x100dc702
mov cl, byte [edi + 8]
cmp cl, 0x20
je 0x100dbb27
cmp cl, 9
jne 0x100dc702
mov cl, byte [edi + 9]
movsx ebx, al
mov al, cl
sub al, 0x30
sub ebx, 0x26
cmp al, 9
ja 0x100dc702
mov dh, byte [edi + 0xa]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x100dc702
mov dl, byte [edi + 0xb]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100dc702
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 + 0xe8], ecx
mov al, byte [edi + 0xc]
cmp al, 0x20
je 0x100dbb90
cmp al, 9
je 0x100dbb90
sub al, 0xa
cmp al, 3
ja 0x100dc702
cmp ecx, 0x64
jl 0x100dc6e7
mov eax, ebx
sub eax, 0xa
je 0x100dbba9
sub eax, 1
jne 0x100dc6b2
lea edi, [ebp + 0x459]
mov byte [edi], bl
cmp dword [esi + 0x104], 3
jne 0x100dbbcd
cmp bl, 0x14
je 0x100dbbcd
push str.Lying_server__not_serving_HTTP_2
push esi
call fcn.100cf9e0
add esp, 8
cmp byte [edi], 0x14
jae 0x100dbcc6
mov eax, dword [ebp + 0x428]
mov dword [eax], 0xffffffff
jmp 0x100dbcc6
test eax, 0x40000
je 0x100dc71d
mov al, byte [edx]
mov edi, edx
test al, al
je 0x100dbc10
nop word [eax + eax]
cmp al, 0x20
je 0x100dbc08
cmp al, 9
jne 0x100dbc10
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100dbc00
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 0x100dc71d
mov al, byte [edi + 5]
sub al, 0x30
cmp al, 9
ja 0x100dc759
cmp byte [edi + 6], 0x2e
jne 0x100dc759
mov al, byte [edi + 7]
sub al, 0x30
cmp al, 9
ja 0x100dc759
mov al, byte [edi + 8]
cmp al, 0x20
je 0x100dbc5b
cmp al, 9
jne 0x100dc759
mov cl, byte [edi + 9]
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x100dc759
mov bl, byte [edi + 0xa]
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x100dc759
mov dl, byte [edi + 0xb]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100dc759
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 + 0xe8], eax
mov al, byte [edi + 0xc]
cmp al, 0x20
je 0x100dbcbd
cmp al, 9
je 0x100dbcbd
sub al, 0xa
cmp al, 3
ja 0x100dc759
lea edi, [ebp + 0x459]
mov byte [edi], 0xb
mov ecx, dword [esi + 0xe8]
mov dl, byte [esi + 0xd5d]
mov dword [esi + 0xd80], ecx
movzx eax, byte [edi]
mov dword [esi + 0xd88], eax
mov al, byte [edi]
test dl, dl
je 0x100dbceb
cmp dl, al
jbe 0x100dbcf1
mov byte [esi + 0xd5d], al
mov eax, dword [esi + 0xc50]
or eax, dword [esi + 0xc54]
je 0x100dbd17
cmp byte [esi + 0xd5e], 0
jne 0x100dbd17
cmp ecx, 0x1a0
jne 0x100dbd17
mov byte [esi + 0x14d], 1
mov al, byte [edi]
cmp al, 0xa
jne 0x100dbd35
push str.HTTP_1.0__assume_close_after_body
push esi
call fcn.100cf9e0
push 1
push ebp
call fcn.100d06c0
add esp, 0x10
jmp 0x100dbd53
cmp al, 0x14
je 0x100dbd47
cmp dword [esi + 0x104], 2
jne 0x100dbd53
cmp ecx, 0x65
jne 0x100dbd53
mov eax, dword [ebp + 0x428]
mov dword [eax], 2
mov ecx, dword [esi + 0xe8]
lea eax, [ecx - 0x64]
cmp eax, 0x63
setbe al
mov byte [esi + 0x14e], al
sub ecx, 0xcc
je 0x100dbd84
sub ecx, 0x64
jne 0x100dbdb3
cmp byte [esi + 0x3d0], cl
je 0x100dbd84
mov byte [esi + 0xe48], 1
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0
mov byte [esi + 0x14e], 1
mov ebx, 6
lea edi, [esi + 0x8b8]
push edi
call fcn.100c5850
mov edi, eax
lea eax, [esi + 0x8b8]
push eax
call fcn.100c5840
push eax
push 0
push edi
mov dword [esp + 0x30], eax
call sub.VCRUNTIME140.dll_memchr
add esp, 0x14
test eax, eax
jne 0x100dc74a
mov ecx, dword [esi + 0xd4]
cmp ecx, 2
jl 0x100dbe1b
mov al, byte [edi]
cmp al, 0x20
je 0x100dbdff
cmp al, 9
jne 0x100dbe04
cmp ecx, 2
jg 0x100dbe1b
push dword [esp + 0x1c]
push 0x3a
push edi
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x100dc72e
push dword [esp + 0x34]
push ebp
push esi
call fcn.100da900
add esp, 0xc
test eax, eax
jne 0x100dc66b
cmp byte [esi + 0x6d7], al
je 0x100dbe3c
or ebx, 1
mov edi, dword [esi + 0xe8]
lea eax, [esi + 0x8b8]
push eax
call fcn.100c5840
push eax
push dword [esp + 0x3c]
push 1
push esi
call fcn.100cf870
lea eax, [esi + 0x8b8]
push eax
call fcn.100c5840
push eax
push dword [esp + 0x50]
lea eax, [edi - 0x64]
mov ecx, ebx
or ecx, 0x10
cmp eax, 0x64
cmovae ecx, ebx
push ecx
push esi
call fcn.100cfa70
add esp, 0x28
test eax, eax
jne 0x100dc66b
lea ebx, [esi + 0x8b8]
push ebx
call fcn.100c5840
add dword [esi + 0xd98], eax
push ebx
adc dword [esi + 0xd9c], 0
call fcn.100c5840
add esp, 8
add dword [esi + 0xa8], eax
adc dword [esi + 0xac], 0
jmp 0x100dc574
mov ecx, dword [esi + 0xe8]
lea eax, [ecx - 0x64]
cmp eax, 0x63
ja 0x100dbf49
sub ecx, 0x64
je 0x100dbf0b
sub ecx, 1
je 0x100dbef0
lea ebx, [esi + 0x14a]
mov dword [esi + 0xd4], 0
mov byte [ebx], 1
jmp 0x100dbfb1
cmp dword [esi + 0x104], 2
je 0x100dc766
lea ebx, [esi + 0x14a]
mov byte [ebx], 0
jmp 0x100dbfb1
cmp dword [esi + 0x100], 0
lea ebx, [esi + 0x14a]
mov byte [ebx], 1
mov dword [esi + 0xd4], 0
jle 0x100dbfb1
or dword [esi + 0xec], 2
push 0
push esi
mov dword [esi + 0x100], 0
call fcn.100bf830
add esp, 8
jmp 0x100dbfb1
mov eax, dword [esi + 0x88]
lea edx, [esi + 0x88]
and eax, dword [edx + 4]
lea edi, [esi + 0x14a]
mov byte [edi], 0
mov ebx, edi
cmp eax, 0xffffffff
jne 0x100dbfb7
cmp byte [esi + 0x14f], 0
jne 0x100dbfb7
cmp byte [ebp + 0x1ce], 0
jne 0x100dbfb7
cmp byte [ebp + 0x459], 0xb
jne 0x100dbfb7
mov eax, dword [ebp + 0x1e8]
test dword [eax + 0x44], 0x40000
jne 0x100dbfb7
cmp byte [esi + 0xd5e], 5
je 0x100dbfb7
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end
push esi
call fcn.100cf9e0
push 2
push ebp
call fcn.100d06c0
add esp, 0x10
lea edx, [esi + 0x88]
cmp byte [ebx], 0
jne 0x100dc046
cmp byte [esi + 0x150], 0
jne 0x100dc02b
cmp byte [edx + 0xc7], 0
jne 0x100dc02b
mov ecx, dword [edx]
mov eax, ecx
mov edx, dword [edx + 4]
and eax, edx
cmp eax, 0xffffffff
je 0x100dc046
mov eax, dword [esi + 0x4d0]
mov edi, dword [esi + 0x4d4]
or eax, edi
je 0x100dc006
cmp edx, edi
jg 0x100dc79c
jl 0x100dc006
cmp ecx, dword [esi + 0x4d0]
ja 0x100dc79c
push edx
push ecx
push esi
call fcn.100de4e0
mov eax, dword [esi + 0x88]
add esp, 0xc
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], ecx
jmp 0x100dc046
mov dword [edx + 8], 0xffffffff
mov dword [edx + 0xc], 0xffffffff
mov dword [edx], 0xffffffff
mov dword [edx + 4], 0xffffffff
cmp byte [ebp + 0x1ce], 0
je 0x100dc0d6
mov eax, dword [esi + 0xe8]
cmp eax, 0x191
jne 0x100dc06b
cmp dword [ebp + 0x258], 2
je 0x100dc07b
jmp 0x100dc090
cmp eax, 0x197
jne 0x100dc090
cmp dword [ebp + 0x25c], 2
jne 0x100dc090
push str.Connection_closure_while_negotiating_auth__HTTP_1.0__
push esi
call fcn.100cf9e0
add esp, 8
mov byte [esi + 0xd65], 1
cmp byte [ebp + 0x1ce], 0
je 0x100dc0d6
mov eax, dword [esi + 0xe8]
cmp eax, 0x191
jne 0x100dc0b1
cmp dword [ebp + 0x2e0], 1
je 0x100dc0c1
jmp 0x100dc0d6
cmp eax, 0x197
jne 0x100dc0d6
cmp dword [ebp + 0x2e4], 1
jne 0x100dc0d6
push str.Connection_closure_while_negotiating_auth__HTTP_1.0__
push esi
call fcn.100cf9e0
add esp, 8
mov byte [esi + 0xd65], 1
cmp dword [ebp + 0x2e0], 3
jne 0x100dc0f5
cmp dword [esi + 0xe8], 0x191
je 0x100dc0f5
mov dword [ebp + 0x2e0], 4
cmp dword [ebp + 0x2e4], 3
jne 0x100dc114
cmp dword [esi + 0xe8], 0x197
je 0x100dc114
mov dword [ebp + 0x2e4], 4
mov eax, dword [esi + 0xe8]
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.100c5840
add esp, 4
mov dword [esp + 0x1c], eax
push eax
lea eax, [esi + 0x8b8]
push eax
call fcn.100c5850
add esp, 4
push eax
push edi
push esi
call fcn.100cfa70
add esp, 0x10
test eax, eax
jne 0x100dc66b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0xac]
cdq
add dword [esi + 0xd98], eax
push esi
adc dword [esi + 0xd9c], edx
add eax, dword [esi + 0xa8]
mov dword [esi + 0xa8], eax
adc ecx, edx
mov dword [esp + 0x38], eax
mov dword [esi + 0xac], ecx
mov edi, dword [esi + 0xe8]
mov dword [esp + 0x1c], ecx
call fcn.100dceb0
add esp, 4
test al, al
jne 0x100dc83b
lea eax, [edi - 0x64]
cmp eax, 0x63
ja 0x100dc1d6
mov eax, dword [esp + 0x34]
mov dword [esi + 0xb0], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0xb4], eax
jmp 0x100dc3fc
mov edi, dword [esi + 0x18]
xor dl, dl
mov dword [esi + 0xb0], 0
mov ecx, 0xffffffbf
mov dword [esi + 0xb4], 0
mov eax, dword [esi + 0x5f4]
test eax, eax
mov dword [esp + 0x18], edi
cmovne ecx, dword [esp + 0x20]
mov byte [esp + 0x13], dl
cmp byte [esi + 0xd65], dl
je 0x100dc226
xor edi, edi
mov eax, 0x16
cmp byte [esi + 0x6d2], dl
cmovne edi, eax
jmp 0x100dc3f4
cmp dword [esi + 0xd4c], 0
jne 0x100dc237
mov byte [esp + 0x34], dl
test eax, eax
je 0x100dc2ac
mov eax, dword [esi + 0xe8]
cmp eax, 0x191
je 0x100dc25c
cmp byte [edi + 0x1d8], 0
mov byte [esp + 0x34], dl
je 0x100dc2ac
mov byte [esp + 0x34], dl
cmp eax, 0x12c
jge 0x100dc2ac
push ecx
lea eax, [esi + 0x96c]
push eax
call fcn.100dd260
mov cl, al
add esp, 8
mov byte [esp + 0x34], cl
test cl, cl
jne 0x100dc27d
mov byte [esi + 0xd65], 1
cmp dword [esi + 0x970], 8
jne 0x100dc2ac
cmp byte [edi + 0x459], 0xb
jbe 0x100dc2ac
push str.Forcing_HTTP_1.1_for_NTLM
push esi
call fcn.100cf9e0
push 1
push edi
call fcn.100d06c0
add esp, 0x10
mov byte [esi + 0xd5c], 2
mov dl, byte [esp + 0x13]
mov al, dl
cmp byte [edi + 0x1ca], al
je 0x100dc2f4
mov ecx, dword [esi + 0xe8]
cmp ecx, 0x197
je 0x100dc2d8
cmp byte [edi + 0x1d8], al
je 0x100dc2f4
cmp ecx, 0x12c
jge 0x100dc2f4
lea eax, [esi + 0x97c]
push 0xffffffffffffffbf
push eax
call fcn.100dd260
add esp, 8
test al, al
jne 0x100dc2f4
mov byte [esi + 0xd65], 1
cmp byte [esp + 0x34], 0
jne 0x100dc36a
test al, al
jne 0x100dc36a
xor edi, edi
cmp dword [esi + 0xe8], 0x12c
jge 0x100dc3ce
cmp byte [esi + 0x978], al
jne 0x100dc3ce
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x1d8], 0
je 0x100dc3ce
mov al, byte [esi + 0xd5e]
test al, al
je 0x100dc3ce
cmp al, 5
je 0x100dc3ce
push dword [esi + 0xcbc]
call dword [0x1016200c]
add esp, 4
mov dword [esi + 0x120], eax
test eax, eax
je 0x100dc82c
mov byte [esi + 0x978], 1
jmp 0x100dc3ce
mov al, byte [esi + 0xd5e]
xor edi, edi
test al, al
je 0x100dc39b
cmp al, 5
je 0x100dc39b
cmp byte [esi + 0xd73], 0
jne 0x100dc39b
mov eax, dword [esp + 0x18]
push eax
push esi
call fcn.100dcc90
mov edi, eax
add esp, 8
test edi, edi
jne 0x100dc831
push dword [esi + 0x120]
call dword [0x10162004]
push dword [esi + 0xcbc]
mov dword [esi + 0x120], 0
call dword [0x1016200c]
add esp, 8
mov dword [esi + 0x120], eax
test eax, eax
je 0x100dc82c
push esi
call fcn.100dceb0
add esp, 4
test al, al
je 0x100dc3f4
push dword [esi + 0xe8]
push str.The_requested_URL_returned_error:__d
push esi
call fcn.100cf910
add esp, 0xc
mov edi, 0x16
test edi, edi
jne 0x100dc831
cmp dword [esi + 0xe8], 0x12c
jl 0x100dc55f
cmp byte [ebp + 0x1d8], 0
jne case.default.0x100dc444
cmp byte [ebp + 0x1ce], 0
jne case.default.0x100dc444
cmp byte [esi + 0xd73], 0
jne case.default.0x100dc444
movzx eax, byte [esi + 0xd5e]
dec eax
cmp eax, 3
ja case.default.0x100dc444
jmp dword [eax*4 + 0x100dc858]
push 0
push esi
call fcn.100bf830
add esp, 8
cmp byte [esi + 0x14c], 0
jne case.default.0x100dc444
cmp dword [esi + 0xe8], 0x1a1
jne 0x100dc4b1
cmp byte [esi + 0xd67], 0
je 0x100dc4b1
push str.Got_417_while_waiting_for_a_100
push esi
call fcn.100cf9e0
push dword [esi + 0xcbc]
mov byte [esi + 0xd68], 1
call dword [0x1016200c]
lea edi, [esi + 0x88]
mov dword [esi + 0x120], eax
push edi
push esi
call fcn.100d44e0
add esp, 0x14
jmp 0x100dc536
cmp byte [esi + 0x6d3], 0
je 0x100dc4ea
push str.HTTP_error_before_end_of_send__keep_sending
push esi
call fcn.100cf9e0
add esp, 8
lea edi, [esi + 0x88]
cmp dword [esi + 0x100], 0
jle 0x100dc536
or dword [esi + 0xec], 2
mov dword [esi + 0x100], 0
jmp 0x100dc536
push str.HTTP_error_before_end_of_send__stop_sending
push esi
call fcn.100cf9e0
push 2
push ebp
call fcn.100d06c0
lea edi, [esi + 0x88]
push edi
push esi
call fcn.100d44e0
add esp, 0x18
test eax, eax
jne 0x100dc66b
mov byte [esi + 0x14c], 1
cmp byte [esi + 0xd67], al
je 0x100dc536
mov dword [esi + 0x100], 3
jmp 0x100dc536
lea edi, [esi + 0x88]
cmp byte [esi + 0xd73], 0
je 0x100dc565
cmp dword [ebp + 0x204], 0xffffffff
je 0x100dc565
push str.Keep_sending_data_to_get_tossed_away
push esi
call fcn.100cf9e0
add esp, 8
or dword [esi + 0xec], 2
jmp 0x100dc565
lea edi, [esi + 0x88]
cmp byte [ebx], 0
je 0x100dc7b7
lea ebx, [esi + 0x8b8]
push ebx
call fcn.100c5860
mov ebx, dword [esi + 0xd8]
add esp, 4
cmp byte [ebx], 0
je 0x100dc669
mov ecx, dword [esp + 0x3c]
mov eax, ebx
mov dword [esp + 0x14], eax
mov edi, dword [ecx]
push edi
push 0xa
push eax
mov dword [esp + 0x40], edi
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x100db900
push dword [esp + 0x34]
lea ebx, [esi + 0x8b8]
push dword [esp + 0x18]
push ebx
call fcn.100c57e0
add esp, 0xc
test eax, eax
jne 0x100dc66b
cmp dword [esi + 0xd4], eax
jne 0x100dc669
push ebx
call fcn.100c5840
add esp, 4
push eax
push ebx
call fcn.100c5850
add esp, 4
push eax
push ebp
push esi
call fcn.100dcb60
add esp, 0x10
cmp eax, 2
jne 0x100dc669
push eax
push ebp
mov byte [esi + 0x14a], 0
mov dword [esi + 0xd0], eax
call fcn.100d06c0
add esp, 8
cmp byte [esi + 0x6f5], 0
jne 0x100dc669
push str.Received_HTTP_0.9_when_not_allowed
push esi
call fcn.100cf910
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push 2
push ebp
call fcn.100d06c0
add esp, 8
cmp byte [esi + 0x6f5], 0
je 0x100dc620
mov eax, dword [esp + 0x3c]
mov byte [esi + 0x14a], 0
cmp dword [eax], 0
je 0x100dc673
mov dword [esi + 0xd0], 1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov ecx, dword [esp + 0x28]
mov dword [esi + 0xd0], 2
mov dword [eax], ecx
mov eax, dword [esp + 0x2c]
pop edi
mov dword [esi + 0xd8], eax
xor eax, eax
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push str.Unsupported_HTTP_version_in_response
push esi
call fcn.100cf910
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
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.100cf910
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push str.Unsupported_response_code_in_HTTP_response
push esi
call fcn.100cf910
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push str.Unsupported_HTTP_1_subversion_in_response
push esi
call fcn.100cf910
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
pop edi
mov byte [esi + 0x14a], 0
xor eax, eax
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, str.Header_without_colon
push eax
push esi
call fcn.100cf910
add esp, 8
mov eax, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, str.Nul_byte_in_header
push eax
push esi
call fcn.100cf910
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 8
pop ebx
add esp, 0x20
ret
push str.Received_101__Switching_to_HTTP_2
push esi
call fcn.100cf9e0
add esp, 8
mov dword [esi + 0x104], 3
mov byte [esi + 0x14a], 1
mov eax, 1
mov dword [esi + 0xd4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push str.Maximum_file_size_exceeded
push esi
call fcn.100cf910
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp byte [esi + 0x154], 0
mov ecx, dword [esp + 0x40]
jne 0x100dc7e9
mov eax, dword [ebp + 0x1e8]
test dword [eax + 0x44], 0x40000
je 0x100dc7ec
cmp dword [esi + 0x668], 2
jne 0x100dc7ec
cmp dword [edi + 4], 0xffffffff
jg 0x100dc7ec
jl 0x100dc7e9
cmp dword [edi], 0xffffffff
ja 0x100dc7ec
mov byte [ecx], 1
cmp dword [esi + 0x90], 0
jne 0x100dc803
cmp dword [esi + 0x94], 0
jne 0x100dc803
mov byte [ecx], 1
jmp 0x100dc808
cmp byte [ecx], 0
je 0x100dc80f
and dword [esi + 0xec], 0xfffffffe
push dword [esp + 0x1c]
push dword [esp + 0x18]
push 1
push esi
call fcn.100cf870
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov edi, 0x1b
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push edi
push str.The_requested_URL_returned_error:__d
push esi
call fcn.100cf910
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret