Function at 0x431161
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46894b
mov eax, dword fs:[0]
push eax
mov eax, 0x2804
call fcn.0045b300
mov eax, dword [0x48e190]
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 ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x25f4], edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x25ec], edx
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x25c4], ebx
xor ebx, ebx
mov dword [ebp - 0x25d8], ecx
mov dword [ebp - 0x25dc], esi
mov dword [ebp - 0x25fc], edi
mov dword [ebp - 0x25e4], eax
mov dword [ebp - 0x25d4], edx
mov dword [ebp - 0x25b4], ebx
mov dword [ebp - 4], ebx
cmp byte [ebp + 0x24], bl
je 0x43126a
cmp dword [edx + 0x14], ebx
je 0x431237
cmp dword [edx + 0x18], 0x10
jb 0x4311f9
mov esi, dword [edx + 4]
jmp 0x4311fc
lea esi, [edx + 4]
cmp dword [eax + 0x18], 0x10
jb 0x431207
mov edx, dword [eax + 4]
jmp 0x43120a
lea edx, [eax + 4]
cmp dword [edi + 0x18], 0x10
jb 0x431215
mov eax, dword [edi + 4]
jmp 0x431218
lea eax, [edi + 4]
push esi
push edx
push eax
push dword [ebp - 0x25dc]
mov eax, dword [ecx]
push str._s_http:___s_s_If_None_Match:___s_
call dword [eax + 0xc]
mov esi, eax
call fcn.00409015
add esp, 0x14
jmp 0x43126a
cmp dword [eax + 0x18], 0x10
jb 0x431242
mov eax, dword [eax + 4]
jmp 0x431245
add eax, 4
cmp dword [edi + 0x18], 0x10
jb 0x431250
mov edx, dword [edi + 4]
jmp 0x431253
lea edx, [edi + 4]
push eax
mov eax, dword [ecx]
push edx
push esi
push str._s_http:___s_s
call dword [eax + 0xc]
mov esi, eax
call fcn.00409015
add esp, 0x10
lea esi, [ebp - 0x25b0]
call fcn.0040de1f
mov edx, edi
lea ecx, [ebp - 0x2678]
call fcn.0042c640
cmp dword [eax + 0x18], 8
jb 0x43128d
mov esi, dword [eax + 4]
jmp 0x431290
lea esi, [eax + 4]
lea eax, [ebp - 0x25b0]
call fcn.0040e471
lea eax, [ebp - 0x25b0]
push eax
mov ecx, esi
call fcn.0040e085
push ebx
push 1
lea esi, [ebp - 0x2678]
mov dword [ebp - 0x25bc], eax
call fcn.00409726
lea ecx, [ebp - 0x269c]
call fcn.0042eab3
lea eax, [ebp - 0x269c]
push eax
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 1
call fcn.0043409d
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x2698]
push 0x437e70
lea ecx, [ebp - 0x25cc]
mov dword [ebp - vtable.type_info.0], 0x4973f0
mov dword [ebp - 0x25c8], ebx
call fcn.0042e10d
mov dword [ebp - 0x2634], eax
mov dword [ebp - 0x2630], ebx
mov dword [ebp - 0x262c], ebx
mov byte [ebp - 4], 3
xor eax, eax
lea edi, [ebp - 0x2608]
stosb byte es:[edi], al
push dword [ebp - 0x2608]
lea esi, [ebp - 0x2630]
call fcn.004356b6
mov byte [ebp - 4], 4
cmp dword [ebp - 0x25bc], ebx
je 0x431375
movzx eax, word [ebp - 0x164]
lea ebx, [ebp - 0x2608]
lea ecx, [ebp - 0x2650]
mov dword [ebp - 0x2608], eax
call fcn.00435925
mov byte [ebp - 4], 5
mov dword [ebp - 0x25b4], 1
xor ebx, ebx
jmp 0x431396
push str.http
lea ecx, [ebp - 0x27dc]
call fcn.00408177
mov dword [ebp - 4], 6
mov dword [ebp - 0x25b4], 2
push eax
lea ecx, [ebp - 0x124]
call fcn.00408199
mov dword [ebp - 4], 7
test byte [ebp - 0x25b4], 2
je 0x4313c7
and dword [ebp - 0x25b4], 0xfffffffd
push ebx
push 1
lea ecx, [ebp - 0x27dc]
call fcn.0040948e
mov byte [ebp - 4], 9
test byte [ebp - 0x25b4], 1
je 0x4313e9
and dword [ebp - 0x25b4], 0xfffffffe
push ebx
push 1
lea ecx, [ebp - 0x2650]
call fcn.0040948e
cmp dword [ebp - 0x25bc], ebx
je 0x43142f
lea eax, [ebp - 0x256e]
push eax
lea eax, [ebp - 0x2678]
call fcn.00408201
mov byte [ebp - 4], 0xa
or dword [ebp - 0x25b4], 4
lea edx, [ebp - 0x2678]
lea ecx, [ebp - 0x2620]
call fcn.0042c5cd
mov dword [ebp - 4], 0xb
or dword [ebp - 0x25b4], 8
jmp 0x431435
mov eax, dword [ebp - 0x25fc]
push eax
lea ecx, [ebp - 0x140]
call fcn.00408199
mov dword [ebp - 4], 0xc
test byte [ebp - 0x25b4], 8
je 0x431466
and dword [ebp - 0x25b4], 0xfffffff7
push ebx
push 1
lea ecx, [ebp - 0x2620]
call fcn.0040948e
mov byte [ebp - 4], 0xe
test byte [ebp - 0x25b4], 4
je 0x431488
and dword [ebp - 0x25b4], 0xfffffffb
push ebx
push 1
lea esi, [ebp - 0x2678]
call fcn.00409726
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.00408199
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xf
call fcn.00408199
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 - 0x2690]
push eax
mov byte [ebp - 4], 0x10
call fcn.00432cef
mov dword [ebp - 0x2684], ebx
mov dword [ebp - 0x2680], ebx
mov dword [ebp - 0x267c], ebx
mov byte [ebp - 4], 0x12
mov eax, dword [0x49893c]
cmp eax, ebx
jle 0x4315a4
mov esi, dword [ebp - 0x25dc]
push 5
mov edi, str.POST
pop ecx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4315a4
imul eax, eax, 0x3e8
mov dword [ebp - 0x25bc], eax
lea edx, [ebp - 0x2658]
lea eax, [ebp - 0x108]
call fcn.00432c18
mov eax, dword [eax]
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea ecx, [ebp - 0x25bc]
push ecx
push 0x1006
mov edi, 0xffff
push edi
push eax
call esi
lea edx, [ebp - 0x2658]
lea eax, [ebp - 0x108]
call fcn.00432c18
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x25bc]
push ecx
push 0x1005
push edi
push eax
call esi
call fcn.00412e23
mov dword [ebp - 0x25c8], eax
mov eax, fcn.0040c8b2
mov ecx, 0x2af9
mov dword [ebp - 0x25cc], ecx
test eax, eax
je 0x431663
cmp dword [ebp - 0x2690], ebx
je 0x431663
lea esi, [ebp - 0x108]
call fcn.00432ba5
lea eax, [ebp - 0x2610]
push eax
lea esi, [ebp - 0x2690]
call fcn.00432d8d
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 0x43160e
call fcn.00447f91
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 - 0x25cc]
lea edi, [ebp - 0x2628]
lea eax, [ebp - 0x108]
call fcn.00432c5d
lea eax, [ebp - 0x260c]
mov byte [ebp - 4], 0x12
call fcn.004018fc
mov ecx, dword [ebp - 0x25cc]
mov eax, ecx
neg eax
sbb eax, eax
test eax, fcn.0040c8b2
jne 0x4315c7
neg ecx
sbb ecx, ecx
test ecx, fcn.0040c8b2
je 0x4317f4
cmp byte [ebp + 0x24], bl
je 0x431714
lea eax, [ebp - 0x2650]
push eax
lea eax, [ebp - 0x25cc]
call fcn.0040192c
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x18], 0x10
jb 0x43169d
mov eax, dword [eax + 4]
jmp 0x4316a0
add eax, 4
mov edi, dword [ebp - 0x25d8]
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.00409015
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2650]
mov byte [ebp - 4], 0x12
call fcn.0040948e
mov eax, dword [ebp - 0x25e4]
cmp dword [eax + 0x18], 0x10
jb 0x4316df
mov eax, dword [eax + 4]
jmp 0x4316e2
add eax, 4
mov ecx, dword [ebp - 0x25fc]
cmp dword [ecx + 0x18], 0x10
jb 0x4316f3
mov ecx, dword [ecx + 4]
jmp 0x4316f6
add ecx, 4
push eax
mov eax, dword [edi]
push ecx
push dword [ebp - 0x25dc]
mov ecx, edi
push str.Trying_WinInet_for__s_http:___s_s
call dword [eax + 0xc]
mov esi, eax
call fcn.00409015
add esp, 0x10
sub esp, 0x20
lea ecx, [ebp + 0x28]
mov ebx, esp
mov dword [ebp - 0x2608], esp
call fcn.00432a2f
push dword [ebp - 0x25c4]
mov ecx, dword [ebp - 0x25e4]
push dword [ebp - 0x25d4]
push dword [ebp - 0x25ec]
push dword [ebp - 0x25f4]
push dword [ebp - 0x25fc]
push dword [ebp - 0x25dc]
call fcn.004307bb
add esp, 0x38
mov edi, eax
lea eax, [ebp - 0x2680]
mov byte [ebp - 4], 0x11
call fcn.004018fc
lea eax, [ebp - 0x268c]
mov byte [ebp - 4], 0x10
call fcn.004018fc
xor ebx, ebx
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x84]
call fcn.0040948e
push ebx
push esi
lea ecx, [ebp - 0xa0]
call fcn.0040948e
push ebx
push esi
lea ecx, [ebp - 0x140]
call fcn.0040948e
push ebx
push esi
lea ecx, [ebp - 0x124]
call fcn.0040948e
lea eax, [ebp - 0x2634]
push eax
mov byte [ebp - 4], 2
call fcn.00432d42
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 1
call fcn.00433302
lea eax, [ebp - 0x269c]
push eax
mov byte [ebp - 4], bl
call fcn.0042eafd
or dword [ebp - 4], 0xffffffff
lea esi, [ebp + 0x28]
call fcn.004090bc
mov eax, edi
jmp 0x432255
mov eax, dword [ebp - 0x25f4]
lea esi, [ebp - 0x2620]
call fcn.0042baab
mov edi, dword [eax + 8]
mov esi, dword [ebp - 0x25f4]
add edi, dword [eax]
push 2
call fcn.0042ba32
mov eax, dword [ebp - 0x25f4]
lea esi, [ebp - 0x2620]
call fcn.0042baab
mov ecx, dword [eax + 8]
add ecx, dword [eax]
mov esi, dword [ebp - 0x25f4]
sub ecx, edi
push ebx
mov dword [ebp - 0x25bc], ecx
call fcn.0042ba32
push 0xffffffffffffffff
lea eax, [ebp - 0x27c0]
push eax
call fcn.00432df6
push 1
lea eax, [ebp - 0x27c0]
push eax
lea eax, [ebp - 0x26d4]
push eax
mov byte [ebp - 4], 0x15
call fcn.004082b5
push str._HTTP_1.0_r_n
push ecx
mov byte [ebp - 4], 0x16
push dword [ebp - 0x25e4]
lea eax, [ebp - 0x26d4]
push ecx
push 0x476c6c
push ecx
push dword [ebp - 0x25dc]
push eax
call fcn.0040b1f5
add esp, 0xc
push eax
call fcn.0040b1f5
add esp, 0xc
push eax
call fcn.0042c462
add esp, 0xc
push eax
call fcn.0040b1f5
pop ecx
pop ecx
push 0x478240
push ecx
push dword [ebp - 0x25fc]
lea eax, [ebp - 0x26d4]
push ecx
push str.Host:
push eax
call fcn.0040b1f5
add esp, 0xc
push eax
call fcn.0042c462
add esp, 0xc
push eax
call fcn.0040b1f5
lea eax, [ebp - 0x26d4]
push str.Accept:___r_n
push eax
call fcn.0040b1f5
add esp, 0x10
cmp dword [ebp - 0x25bc], ebx
jne 0x43190e
mov esi, dword [ebp - 0x25dc]
push 5
mov edi, str.POST
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x43193e
push 0x478240
push ecx
push dword [ebp - 0x25bc]
lea eax, [ebp - 0x26d4]
push ecx
push str.Content_Length:
push eax
call fcn.0040b1f5
add esp, 0xc
push eax
call fcn.0041f507
pop ecx
push eax
call fcn.0040b1f5
pop ecx
pop ecx
mov edi, 0x478240
cmp dword [ebp - 0x25ec], ebx
je 0x431979
push edi
push ecx
push dword [ebp - 0x25ec]
lea eax, [ebp - 0x26d4]
push ecx
push str.Content_Type:
push eax
call fcn.0040b1f5
add esp, 0xc
push eax
call fcn.0040b1f5
add esp, 0xc
push eax
call fcn.0040b1f5
pop ecx
pop ecx
lea eax, [ebp - 0x26d4]
push str.Connection:_close_r_n
push eax
call fcn.0040b1f5
mov eax, dword [ebp - 0x25d4]
pop ecx
pop ecx
cmp dword [eax + 0x14], ebx
je 0x4319c4
push 0x478294
push ecx
push eax
push ecx
lea eax, [ebp - 0x26d4]
push str.If_None_Match:__
push eax
call fcn.0040b1f5
add esp, 0xc
push eax
call fcn.0042c462
add esp, 0xc
push eax
call fcn.0040b1f5
pop ecx
pop ecx
lea eax, [ebp - 0x26d4]
push edi
push eax
call fcn.0040b1f5
pop ecx
pop ecx
cmp dword [ebp - 0x25bc], ebx
je 0x431a36
mov eax, dword [ebp - 0x26d4]
mov eax, dword [eax + 4]
mov esi, dword [ebp + eax - 0x26ac]
mov eax, dword [ebp - 0x25f4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + eax + 0x28]
push esi
mov byte [ebp - 0x260c], bl
push dword [ebp - 0x260c]
cmp eax, ebx
mov byte [ebp - 0x25bc], 1
push dword [ebp - 0x25bc]
sete cl
push ebx
mov byte [ebp - 0x2624], cl
push dword [ebp - 0x2624]
push eax
lea eax, [ebp - 0x2628]
push eax
call fcn.0043598a
add esp, 0x1c
lea eax, [ebp - 0x27c0]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00435a09
pop ecx
pop ecx
push 0xffffffffffffffff
lea eax, [ebp - 0x2768]
push eax
call fcn.00432df6
push edi
lea ecx, [ebp - 0x2678]
mov byte [ebp - 4], 0x17
call fcn.00408177
lea eax, [ebp - 0x2678]
push eax
lea eax, [ebp - 0x2768]
push eax
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 0x18
call fcn.00435a58
add esp, 0xc
push ebx
push 1
lea ecx, [ebp - 0x2678]
mov byte [ebp - 4], 0x17
call fcn.0040948e
push 1
lea eax, [ebp - 0x2768]
push eax
lea eax, [ebp - 0x2710]
push eax
call fcn.00410979
push 0xf
pop esi
push ebx
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x4c], esi
call fcn.0040a1e8
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x2710]
push eax
mov byte [ebp - 4], 0x1a
call fcn.0042dca7
pop ecx
pop ecx
lea eax, [ebp - 0x25d0]
push eax
lea eax, [ebp - 0x2710]
push eax
call fcn.004327a8
push ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x30], esi
call fcn.0040a1e8
lea eax, [ebp - 0x48]
push eax
lea esi, [ebp - 0x2710]
mov byte [ebp - 4], 0x1b
call fcn.00423d62
mov eax, dword [ebp - 0x2710]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x2708], 6
pop ecx
jne 0x431b4d
push 5
push ebx
lea eax, [ebp - 0x64]
push eax
lea esi, [ebp - 0x2650]
call fcn.0042cb93
mov byte [ebp - 4], 0x1c
or dword [ebp - 0x25b4], 0x10
push str.HTTP_
call fcn.004081dc
mov byte [ebp - 0x25b5], bl
test eax, eax
je 0x431b54
mov byte [ebp - 0x25b5], 1
mov dword [ebp - 4], 0x1b
test byte [ebp - 0x25b4], 0x10
je 0x431b72
push ebx
push 1
lea ecx, [ebp - 0x2650]
call fcn.0040948e
cmp byte [ebp - 0x25b5], bl
je 0x431bb2
push str.Invalid_response
lea ecx, [ebp - 0x2650]
call fcn.00408177
lea eax, [ebp - 0x2650]
push eax
lea eax, [ebp - 0x27e8]
push eax
mov byte [ebp - 4], 0x1d
call fcn.00401273
push 0x4813b8
lea eax, [ebp - 0x27e8]
push eax
call fcn.0044bfd3
mov edi, dword [ebp - 0x25e4]
cmp byte [ebp + 0x24], bl
je 0x431c07
cmp dword [edi + 0x18], 0x10
jb 0x431bc8
mov ecx, dword [edi + 4]
jmp 0x431bcb
lea ecx, [edi + 4]
mov eax, dword [ebp - 0x25fc]
cmp dword [eax + 0x18], 0x10
jb 0x431bdc
mov eax, dword [eax + 4]
jmp 0x431bdf
add eax, 4
push dword [ebp - 0x25d0]
push ecx
mov ecx, dword [ebp - 0x25d8]
push eax
push dword [ebp - 0x25dc]
mov eax, dword [ecx]
push str._s_http:___s_s_status_code:_d
call dword [eax + 0xc]
mov esi, eax
call fcn.00409015
add esp, 0x14
mov eax, dword [ebp - 0x25d0]
sub eax, 0xc8
je 0x431da2
sub eax, 0x68
je 0x431da2
cmp byte [ebp + 0x24], bl
je 0x431c95
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x431c32
lea eax, [ebp - 0x44]
mov ebx, dword [ebp - 0x25d8]
push eax
push dword [ebp - 0x25d0]
mov eax, dword [ebx]
push str.Response_returned_with_bad_status_code__d:__s
mov ecx, ebx
call dword [eax + 0xc]
mov esi, eax
call fcn.00409015
add esp, 0xc
cmp dword [edi + 0x18], 0x10
jb 0x431c60
mov edi, dword [edi + 4]
jmp 0x431c63
add edi, 4
mov eax, dword [ebp - 0x25fc]
cmp dword [eax + 0x18], 0x10
jb 0x431c74
mov eax, dword [eax + 4]
jmp 0x431c77
add eax, 4
push edi
push eax
push dword [ebp - 0x25dc]
mov eax, dword [ebx]
push str.Trying_WinInet_for__s_http:___s_s
mov ecx, ebx
call dword [eax + 0xc]
mov esi, eax
call fcn.00409015
add esp, 0x10
sub esp, 0x20
lea ecx, [ebp + 0x28]
mov ebx, esp
mov dword [ebp - 0x2608], esp
call fcn.00432a2f
push dword [ebp - 0x25c4]
mov ecx, dword [ebp - 0x25e4]
push dword [ebp - 0x25d4]
push dword [ebp - 0x25ec]
push dword [ebp - 0x25f4]
push dword [ebp - 0x25fc]
push dword [ebp - 0x25dc]
call fcn.004307bb
add esp, 0x38
push 0
push 1
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.0040948e
push 0
push 1
lea ecx, [ebp - 0x64]
call fcn.0040948e
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x2710]
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 - 0x2708]
mov edi, vtable.std::ios_base.0
push eax
mov dword [ebp - 0x2708], edi
call fcn.00446e2d
pop ecx
lea esi, [ebp - 0x2728]
mov byte [ebp - 4], 0x16
call fcn.0042bcdc
push dword [ebp - 0x2728]
call fcn.00447a62
pop ecx
lea ecx, [ebp - 0x2768]
call fcn.004083c5
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x26d4]
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 - 0x26d0]
push eax
mov dword [ebp - 0x26d0], edi
call fcn.00446e2d
pop ecx
lea esi, [ebp - 0x2780]
mov byte [ebp - 4], 0x12
call fcn.0042bcdc
push dword [ebp - 0x2780]
call fcn.00447a62
pop ecx
lea ecx, [ebp - 0x27c0]
call fcn.004083c5
mov edi, ebx
jmp 0x43175b
push str._r_n_r_n
lea ecx, [ebp - 0x2678]
call fcn.00408177
lea eax, [ebp - 0x2678]
push eax
lea eax, [ebp - 0x2768]
push eax
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 0x1e
call fcn.00435a58
add esp, 0xc
push ebx
push 1
lea ecx, [ebp - 0x2678]
mov byte [ebp - 4], 0x1b
call fcn.0040948e
push dword [ebp - 0x25d4]
mov dword [ebp - 0x25bc], ebx
call fcn.0043269d
push ebx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.0040a1e8
mov byte [ebp - 4], 0x1f
jmp 0x431f71
push 0x478320
lea eax, [ebp - 0x2c]
call fcn.004081dc
test eax, eax
je 0x431f9e
lea eax, [ebp - 0x2600]
lea ecx, [ebp - 0x2c]
call fcn.004287a0
mov esi, dword [eax + 4]
mov edi, dword [eax]
lea eax, [ebp - 0x25f8]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2624], esi
call fcn.004287c0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x260c], ecx
mov dword [ebp - 0x2608], eax
lea eax, [ebp - 0x25e0]
lea ecx, [ebp - 0x2c]
call fcn.004287a0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x25e8], edi
mov edi, dword [ebp - 0x2608]
mov dword [ebp - 0x25e4], esi
sub edi, eax
lea esi, [ebp - 0x25e8]
mov dword [ebp - 0x25f0], ecx
mov dword [ebp - 0x25ec], eax
call fcn.00437716
mov eax, dword [ebp - 0x25ec]
mov esi, eax
cmp eax, dword [ebp - 0x2608]
je 0x431ec8
mov edi, dword [ebp - 0x2624]
sub edi, eax
movsx eax, byte [esi]
push eax
call fcn.00449b85
mov byte [esi + edi], al
inc esi
pop ecx
cmp esi, dword [ebp - 0x2608]
jne 0x431eb2
lea eax, [ebp - 0x2c]
push eax
mov eax, 0x498a60
call fcn.004326e1
test eax, eax
lea eax, [ebp - 0x2c]
jne 0x431f0e
push 0xffffffffffffffff
push dword [0x498a74]
lea esi, [ebp - 0x2650]
push eax
call fcn.0042cb93
cmp dword [eax + 0x18], 0x10
jb 0x431efc
mov eax, dword [eax + 4]
jmp 0x431eff
add eax, 4
push eax
call fcn.00448e35
pop ecx
mov dword [ebp - 0x25bc], eax
jmp 0x431f53
push eax
mov eax, 0x498a7c
call fcn.004326e1
test eax, eax
jne 0x431f61
mov eax, dword [0x498a90]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
sub ecx, 3
push ecx
inc eax
push eax
lea eax, [ebp - 0x2c]
push eax
lea esi, [ebp - 0x2650]
call fcn.0042cb93
mov ecx, dword [ebp - 0x25d4]
push 0xffffffffffffffff
push ebx
push eax
mov byte [ebp - 4], 0x20
call fcn.0040931f
mov byte [ebp - 4], 0x1f
push ebx
push 1
lea ecx, [ebp - 0x2650]
call fcn.0040948e
cmp byte [ebp + 0x20], bl
jne 0x431f71
mov ecx, dword [ebp - 0x25d8]
mov eax, dword [ecx]
call dword [eax + 0x14]
lea eax, [ebp - 0x2c]
push eax
lea esi, [ebp - 0x2710]
call fcn.00423d62
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 0x431e0f
cmp dword [ebp - 0x25d0], 0x130
je 0x4320df
mov eax, dword [ebp - 0x2744]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2748]
sub eax, dword [ecx]
je 0x431fd2
lea eax, [ebp - 0x2768]
push eax
push dword [ebp - 0x25c4]
call fcn.0041f5f3
mov eax, dword [ebp - 0x25c4]
lea esi, [ebp - 0x2620]
call fcn.00432773
mov ecx, dword [eax + 8]
add ecx, dword [eax]
push dword [ebp - 0x25bc]
push ecx
lea ecx, [ebp + 0x28]
call fcn.00432a64
xor edi, edi
inc edi
mov eax, edi
push eax
lea eax, [ebp - 0x108]
push eax
lea esi, [ebp - 0x25cc]
lea eax, [ebp - 0x2768]
call fcn.00435a9e
pop ecx
pop ecx
test eax, eax
je 0x43208e
mov dword [ebp - 0x2608], edi
mov edi, dword [ebp - 0x25d8]
lea eax, [ebp - 0x2768]
push eax
push dword [ebp - 0x25c4]
call fcn.0041f5f3
mov eax, dword [ebp - 0x25c4]
lea esi, [ebp - 0x2678]
call fcn.00432773
mov ecx, dword [eax + 8]
add ecx, dword [eax]
push dword [ebp - 0x25bc]
push ecx
lea ecx, [ebp + 0x28]
call fcn.00432a64
cmp byte [ebp + 0x20], bl
jne 0x43206a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
push dword [ebp - 0x2608]
lea eax, [ebp - 0x108]
push eax
lea esi, [ebp - 0x25cc]
lea eax, [ebp - 0x2768]
call fcn.00435a9e
pop ecx
pop ecx
test eax, eax
jne 0x432027
call fcn.0042df6f
push 2
pop ecx
mov dword [ebp - 0x260c], ecx
mov dword [ebp - 0x2608], eax
lea eax, [ebp - 0x260c]
lea ecx, [ebp - 0x25cc]
call fcn.0042de5a
test al, al
je 0x4320eb
push str.Failed_to_read_response
push dword [ebp - 0x25c8]
lea edi, [ebp - 0x280c]
push dword [ebp - 0x25cc]
call fcn.00401948
push 0x481cbc
mov eax, edi
jmp 0x431bac
push 1
push 1
lea ecx, [ebp + 0x28]
call fcn.00432a64
mov eax, dword [ebp - 0x25d0]
push ebx
push 1
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2608], eax
call fcn.0040948e
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.0040948e
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.0040948e
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x2710]
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 - 0x2708]
mov edi, vtable.std::ios_base.0
push eax
mov dword [ebp - 0x2708], edi
call fcn.00446e2d
pop ecx
lea esi, [ebp - 0x2728]
mov byte [ebp - 4], 0x16
call fcn.0042bcdc
push dword [ebp - 0x2728]
call fcn.00447a62
pop ecx
lea ecx, [ebp - 0x2768]
call fcn.004083c5
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x26d4]
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 - 0x26d0]
push eax
mov dword [ebp - 0x26d0], edi
call fcn.00446e2d
pop ecx
lea esi, [ebp - 0x2780]
mov byte [ebp - 4], 0x12
call fcn.0042bcdc
push dword [ebp - 0x2780]
call fcn.00447a62
pop ecx
lea ecx, [ebp - 0x27c0]
call fcn.004083c5
lea eax, [ebp - 0x2680]
mov byte [ebp - 4], 0x11
call fcn.004018fc
lea eax, [ebp - 0x268c]
mov byte [ebp - 4], 0x10
call fcn.004018fc
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x84]
call fcn.0040948e
push ebx
push esi
lea ecx, [ebp - 0xa0]
call fcn.0040948e
push ebx
push esi
lea ecx, [ebp - 0x140]
call fcn.0040948e
push ebx
push esi
lea ecx, [ebp - 0x124]
call fcn.0040948e
lea eax, [ebp - 0x2634]
push eax
mov byte [ebp - 4], 2
call fcn.00432d42
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 1
call fcn.00433302
lea eax, [ebp - 0x269c]
push eax
mov byte [ebp - 4], bl
call fcn.0042eafd
or dword [ebp - 4], 0xffffffff
lea esi, [ebp + 0x28]
call fcn.004090bc
mov eax, dword [ebp - 0x2608]
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.00447a6d
leave
ret