Function at 0x43651a
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46e7b8
mov eax, dword fs:[0]
push eax
mov eax, 0x27fc
call fcn.00460740
mov eax, dword [0x493350]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x25e0], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x25f8], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x25c8], edi
xor edi, edi
mov dword [ebp - 0x25d4], ecx
mov dword [ebp - 0x25f0], ebx
mov dword [ebp - 0x25e8], esi
mov dword [ebp - 0x25d8], edx
mov dword [ebp - 0x25cc], eax
mov dword [ebp - 0x25b4], edi
cmp byte [ebp + 0x24], 0
mov dword [ebp - 4], edi
je 0x43661b
cmp dword [eax + 0x14], edi
je 0x4365e8
cmp dword [eax + 0x18], 0x10
jb 0x4365af
mov eax, dword [eax + 4]
jmp 0x4365b2
add eax, 4
cmp dword [edx + 0x18], 0x10
jb 0x4365bd
mov edx, dword [edx + 4]
jmp 0x4365c0
add edx, 4
cmp dword [esi + 0x18], 0x10
jb 0x4365cb
mov esi, dword [esi + 4]
jmp 0x4365ce
add esi, 4
push eax
mov eax, dword [ecx]
push edx
push esi
push ebx
push str._s_http:___s_s_If_None_Match:___s_
call dword [eax + 0xc]
mov esi, eax
call fcn.00406fa0
add esp, 0x14
jmp 0x43661b
cmp dword [edx + 0x18], 0x10
jb 0x4365f3
mov edx, dword [edx + 4]
jmp 0x4365f6
add edx, 4
cmp dword [esi + 0x18], 0x10
jb 0x436601
mov eax, dword [esi + 4]
jmp 0x436604
lea eax, [esi + 4]
push edx
push eax
mov eax, dword [ecx]
push ebx
push str._s_http:___s_s
call dword [eax + 0xc]
mov esi, eax
call fcn.00406fa0
add esp, 0x10
lea eax, [ebp - 0x25b0]
call fcn.0040bcf0
push 2
pop ebx
push 4
pop eax
push 0x50
pop ecx
push eax
push dword [0x475ce8]
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0x25b0]
push 0x21
push eax
mov dword [ebp - 0x160], ebx
mov word [ebp - 0x164], cx
call fcn.0044db77
push eax
call fcn.0040b450
mov ecx, dword [ebp - 0x25e8]
add esp, 0x14
lea edi, [ebp - 0x2620]
call fcn.00431734
cmp dword [eax + 0x18], 8
jb 0x43667c
mov esi, dword [eax + 4]
jmp 0x43667f
lea esi, [eax + 4]
lea eax, [ebp - 0x25b0]
call fcn.0040bcf0
mov ecx, esi
lea edx, [ebp - 0x25b0]
call fcn.0040b830
lea esi, [ebp - 0x2620]
mov dword [ebp - 0x25c0], eax
call fcn.00406e40
lea ecx, [ebp - 0x267c]
call fcn.0043406e
lea eax, [ebp - 0x267c]
push eax
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 1
call fcn.004393e1
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x2678]
and dword [ebp - 0x25b8], 0
push 0x43d3ac
lea ecx, [ebp - 0x25bc]
mov dword [ebp - vtable.type_info.0], 0x49c460
call fcn.00433742
and dword [ebp - 0x2630], 0
and dword [ebp - 0x262c], 0
mov dword [ebp - 0x2634], eax
mov byte [ebp - 4], 3
xor eax, eax
lea edi, [ebp - 0x25b8]
stosb byte es:[edi], al
push dword [ebp - 0x25b8]
lea esi, [ebp - 0x2630]
call fcn.0043aa29
mov byte [ebp - 4], 4
cmp dword [ebp - 0x25c0], 0
je 0x436762
movzx eax, word [ebp - 0x164]
mov dword [ebp - 0x25b8], eax
lea edi, [ebp - 0x25b8]
lea eax, [ebp - 0x27bc]
call fcn.0043ad56
mov byte [ebp - 4], 5
mov dword [ebp - 0x25b4], 1
jmp 0x43677f
push str.http
lea ecx, [ebp - 0x2808]
call fcn.00406ce0
mov dword [ebp - 4], 6
mov dword [ebp - 0x25b4], ebx
push eax
lea ecx, [ebp - 0x124]
call fcn.00406d20
mov dword [ebp - 4], 7
test byte [ebp - 0x25b4], 2
je 0x4367ad
and dword [ebp - 0x25b4], 0xfffffffd
lea ecx, [ebp - 0x2808]
call fcn.00406d50
mov byte [ebp - 4], 9
test byte [ebp - 0x25b4], 1
je 0x4367cc
and dword [ebp - 0x25b4], 0xfffffffe
lea ecx, [ebp - 0x27bc]
call fcn.00406d50
xor ebx, ebx
cmp dword [ebp - 0x25c0], ebx
je 0x436813
lea eax, [ebp - 0x256e]
lea ecx, [ebp - 0x2620]
call fcn.00406dd0
mov byte [ebp - 4], 0xa
or dword [ebp - 0x25b4], 4
lea ecx, [ebp - 0x2620]
lea edi, [ebp - 0x2650]
call fcn.004316b9
mov dword [ebp - 4], 0xb
or dword [ebp - 0x25b4], 8
jmp 0x436819
mov eax, dword [ebp - 0x25e8]
push eax
lea ecx, [ebp - 0x140]
call fcn.00406d20
mov dword [ebp - 4], 0xc
test byte [ebp - 0x25b4], 8
je 0x436847
and dword [ebp - 0x25b4], 0xfffffff7
lea ecx, [ebp - 0x2650]
call fcn.00406d50
mov byte [ebp - 4], 0xe
test byte [ebp - 0x25b4], 4
je 0x436866
and dword [ebp - 0x25b4], 0xfffffffb
lea esi, [ebp - 0x2620]
call fcn.00406e40
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0xc0]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00406d20
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xf
call fcn.00406d20
mov dword [ebp - 0xc0], 0x400
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], 1
mov dword [ebp - 0xb4], 6
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x2664]
push eax
mov byte [ebp - 4], 0x10
call fcn.00437f97
mov dword [ebp - 0x2670], ebx
mov dword [ebp - 0x266c], ebx
mov dword [ebp - 0x2668], ebx
mov byte [ebp - 4], 0x12
mov eax, dword [0x49d99c]
cmp eax, ebx
jle 0x436982
mov esi, dword [ebp - 0x25f0]
push 5
mov edi, str.POST
pop ecx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x436982
imul eax, eax, 0x3e8
mov dword [ebp - 0x25c0], eax
lea edx, [ebp - 0x2658]
lea eax, [ebp - 0x108]
call fcn.00437ec0
mov eax, dword [eax]
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea ecx, [ebp - 0x25c0]
push ecx
push 0x1006
mov edi, 0xffff
push edi
push eax
call esi
lea edx, [ebp - 0x2658]
lea eax, [ebp - 0x108]
call fcn.00437ec0
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x25c0]
push ecx
push 0x1005
push edi
push eax
call esi
call fcn.00419620
mov ebx, method.Bootstrapper.virtual_52
mov dword [ebp - 0x25b8], eax
mov eax, ebx
mov ecx, 0x2af9
mov dword [ebp - 0x25bc], ecx
test eax, eax
je 0x436a41
cmp dword [ebp - 0x2664], 0
je 0x436a41
lea esi, [ebp - 0x108]
call fcn.00437e4d
lea eax, [ebp - 0x2610]
push eax
lea esi, [ebp - 0x2664]
call fcn.00438035
mov byte [ebp - 4], 0x13
mov edi, dword [eax]
mov esi, dword [eax + 8]
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
push 0x54
cdq
pop ecx
idiv ecx
cmp esi, eax
jb 0x4369ef
call fcn.0044d2b8
imul esi, esi, 0x54
add esi, dword [edi + 0xc]
push 7
pop ecx
lea eax, [ebp - 0x2650]
lea edi, [ebp - 0x2650]
rep movsd dword es:[edi], dword [esi]
push eax
lea esi, [ebp - 0x25bc]
lea edi, [ebp - 0x2628]
lea eax, [ebp - 0x108]
call fcn.00437f05
lea eax, [ebp - 0x260c]
mov byte [ebp - 4], 0x12
call fcn.004016d0
mov ecx, dword [ebp - 0x25bc]
mov eax, ecx
neg eax
sbb eax, eax
test ebx, eax
jne 0x4369a7
neg ecx
sbb ecx, ecx
test ebx, ecx
je 0x436b37
cmp byte [ebp + 0x24], 0
je 0x436aeb
lea esi, [ebp - 0x2650]
lea eax, [ebp - 0x25bc]
call fcn.00401710
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x18], 0x10
jb 0x436a77
mov eax, dword [eax + 4]
jmp 0x436a7a
add eax, 4
mov edi, dword [ebp - 0x25d4]
push eax
mov eax, dword [edi]
push str.Failed_to_find_an_endpoint:__s
mov ecx, edi
call dword [eax + 0xc]
mov esi, eax
call fcn.00406fa0
pop ecx
pop ecx
lea ecx, [ebp - 0x2650]
mov byte [ebp - 4], 0x12
call fcn.00406d50
mov eax, dword [ebp - 0x25d8]
cmp dword [eax + 0x18], 0x10
jb 0x436ab6
mov eax, dword [eax + 4]
jmp 0x436ab9
add eax, 4
mov ecx, dword [ebp - 0x25e8]
cmp dword [ecx + 0x18], 0x10
jb 0x436aca
mov ecx, dword [ecx + 4]
jmp 0x436acd
add ecx, 4
push eax
mov eax, dword [edi]
push ecx
push dword [ebp - 0x25f0]
mov ecx, edi
push str.Trying_WinInet_for__s_http:___s_s
call dword [eax + 0xc]
mov esi, eax
call fcn.00406fa0
add esp, 0x10
sub esp, 0x20
lea ecx, [ebp + 0x28]
mov ebx, esp
mov dword [ebp - 0x25b8], esp
call fcn.00437cd7
push dword [ebp - 0x25c8]
mov ecx, dword [ebp - 0x25e8]
push dword [ebp - 0x25cc]
push dword [ebp - 0x25f8]
push dword [ebp - 0x25e0]
push dword [ebp - 0x25d8]
push dword [ebp - 0x25f0]
call fcn.00435c9c
add esp, 0x38
mov ebx, eax
jmp 0x43740a
mov ebx, dword [ebp - 0x25e0]
lea esi, [ebp - 0x2620]
mov eax, ebx
call fcn.00431447
mov edi, dword [eax + 8]
add edi, dword [eax]
push 2
mov esi, ebx
call fcn.004313ce
lea esi, [ebp - 0x2620]
mov eax, ebx
call fcn.00431447
mov ecx, dword [eax + 8]
add ecx, dword [eax]
push 0
sub ecx, edi
mov esi, ebx
mov dword [ebp - 0x25c0], ecx
call fcn.004313ce
push 0xffffffffffffffff
lea eax, [ebp - 0x27a0]
push eax
call fcn.0043809e
push 1
lea eax, [ebp - 0x27a0]
push eax
lea eax, [ebp - 0x26b4]
push eax
mov byte [ebp - 4], 0x15
call fcn.004256db
push str._HTTP_1.0_r_n
push ecx
mov byte [ebp - 4], 0x16
push dword [ebp - 0x25d8]
lea eax, [ebp - 0x26b4]
push ecx
push 0x476140
push ecx
push dword [ebp - 0x25f0]
push eax
call fcn.00409180
add esp, 0xc
push eax
call fcn.00409180
add esp, 0xc
push eax
call fcn.0043aa76
add esp, 0xc
push eax
call fcn.00409180
pop ecx
pop ecx
mov ebx, 0x4760cc
push ebx
push ecx
push dword [ebp - 0x25e8]
lea eax, [ebp - 0x26b4]
push ecx
push str.Host:
push eax
call fcn.00409180
add esp, 0xc
push eax
call fcn.0043aa76
add esp, 0xc
push eax
call fcn.00409180
lea eax, [ebp - 0x26b4]
push str.Accept:___r_n
push eax
call fcn.00409180
add esp, 0x10
cmp dword [ebp - 0x25c0], 0
jne 0x436c4a
mov esi, dword [ebp - 0x25f0]
push 5
mov edi, str.POST
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x436c76
push ebx
push ecx
push dword [ebp - 0x25c0]
lea eax, [ebp - 0x26b4]
push ecx
push str.Content_Length:
push eax
call fcn.00409180
add esp, 0xc
push eax
call fcn.00410ee0
pop ecx
push eax
call fcn.00409180
pop ecx
pop ecx
cmp dword [ebp - 0x25f8], 0
je 0x436cad
push ebx
push ecx
push dword [ebp - 0x25f8]
lea eax, [ebp - 0x26b4]
push ecx
push str.Content_Type:
push eax
call fcn.00409180
add esp, 0xc
push eax
call fcn.00409180
add esp, 0xc
push eax
call fcn.00409180
pop ecx
pop ecx
lea eax, [ebp - 0x26b4]
push str.Connection:_close_r_n
push eax
call fcn.00409180
mov eax, dword [ebp - 0x25cc]
xor edi, edi
pop ecx
pop ecx
cmp dword [eax + 0x14], edi
je 0x436cfa
push 0x47d0f8
push ecx
push eax
push ecx
lea eax, [ebp - 0x26b4]
push str.If_None_Match:__
push eax
call fcn.00409180
add esp, 0xc
push eax
call fcn.0043aa76
add esp, 0xc
push eax
call fcn.00409180
pop ecx
pop ecx
lea eax, [ebp - 0x26b4]
push ebx
push eax
call fcn.00409180
pop ecx
pop ecx
cmp dword [ebp - 0x25c0], edi
je 0x436d6d
mov eax, dword [ebp - 0x26b4]
mov eax, dword [eax + 4]
mov esi, dword [ebp + eax - 0x268c]
mov eax, dword [ebp - 0x25e0]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + eax + 0x28]
push esi
mov byte [ebp - 0x25c4], 0
push dword [ebp - 0x25c4]
cmp eax, edi
mov byte [ebp - 0x2608], 1
push dword [ebp - 0x2608]
sete cl
push edi
mov byte [ebp - 0x2624], cl
push dword [ebp - 0x2624]
push eax
lea eax, [ebp - 0x2628]
push eax
call fcn.0043ad6b
add esp, 0x1c
lea eax, [ebp - 0x27a0]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0043addd
pop ecx
pop ecx
push 0xffffffffffffffff
lea eax, [ebp - 0x2748]
push eax
call fcn.0043809e
push ebx
lea ecx, [ebp - 0x2620]
mov byte [ebp - 4], 0x17
call fcn.00406ce0
lea eax, [ebp - 0x2620]
push eax
lea eax, [ebp - 0x2748]
push eax
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 0x18
call fcn.0043ae2c
add esp, 0xc
lea ecx, [ebp - 0x2620]
mov byte [ebp - 4], 0x17
call fcn.00406d50
push 1
lea eax, [ebp - 0x2748]
push eax
lea eax, [ebp - 0x26f0]
push eax
call fcn.004131f0
push 0xf
pop esi
push edi
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x4c], esi
call fcn.00407df0
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x26f0]
push eax
mov byte [ebp - 4], 0x1a
call fcn.004327ad
pop ecx
pop ecx
lea eax, [ebp - 0x25d0]
push eax
lea eax, [ebp - 0x26f0]
push eax
call fcn.0043798d
push edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x30], esi
call fcn.00407df0
lea eax, [ebp - 0x48]
push eax
lea esi, [ebp - 0x26f0]
mov byte [ebp - 4], 0x1b
call fcn.0042a5c5
mov eax, dword [ebp - 0x26f0]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x26e8], 6
pop ecx
jne 0x436e81
push 5
xor ecx, ecx
lea esi, [ebp - 0x2650]
lea edx, [ebp - 0x64]
call fcn.00410cd0
mov byte [ebp - 4], 0x1c
or dword [ebp - 0x25b4], 0x10
mov ecx, str.HTTP_
mov edi, eax
call fcn.0040fa00
test al, al
je 0x436e81
xor bl, bl
jmp 0x436e83
mov bl, 1
mov dword [ebp - 4], 0x1b
test byte [ebp - 0x25b4], 0x10
je 0x436e9e
lea ecx, [ebp - 0x2650]
call fcn.00406d50
test bl, bl
je 0x436eda
push str.Invalid_response
lea ecx, [ebp - 0x2650]
call fcn.00406ce0
lea eax, [ebp - 0x2650]
push eax
lea eax, [ebp - 0x27c8]
push eax
mov byte [ebp - 4], 0x1d
call fcn.00401340
push 0x486be4
lea eax, [ebp - 0x27c8]
push eax
call fcn.00450dab
cmp byte [ebp + 0x24], 0
mov ebx, dword [ebp - 0x25d8]
je 0x436f34
cmp dword [ebx + 0x18], 0x10
jb 0x436ef1
mov ecx, dword [ebx + 4]
jmp 0x436ef4
lea ecx, [ebx + 4]
mov eax, dword [ebp - 0x25e8]
cmp dword [eax + 0x18], 0x10
jb 0x436f05
mov eax, dword [eax + 4]
jmp 0x436f08
add eax, 4
push dword [ebp - 0x25d0]
mov edi, dword [ebp - 0x25d4]
push ecx
push eax
push dword [ebp - 0x25f0]
mov eax, dword [edi]
push str._s_http:___s_s_status_code:_d
mov ecx, edi
call dword [eax + 0xc]
mov esi, eax
call fcn.00406fa0
add esp, 0x14
jmp 0x436f3a
mov edi, dword [ebp - 0x25d4]
mov eax, dword [ebp - 0x25d0]
sub eax, 0xc8
je 0x43700f
sub eax, 0x68
je 0x43700f
cmp byte [ebp + 0x24], 0
je 0x436fc3
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x436f66
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x25d0]
mov eax, dword [edi]
push str.Response_returned_with_bad_status_code__d:__s
mov ecx, edi
call dword [eax + 0xc]
mov esi, eax
call fcn.00406fa0
add esp, 0xc
cmp dword [ebx + 0x18], 0x10
jb 0x436f8e
mov ebx, dword [ebx + 4]
jmp 0x436f91
add ebx, 4
mov eax, dword [ebp - 0x25e8]
cmp dword [eax + 0x18], 0x10
jb 0x436fa2
mov eax, dword [eax + 4]
jmp 0x436fa5
add eax, 4
push ebx
push eax
push dword [ebp - 0x25f0]
mov eax, dword [edi]
push str.Trying_WinInet_for__s_http:___s_s
mov ecx, edi
call dword [eax + 0xc]
mov esi, eax
call fcn.00406fa0
add esp, 0x10
sub esp, 0x20
lea ecx, [ebp + 0x28]
mov ebx, esp
mov dword [ebp - 0x25b8], esp
call fcn.00437cd7
push dword [ebp - 0x25c8]
mov ecx, dword [ebp - 0x25e8]
push dword [ebp - 0x25cc]
push dword [ebp - 0x25f8]
push dword [ebp - 0x25e0]
push dword [ebp - 0x25d8]
push dword [ebp - 0x25f0]
call fcn.00435c9c
add esp, 0x38
mov ebx, eax
jmp 0x437353
push str._r_n_r_n
lea ecx, [ebp - 0x2620]
call fcn.00406ce0
lea eax, [ebp - 0x2620]
push eax
lea eax, [ebp - 0x2748]
push eax
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 0x1e
call fcn.0043ae2c
add esp, 0xc
lea ecx, [ebp - 0x2620]
mov byte [ebp - 4], 0x1b
call fcn.00406d50
mov eax, dword [ebp - 0x25cc]
and dword [ebp - 0x25c0], 0
call fcn.004378a2
push 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.00407df0
mov byte [ebp - 4], 0x1f
jmp 0x4371d5
mov ecx, 0x47d184
lea edi, [ebp - 0x2c]
call fcn.0040fa00
test al, al
jne 0x437202
lea ebx, [ebp - 0x2628]
call fcn.00415f60
mov ecx, dword [eax]
mov esi, dword [eax + 4]
lea ebx, [ebp - 0x260c]
mov dword [ebp - 0x25fc], ecx
mov dword [ebp - 0x25f8], esi
call fcn.00416680
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea ebx, [ebp - 0x25ec]
mov dword [ebp - 0x25e4], ecx
mov dword [ebp - 0x25e0], eax
call fcn.00415f60
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0x25fc]
mov edi, dword [ebp - 0x25e0]
mov dword [ebp - 0x25d8], esi
sub edi, ebx
lea esi, [ebp - 0x25dc]
mov dword [ebp - 0x25f4], ecx
mov dword [ebp - 0x25dc], eax
call fcn.0043cc64
mov esi, ebx
cmp ebx, dword [ebp - 0x25e0]
je 0x43712b
mov edi, dword [ebp - 0x25f8]
sub edi, ebx
movsx eax, byte [esi]
push eax
call fcn.0044ebb9
mov byte [esi + edi], al
inc esi
pop ecx
cmp esi, dword [ebp - 0x25e0]
jne 0x437115
lea eax, [ebp - 0x2c]
push eax
mov eax, 0x49dab8
call fcn.0043340c
test eax, eax
jne 0x437170
mov ecx, dword [0x49dacc]
push 0xffffffffffffffff
lea esi, [ebp - 0x2650]
lea edx, [ebp - 0x2c]
call fcn.00410cd0
cmp dword [eax + 0x18], 0x10
jb 0x43715e
mov eax, dword [eax + 4]
jmp 0x437161
add eax, 4
push eax
call fcn.0044e00c
pop ecx
mov dword [ebp - 0x25c0], eax
jmp 0x4371b9
lea eax, [ebp - 0x2c]
push eax
mov eax, 0x49dad4
call fcn.0043340c
test eax, eax
jne 0x4371c4
mov eax, dword [0x49dae8]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
sub ecx, 3
push ecx
lea ecx, [eax + 1]
lea esi, [ebp - 0x2650]
lea edx, [ebp - 0x2c]
call fcn.00410cd0
mov ecx, dword [ebp - 0x25cc]
push 0xffffffffffffffff
push 0
push eax
mov byte [ebp - 4], 0x20
call fcn.00407320
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x2650]
call fcn.00406d50
cmp byte [ebp + 0x20], 0
jne 0x4371d5
mov ecx, dword [ebp - 0x25d4]
mov eax, dword [ecx]
call dword [eax + 0x14]
lea eax, [ebp - 0x2c]
push eax
lea esi, [ebp - 0x26f0]
call fcn.0042a5c5
pop ecx
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx + 8]
and al, 6
movsx eax, al
neg eax
sbb eax, eax
not eax
test ecx, eax
jne 0x43707b
cmp dword [ebp - 0x25d0], 0x130
je 0x437339
mov eax, dword [ebp - 0x2724]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2728]
sub eax, dword [ecx]
je 0x437236
lea eax, [ebp - 0x2748]
push eax
push dword [ebp - 0x25c8]
call fcn.00425823
mov eax, dword [ebp - 0x25c8]
lea esi, [ebp - 0x2620]
call fcn.00437958
mov ecx, dword [eax + 8]
add ecx, dword [eax]
push dword [ebp - 0x25c0]
push ecx
lea ecx, [ebp + 0x28]
call fcn.00437d0c
xor ebx, ebx
inc ebx
mov eax, ebx
push eax
lea eax, [ebp - 0x108]
push eax
lea esi, [ebp - 0x25bc]
lea eax, [ebp - 0x2748]
call fcn.0043ae72
pop ecx
pop ecx
test eax, eax
je 0x4372e8
mov edi, dword [ebp - 0x25d4]
lea eax, [ebp - 0x2748]
push eax
push dword [ebp - 0x25c8]
call fcn.00425823
mov eax, dword [ebp - 0x25c8]
lea esi, [ebp - 0x2620]
call fcn.00437958
mov ecx, dword [eax + 8]
add ecx, dword [eax]
push dword [ebp - 0x25c0]
push ecx
lea ecx, [ebp + 0x28]
call fcn.00437d0c
cmp byte [ebp + 0x20], 0
jne 0x4372c9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
lea eax, [ebp - 0x108]
push ebx
push eax
lea esi, [ebp - 0x25bc]
lea eax, [ebp - 0x2748]
call fcn.0043ae72
pop ecx
pop ecx
test eax, eax
jne 0x437285
call fcn.004335a4
push 2
pop ecx
mov dword [ebp - 0x25c4], ecx
mov dword [ebp - 0x25c0], eax
lea eax, [ebp - 0x25c4]
lea ecx, [ebp - 0x25bc]
call fcn.0043348b
test al, al
je 0x437345
push dword [ebp - 0x25b8]
mov edx, str.Failed_to_read_response
push dword [ebp - 0x25bc]
lea esi, [ebp - 0x27ec]
call fcn.00401730
push 0x486c04
mov eax, esi
jmp 0x436ed4
push 1
push 1
lea ecx, [ebp + 0x28]
call fcn.00437d0c
mov ebx, dword [ebp - 0x25d0]
lea ecx, [ebp - 0x2c]
call fcn.00406d50
lea ecx, [ebp - 0x48]
call fcn.00406d50
lea ecx, [ebp - 0x64]
call fcn.00406d50
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x26f0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
lea eax, [ebp - 0x26e8]
mov edi, vtable.std::ios_base.0
push eax
mov dword [ebp - 0x26e8], edi
call fcn.0044bb00
pop ecx
lea esi, [ebp - 0x2708]
mov byte [ebp - 4], 0x16
call fcn.0043167b
push dword [ebp - 0x2708]
call fcn.0044cce2
pop ecx
lea ecx, [ebp - 0x2748]
call fcn.00411080
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x26b4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
lea eax, [ebp - 0x26b0]
push eax
mov dword [ebp - 0x26b0], edi
call fcn.0044bb00
pop ecx
lea esi, [ebp - 0x2760]
mov byte [ebp - 4], 0x12
call fcn.0043167b
push dword [ebp - 0x2760]
call fcn.0044cce2
pop ecx
lea ecx, [ebp - 0x27a0]
call fcn.00411080
lea eax, [ebp - 0x266c]
mov byte [ebp - 4], 0x11
call fcn.004016d0
lea eax, [ebp - 0x2660]
mov byte [ebp - 4], 0x10
call fcn.004016d0
lea ecx, [ebp - 0x84]
call fcn.00406d50
lea ecx, [ebp - 0xa0]
call fcn.00406d50
lea ecx, [ebp - 0x140]
call fcn.00406d50
lea ecx, [ebp - 0x124]
call fcn.00406d50
lea eax, [ebp - 0x2634]
push eax
mov byte [ebp - 4], 2
call fcn.00437fea
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 1
call fcn.004384f1
lea eax, [ebp - 0x267c]
push eax
mov byte [ebp - 4], 0
call fcn.004340b8
or dword [ebp - 4], 0xffffffff
lea esi, [ebp + 0x28]
call fcn.00426921
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0044cced
leave
ret