Function at 0x41d770
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
mov eax, dword [0x4ff004]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x84], eax
mov cx, word [ebp - 0x84]
mov bl, byte [ebp - 0x82]
push esi
movzx eax, ax
push edi
mov dword [ebp - 0x8c], eax
mov word [ebp - 0x80], cx
mov edx, 0xf0
nop
cmp cx, dx
jb 0x41d7d0
push 0x17d
push str.....yoctolib_v1.0Privatehttpsupport.c
push str.ASSERT_FAILED:_s:_d_n
call fcn.0041cc00
mov cx, word [ebp - 0x80]
add esp, 0xc
movzx eax, cx
lea eax, [eax + eax*4]
movzx ecx, byte [eax*4 + 0xd76590]
lea edi, [eax*4 + 0xd76580]
movzx eax, cx
mov dword [ebp - 0xb0], eax
mov eax, ecx
and eax, 1
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x94], eax
je case.0x41d818.1
movzx eax, byte [edi + 0x11]
cmp eax, 8
ja case.0x41d818.1
jmp dword [eax*4 + 0x41e618]
and ebx, 0xffffff07
or ebx, 0x28
mov byte [ebp - 0x82], bl
mov esi, dword [ebp - 0x84]
push esi
mov dword [ebp - 0x98], ebx
call fcn.0041e9c0
add esp, 4
cmp ax, 0x1c
jb case.0x41d818.1
mov dword [ebp - 0x7c], 0x40000204
call fcn.00408c40
mov ebx, eax
mov dword [ebp - 0xb8], edx
call fcn.00422fd0
xor eax, ebx
mov dword [ebp - 0x64], 0
xor ebx, ebx
mov dword [edi + 0xc], eax
xorps xmm0, xmm0
mov dword [ebp - 0x78], eax
movups xmmword [ebp - 0x74], xmm0
cmp byte [0x500b70], bl
je 0x41d895
cmp ebx, 0x14
jae 0x41d895
inc ebx
cmp byte [ebx + 0x500b70], 0
jne 0x41d886
lea eax, [ebx + 1]
cmp eax, 0x14
jbe 0x41d8c4
push 0x14a
push str.ymemory
push str.YPANIC:_s:_d_n
push 0x14a
push str.ymemory
call fcn.00409950
add esp, 0x14
mov byte [ebp - 0x74], 0
jmp 0x41d8db
push ebx
lea eax, [ebp - 0x74]
push 0x500b70
push eax
call fcn.00444290
add esp, 0xc
mov byte [ebp + ebx - 0x74], 0
push esi
mov edx, 0x1c
lea ecx, [ebp - 0x7c]
call fcn.0041ead0
mov ebx, dword [ebp - 0x98]
add esp, 4
test bl, bl
je 0x41d90d
cmp word [0x541870], 0
je 0x41d914
cmp dword [0x541874], esi
jne 0x41d914
call fcn.0041d3d0
mov ecx, esi
call fcn.0043c3b0
mov byte [edi + 0x11], 1
jmp case.0x41d818.1
and bl, 7
or bl, 0x28
mov byte [ebp - 0x82], bl
mov esi, dword [ebp - 0x84]
push esi
call fcn.0041e9c0
add esp, 4
cmp ax, 0x1c
jb case.0x41d818.1
test byte [edi + 0x10], 8
xorps xmm0, xmm0
mov al, byte [edi + 0x13]
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x64], 0
movq qword [ebp - 0x6c], xmm0
mov byte [ebp - 0x7c], 5
mov byte [ebp - 0x7b], al
je 0x41d970
mov eax, 2
mov word [ebp - 0x7a], ax
jmp 0x41d974
mov ax, word [ebp - 0x7a]
mov cl, byte [edi + 0x11]
cmp cl, 5
je 0x41d9df
or ax, 1
mov word [ebp - 0x7a], ax
cmp cl, 2
jne 0x41d990
mov edx, 0xd47111
jmp 0x41d9a0
cmp cl, 3
mov edx, 0xd47122
mov eax, 0xd471d9
cmovne edx, eax
mov eax, dword [edi + 0xc]
lea ecx, [ebp - 0x3c]
push 1
push 0x10
mov dword [ebp - 0x98], eax
call fcn.00411cd0
push 1
push 4
lea edx, [ebp - 0x98]
lea ecx, [ebp - 0x1c]
call fcn.00411cd0
add esp, 0x10
lea ecx, [ebp - 0x3c]
call fcn.00412860
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x64], eax
movups xmmword [ebp - 0x74], xmm0
push esi
mov edx, 0x1c
lea ecx, [ebp - 0x7c]
call fcn.0041ead0
add esp, 4
test bl, bl
je 0x41da11
cmp word [0x541870], 0
lea ecx, [edi + 0xc]
je 0x41da1b
lea ecx, [edi + 0xc]
cmp dword [0x541874], esi
jne 0x41da1b
call fcn.0041d3d0
mov ecx, esi
call fcn.0043c3b0
lea ecx, [edi + 0xc]
mov byte [edi + 0x11], 6
mov dword [ecx], 0
jmp case.0x41d818.1
and bl, 7
or bl, 0x28
mov byte [ebp - 0x82], bl
mov esi, dword [ebp - 0x84]
push esi
call fcn.0041e9c0
add esp, 4
cmp ax, 6
jb case.0x41d818.6
test byte [edi], 1
je 0x41da89
test byte [edi + 1], 1
jne 0x41da89
movsx eax, word [edi + 4]
lea ecx, [ebp - 0x7c]
imul eax, eax, 0xd8
mov edx, 6
push esi
mov word [ebp - 0x7c], 7
mov eax, dword [eax + 0xd69a20]
mov dword [ebp - 0x7a], eax
call fcn.0041ead0
add esp, 4
push esi
call fcn.0041ebe0
add esp, 4
mov byte [edi + 0x11], 6
mov al, byte [edi + 2]
xor al, byte [edi + 1]
movzx eax, al
mov dword [ebp - 0x90], eax
test ax, ax
je case.0x41d818.1
and bl, 7
xor cl, cl
or bl, 8
mov di, ax
movzx eax, di
mov dword [ebp - 0x98], eax
mov al, bl
xor al, cl
add cl, 1
and al, 7
mov byte [ebp - 0x7d], cl
xor bl, al
test byte [ebp - 0x90], 1
mov byte [ebp - 0x82], bl
je 0x41daf7
mov esi, dword [ebp - 0x84]
push esi
call fcn.0041e9c0
add esp, 4
cmp ax, 1
jb 0x41daf4
push esi
call fcn.0041d610
add esp, 4
mov cl, byte [ebp - 0x7d]
shr di, 1
cmp word [ebp - 0x98], 2
mov word [ebp - 0x90], di
jae 0x41dab0
mov edi, dword [ebp - 0xb4]
jmp case.0x41d818.1
and bl, 7
or bl, 0x28
mov byte [ebp - 0x82], bl
mov esi, dword [ebp - 0x84]
push esi
call fcn.0041e9c0
add esp, 4
cmp ax, 4
jb case.0x41d818.1
mov ax, word [edi + 0xc]
lea ecx, [ebp - 0x7c]
push esi
mov edx, 4
mov word [ebp - 0x7c], 6
mov word [ebp - 0x7a], ax
call fcn.0041ead0
add esp, 4
cmp word [0x541870], 0
je 0x41db71
cmp dword [0x541874], esi
jne 0x41db71
call fcn.0041d3d0
mov ecx, esi
call fcn.0043c3b0
mov byte [edi + 0x11], 9
mov ecx, dword [ebp - 0x8c]
call fcn.0043c780
movzx esi, ax
mov dword [ebp - 0xa4], esi
test si, si
je 0x41e604
cmp word [ebp - 0x94], 0
je 0x41e51a
test byte [ebp - 0xa0], 4
jne 0x41e604
cmp esi, 2
jb 0x41e604
movzx eax, si
cmp esi, 7
jb 0x41dbc3
mov eax, 7
mov ecx, dword [ebp - 0x8c]
lea edx, [ebp - 0x10]
push 0
push eax
call fcn.0043c8d0
mov cl, byte [ebp - 0xf]
add esp, 8
mov al, cl
and al, 0x7f
movzx edx, al
mov dword [ebp - 0x9c], edx
cmp edx, 0x7d
ja 0x41e526
movzx eax, dx
mov dword [ebp - 0xb8], eax
movzx esi, si
test cl, cl
jns 0x41dc1a
add eax, 6
mov dword [ebp - 0x90], 6
cmp esi, eax
jb 0x41e604
mov ecx, dword [ebp - 0xe]
jmp 0x41dc31
add eax, 2
mov dword [ebp - 0x90], 2
cmp esi, eax
jb 0x41e604
xor ecx, ecx
mov ah, byte [ebp - 0x10]
mov esi, dword [ebp - 0xb0]
mov al, ah
and esi, 0x10
mov dword [ebp - 0xa8], ecx
and al, 0x7f
mov dword [ebp - 0xb0], esi
movzx esi, si
cmp al, 2
je 0x41dd5c
cmp word [ebp - 0xb0], 0
jne 0x41dd5c
cmp ah, 0x88
jne 0x41dd09
mov esi, dword [ebp - 0x8c]
mov ecx, esi
call fcn.0043c5e0
cmp ax, 8
jb 0x41e604
test byte [ebp - 0xa0], 2
mov word [ebp - 0xf], 0x302
mov byte [ebp - 0xd], 0xe8
je 0x41dce3
call fcn.00422fd0
mov cl, al
mov dword [ebp - 0x98], eax
xor cl, 3
shr eax, 8
mov byte [ebp - 0xe], cl
lea edx, [ebp - 0x10]
xor al, 0xe8
mov byte [ebp - 0xf], 0x82
push 2
mov ecx, esi
mov byte [ebp - 0xd], al
call fcn.0043c6a0
add esp, 4
lea edx, [ebp - 0x98]
mov ecx, esi
push 4
call fcn.0043c6a0
add esp, 4
lea edx, [ebp - 0xe]
mov eax, 2
jmp 0x41dceb
lea edx, [ebp - 0x10]
mov eax, 4
push eax
mov ecx, esi
call fcn.0043c6a0
add esp, 4
mov ecx, esi
call fcn.0043c3b0
or byte [edi + 0x10], 4
mov edx, dword [ebp - 0x9c]
jmp 0x41dd3e
mov ecx, 0x4f94a8
call fcn.00436650
mov cl, byte [ebp - 0x10]
call fcn.00436560
mov cl, byte [ebp - 0xf]
call fcn.00436560
push 0xa
push 0x4fa910
call fcn.004362a0
mov edx, dword [ebp - 0x9c]
add esp, 8
mov esi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
add eax, edx
mov ecx, esi
xor edx, edx
push eax
call fcn.0043c810
mov cx, word [ebp - 0x80]
add esp, 4
jmp 0x41d7a9
mov eax, dword [ebp - 0x90]
movzx eax, ax
mov dword [ebp - 0xb0], 1
mov al, byte [ebp + eax - 0x10]
xor al, cl
mov bl, al
mov byte [ebp - 0x82], bl
test si, si
je 0x41ddb3
test byte [ebp - 0x10], 0x80
mov cl, byte [edi + 0x12]
mov bl, cl
mov dword [ebp - 0xb0], 0
mov byte [ebp - 0x82], bl
je 0x41dda9
and dword [ebp - 0xa0], 0xffef
jmp 0x41dde6
mov al, cl
and al, 0xf8
cmp al, 0x10
jne 0x41dde6
jmp 0x41ddd8
cmp byte [ebp - 0x10], 2
mov cl, al
jne 0x41dde6
mov ah, al
shr ah, 3
cmp ah, 5
je 0x41dd38
or dword [ebp - 0xa0], 0x10
mov byte [edi + 0x12], al
cmp ah, 2
jne 0x41dde6
and cl, 7
or cl, 8
mov bl, cl
mov byte [ebp - 0x82], bl
shr cl, 3
cmp cl, 5
jne 0x41dfc5
movzx eax, byte [edi + 0x11]
sub eax, 1
je 0x41de1d
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
add eax, edx
xor edx, edx
push eax
call fcn.0043c810
mov cx, word [ebp - 0x80]
add esp, 4
jmp 0x41d7a9
push dword [ebp - 0x90]
mov esi, dword [ebp - 0x8c]
xor edx, edx
mov ecx, esi
call fcn.0043c810
mov eax, dword [ebp - 0x9c]
add esp, 4
cmp ax, 0x1d
jne 0x41dd46
push 0x1d
lea edx, [ebp - 0x7c]
mov ecx, esi
call fcn.0043c810
mov edx, dword [ebp - 0xa8]
add esp, 4
test edx, edx
je 0x41de70
lea eax, [ebp - 0x7c]
mov ecx, 8
xor dword [eax], edx
lea eax, [eax + 4]
sub ecx, 1
jne 0x41de66
push 0x1c
lea eax, [ebp - 0x7b]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00445850
add esp, 0xc
cmp byte [ebp - 0x7c], 5
jne 0x41dfaf
mov al, byte [ebp - 0x7b]
cmp al, 2
ja 0x41dfaf
movzx eax, al
jb 0x41dea1
mov eax, 2
cmp byte [0xd47110], 0
mov esi, dword [ebp - 0x7a]
mov byte [edi + 0x13], al
je 0x41deec
and esi, 1
je 0x41dee6
mov ecx, dword [edi + 0xc]
lea eax, [ebp - 0x74]
push 0
push eax
mov edx, 0xd47111
call fcn.00412070
add esp, 8
test eax, eax
je 0x41dee6
mov eax, dword [ebp - 0x78]
or byte [edi + 0x10], 8
mov cx, word [ebp - 0x80]
mov dword [edi + 0xc], eax
mov byte [edi + 0x11], 2
jmp 0x41d7a9
and byte [edi + 0x10], 0xf7
jmp 0x41def3
or byte [edi + 0x10], 8
and esi, 1
cmp byte [0xd47121], 0
je 0x41df35
test si, si
je 0x41df2e
mov ecx, dword [edi + 0xc]
lea eax, [ebp - 0x74]
push 0
push eax
mov edx, 0xd47122
call fcn.00412070
add esp, 8
test eax, eax
je 0x41df2e
mov eax, dword [ebp - 0x78]
mov cx, word [ebp - 0x80]
mov dword [edi + 0xc], eax
mov byte [edi + 0x11], 3
jmp 0x41d7a9
mov eax, 1
jmp 0x41df37
xor eax, eax
test byte [ebp - 0xa0], 2
je 0x41df80
cmp byte [0xd471d8], 0
jbe 0x41df80
test si, si
je 0x41df7b
mov ecx, dword [edi + 0xc]
lea eax, [ebp - 0x74]
push 0
push eax
mov edx, 0xd471d9
call fcn.00412070
add esp, 8
test eax, eax
je 0x41df7b
mov eax, dword [ebp - 0x78]
mov cx, word [ebp - 0x80]
mov dword [edi + 0xc], eax
mov byte [edi + 0x11], 4
jmp 0x41d7a9
mov eax, 1
test eax, eax
je 0x41df9b
mov eax, 0x191
mov word [edi + 0xc], ax
mov al, 8
mov byte [edi + 0x11], al
mov cx, word [ebp - 0x80]
jmp 0x41d7a9
mov eax, dword [ebp - 0x78]
mov dword [edi + 0xc], eax
mov al, 5
mov byte [edi + 0x11], al
mov cx, word [ebp - 0x80]
jmp 0x41d7a9
mov cx, word [ebp - 0x80]
mov eax, 0x190
mov word [edi + 0xc], ax
mov byte [edi + 0x11], 8
jmp 0x41d7a9
mov byte [ebp - 0x85], 0
mov byte [ebp - 0x7d], 0
cmp cl, 2
je 0x41dfdd
mov al, bl
and al, 0xf8
cmp al, 0x48
jne 0x41dff4
mov ah, bl
and bl, 7
shr ah, 3
or bl, 8
mov byte [ebp - 0x85], ah
mov byte [ebp - 0x82], bl
mov al, bl
and al, 0xf8
cmp al, 8
jne 0x41dd38
mov al, bl
and al, 7
mov byte [ebp - 0xa9], al
cmp al, 4
jae 0x41dd38
mov esi, dword [ebp - 0x84]
movzx eax, bl
and eax, 7
mov byte [ebp - 0x86], 1
mov ecx, eax
mov dword [ebp - 0xa4], eax
mov ch, byte [ebp - 0x86]
shl ch, cl
mov byte [ebp - 0x86], ch
test byte [edi], ch
jne 0x41e0a1
push esi
call fcn.004230d0
add esp, 4
test eax, eax
je 0x41e4d0
mov eax, dword [ebp - 0xa4]
cmp word [edi + eax*2 + 4], 0
jl 0x41e067
push esi
call fcn.0041d310
add esp, 4
mov eax, 0xf1
cmp word [0x500b8c], ax
jge 0x41e4ab
mov al, byte [ebp - 0x86]
or byte [edi], al
push esi
call fcn.0041d1d0
add esp, 4
push esi
call fcn.00423130
mov edx, dword [ebp - 0x9c]
add esp, 4
mov eax, dword [ebp - 0xa4]
jmp 0x41e0b5
test byte [edi + 3], ch
jne 0x41e4f5
cmp byte [eax + edi + 0xc], 0
jne 0x41e604
movzx ecx, word [edi + eax*2 + 4]
test cx, cx
js 0x41e3f2
sub edx, dword [ebp - 0xb0]
movzx eax, dx
mov dword [ebp - 0x94], eax
movsx eax, cx
imul eax, eax, 0xd8
mov dword [ebp - 0xb8], eax
lea eax, [eax + 0xd69a24]
mov ecx, eax
mov dword [ebp - 0x98], eax
call fcn.00411960
cmp ax, word [ebp - 0x94]
jb 0x41e604
mov edx, dword [ebp - 0xb8]
mov ecx, 0x400
mov ax, word [edx + 0xd69a20]
and ax, cx
movzx ecx, ax
mov eax, dword [ebp - 0x94]
movzx eax, ax
add dword [edx + 0xd69a20], eax
mov eax, dword [edx + 0xd69a20]
and eax, 0x400
cmp cx, ax
je 0x41e14b
cmp byte [ebp - 0xa9], 0
jne 0x41e14b
cmp byte [edi + 0x13], 2
jb 0x41e14b
mov byte [edi + 0x11], 7
mov eax, dword [ebp - 0xa0]
xor edx, edx
push dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
mov byte [edi + 0x10], al
call fcn.0043c810
mov eax, dword [ebp - 0x9c]
add esp, 4
cmp ax, 0x40
movzx eax, ax
jb 0x41e17e
mov eax, 0x40
mov ecx, dword [ebp - 0x8c]
lea edx, [ebp - 0x7c]
push eax
call fcn.0043c810
add esp, 4
movzx ecx, ax
cmp dword [ebp - 0xa8], 0
mov dword [ebp - 0x94], ecx
je 0x41e278
movzx edx, cx
xor ecx, ecx
add edx, 3
shr edx, 2
test edx, edx
je 0x41e250
cmp edx, 0x10
jb 0x41e250
movd xmm0, dword [ebp - 0xa8]
mov eax, edx
and eax, 0xf
pshufd xmm1, xmm0, 0
mov edi, edx
sub edi, eax
xor eax, eax
mov dword [ebp - 0xb8], edi
lea edi, [ecx + 8]
mov esi, dword [ebp - 0xb8]
nop dword [eax]
movups xmm0, xmmword [ebp + eax*4 - 0x7c]
add ecx, 0x10
pxor xmm0, xmm1
movups xmmword [ebp + eax*4 - 0x7c], xmm0
lea eax, [edi - 4]
movzx eax, ax
movups xmm0, xmmword [ebp + eax*4 - 0x7c]
pxor xmm0, xmm1
movups xmmword [ebp + eax*4 - 0x7c], xmm0
movzx eax, di
movups xmm0, xmmword [ebp + eax*4 - 0x7c]
pxor xmm0, xmm1
movups xmmword [ebp + eax*4 - 0x7c], xmm0
lea eax, [edi + 4]
add edi, 0x10
movzx eax, ax
movups xmm0, xmmword [ebp + eax*4 - 0x7c]
pxor xmm0, xmm1
movups xmmword [ebp + eax*4 - 0x7c], xmm0
movzx eax, cx
cmp eax, esi
jl 0x41e1f0
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0xb4]
movzx eax, cx
cmp eax, edx
jae 0x41e272
mov esi, dword [ebp - 0xa8]
nop dword [eax]
xor dword [ebp + eax*4 - 0x7c], esi
inc ecx
movzx eax, cx
cmp eax, edx
jb 0x41e260
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x9c]
sub eax, ecx
cmp byte [ebp - 0x85], 9
mov dword [ebp - 0x9c], eax
jne 0x41e2a4
test ax, ax
jne 0x41e2a4
add ecx, 0xffff
movzx eax, cx
mov al, byte [ebp + eax - 0x7c]
mov byte [ebp - 0x7d], al
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0x7c]
sub ecx, eax
movzx eax, ax
push ecx
mov ecx, dword [ebp - 0x98]
add edx, eax
call fcn.004114b0
mov eax, dword [ebp - 0x9c]
add esp, 4
test ax, ax
je 0x41e43c
mov ecx, dword [ebp - 0x8c]
lea edx, [ebp - 0x7c]
push eax
call fcn.0043c810
add esp, 4
movzx ecx, ax
cmp dword [ebp - 0xa8], 0
mov dword [ebp - 0x94], ecx
je 0x41e3c8
movzx edx, cx
xor ecx, ecx
add edx, 3
shr edx, 2
test edx, edx
je 0x41e3a0
cmp edx, 0x10
jb 0x41e3a0
movd xmm0, dword [ebp - 0xa8]
mov eax, edx
and eax, 0xf
pshufd xmm1, xmm0, 0
mov edi, edx
sub edi, eax
xor eax, eax
mov dword [ebp - 0xb8], edi
lea edi, [ecx + 8]
mov esi, dword [ebp - 0xb8]
nop dword [eax]
movups xmm0, xmmword [ebp + eax*4 - 0x7c]
add ecx, 0x10
pxor xmm0, xmm1
movups xmmword [ebp + eax*4 - 0x7c], xmm0
lea eax, [edi - 4]
movzx eax, ax
movups xmm0, xmmword [ebp + eax*4 - 0x7c]
pxor xmm0, xmm1
movups xmmword [ebp + eax*4 - 0x7c], xmm0
movzx eax, di
movups xmm0, xmmword [ebp + eax*4 - 0x7c]
pxor xmm0, xmm1
movups xmmword [ebp + eax*4 - 0x7c], xmm0
lea eax, [edi + 4]
add edi, 0x10
movzx eax, ax
movups xmm0, xmmword [ebp + eax*4 - 0x7c]
pxor xmm0, xmm1
movups xmmword [ebp + eax*4 - 0x7c], xmm0
movzx eax, cx
cmp eax, esi
jl 0x41e340
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0xb4]
movzx eax, cx
cmp eax, edx
jae 0x41e3c2
mov edi, dword [ebp - 0xa8]
nop dword [eax]
xor dword [ebp + eax*4 - 0x7c], edi
inc ecx
movzx eax, cx
cmp eax, edx
jb 0x41e3b0
mov edi, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x94]
cmp byte [ebp - 0x85], 9
jne 0x41e3e1
add ecx, 0xffff
movzx eax, cx
mov al, byte [ebp + eax - 0x7c]
mov byte [ebp - 0x7d], al
push ecx
mov ecx, dword [ebp - 0x98]
lea edx, [ebp - 0x7c]
call fcn.004114b0
jmp 0x41e439
cmp dx, 1
jbe 0x41e41a
mov eax, dword [ebp - 0xb8]
dec eax
push eax
mov eax, dword [ebp - 0xa4]
push eax
push str._WS_d:drop__d_data_bytes__n
call fcn.004362a0
mov edx, dword [ebp - 0x9c]
add esp, 0xc
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
add eax, edx
push eax
xor edx, edx
call fcn.0043c810
mov eax, dword [ebp - 0xa0]
mov byte [edi + 0x10], al
add esp, 4
mov al, byte [ebp - 0x85]
mov edx, 0xf0
mov cx, word [ebp - 0x80]
test al, al
je 0x41d7b0
cmp al, 9
jne 0x41e476
mov eax, dword [ebp - 0xa4]
mov cl, byte [ebp - 0x7d]
push esi
mov byte [eax + edi + 0xc], cl
call fcn.0041d610
mov cx, word [ebp - 0x80]
add esp, 4
jmp 0x41d7a9
mov al, byte [ebp - 0x86]
or byte [edi + 3], al
cmp word [0x541870], 0
jbe 0x41e499
cmp esi, dword [0x541874]
jne 0x41e499
xor eax, eax
mov word [0x541870], ax
push esi
call fcn.0041d610
mov cx, word [ebp - 0x80]
add esp, 4
jmp 0x41d7a9
movzx eax, bl
and eax, 7
push eax
push str.WS:_no_more_strym_buff_for_tcpchan__d_n
call fcn.004362a0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004423fe
mov esp, ebp
pop ebp
ret
movzx eax, bl
and eax, 7
push eax
push str.WS:_no_more_accept_slot_from_tcpchan__d_n
call fcn.004362a0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004423fe
mov esp, ebp
pop ebp
ret
movzx eax, bl
and eax, 7
push eax
push str.WS:_Cannot_accept_tcpchan__d__prev_request_not_completed_n
call fcn.004362a0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004423fe
mov esp, ebp
pop ebp
ret
mov al, bl
and al, 0xf8
cmp al, 0x40
jne 0x41e548
test bl, bl
je 0x41e563
mov ecx, dword [ebp - 0x8c]
xor edx, edx
push esi
call fcn.0043c810
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004423fe
mov esp, ebp
pop ebp
ret
test bl, bl
je 0x41e563
push 0x2d2
push str.....yoctolib_v1.0Privatehttpsupport.c
push str.ASSERT_FAILED:_s:_d_n
call fcn.0041cc00
add esp, 0xc
movzx eax, word [edi + 4]
test ax, ax
js 0x41e604
cwde
imul eax, eax, 0xd8
push dword [eax + 0xd69a34]
lea edi, [eax + 0xd69a24]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ax, word [edi]
sub ax, word [edi + 2]
push dword [edi + 0x10]
movzx ebx, ax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp si, bx
jbe 0x41e5a9
mov esi, ebx
mov dword [ebp - 0xa4], esi
test si, si
je 0x41e604
nop
mov eax, 0x40
cmp si, 0x40
ja 0x41e5be
movzx eax, si
mov ecx, dword [ebp - 0x8c]
lea edx, [ebp - 0x7c]
push eax
call fcn.0043c810
add esp, 4
movzx esi, ax
push dword [edi + 0x10]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
lea edx, [ebp - 0x7c]
mov ecx, edi
call fcn.00411400
add esp, 4
push dword [edi + 0x10]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub dword [ebp - 0xa4], esi
mov esi, dword [ebp - 0xa4]
test si, si
jne 0x41e5b0
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004423fe
mov esp, ebp
pop ebp
ret